戏男 发表于 2023-6-5 08:55:47

有关标注尺寸问题

怎么实现框选尺寸后,中键滚轮来放大缩小尺寸,并自动调整好尺寸位置间隙来适合整个图面?

foolishzy 发表于 2023-6-5 10:48:22

本帖最后由 foolishzy 于 2023-6-5 10:51 编辑

(defun c:tt(/ ss sslist flag vps mod key dert pickset_to_enamelist )
(defun pickset_to_enamelist(pickset / ss sslst )
(setq ss pickset sslst '())
(while (setq n (ssname ss 0))
    (progn
      (setq sslst (append sslst (list n)))
      (ssdel n ss)
    )
)
sslst
)
(setq ss (ssget (list (cons 0 "DIMENSION"))))
(setq sslist (pickset_to_enamelist ss))
(setq flag t)
(while flag
    (progn
      (setq
      vps (grread t 6 0)
      mod (car vps)
      dert 0
      )
      (princ "\n 放大/w,缩小/s:")
      (if (= 2 mod)
      (progn
          (setq key (cadr vps))
          (cond
            ((or (= key 87)(= key 119))(setq dert 1))
            ((or (= key 115) (= key 83))(setq dert -1))
          )         
      (foreach s sslist
      (progn
          (vlax-put-property
            (vlax-ename->vla-object s)
            'TextHeight
            (+
            (vlax-get-property
                (vlax-ename->vla-object s)
                'TextHeight
            )
            dert
            )
          )
      ))
      (redraw)
      )
      )      
    )
)

)

foolishzy 发表于 2023-6-5 10:46:46

LISP好像是无法访问鼠标滚轮的,可以用按键实现标注文字的缩放,你说的“自动调整好尺寸位置间隙来适合整个图面”不知道是什么意思。

飞雪神光 发表于 2023-6-5 09:51:30

用lisp是办不到了 我是想不出来有什么办法

戏男 发表于 2023-6-5 11:41:38

:handshake

戏男 发表于 2023-6-5 11:42:44

foolishzy 发表于 2023-6-5 10:48


好像加载不了

bai2000 发表于 2023-6-5 16:04:34

缩小时出现:Error: Automation 错误。 必须为正

foolishzy 发表于 2023-6-6 08:49:45

本帖最后由 foolishzy 于 2023-6-6 09:03 编辑

bai2000 发表于 2023-6-5 16:04
缩小时出现:Error: Automation 错误。 必须为正
标注字体高度必须为正,缩小缩过头了

bai2000 发表于 2023-6-6 09:34:50

不错,能把“文字”“线性比例”“填充比例”集成到一起么?

刚开始 发表于 2023-6-6 11:13:35

能用,不错,感谢分享。
页: [1] 2
查看完整版本: 有关标注尺寸问题