请教一下组合代码
本帖最后由 惜惜2 于 2024-12-23 09:01 编辑(defun c:Pq (/ b count ent ent-data ss)
(setq f1 "0")
(command "LAYER")
(command "off")
(command "*")
(command "y")
(command "on")
(command (EVAL F1))
(command "")
(c:HZQ-085)
(setq user_input "A")
(defun dcb (L)
(cond
((null L) nil)
((atom L)(list L))
((atom (car L))(cons (car L) (dcb (cdr L))))
((append (dcb (car L))(dcb (cdr L))))
)
)
(setq ss (ssget "X" '((0 . "DIMENSION")))) ; 选择所有标注
(setq b nil)
(if ss
(progn
(setq count (sslength ss))
(repeat count
(setq ent (ssname ss (setq count (1- count))))
(setq ent-data (entget ent))
(setq b (dcb ent-data))
(foreach str b
(if
(or
(= str "AcDbRadialDimension")
(= str "AcDbDiametricDimension")
)
(entdel ent)
)
)
)
)
)
(command "layer")
(command "on")
(command "*")
(command "")
(command "LAYER")
(command "THAW")
(command "*")
(command "")
(command "LAYER")
(command "U")
(command "*")
(command "")
(princ)
)
(c:HZQ-085)
(setq user_input "A") 前面这个命令是第三方插件自带的命令,执行后让用户选着一个对象,然后输入栏提示指定基点或 如何默认执行A(左下角),我希望默认一个值即可,比如A,不再需要用户手动键入,需要怎么实现,谢谢
想多了属于是 左上、左下、右上、右下。我猜这是图元包围框的4个角点。 masterlong 发表于 2024-12-23 10:28
想多了属于是
好吧 谢谢:handshake 要么改这个命令里的代码(c:HZQ-085)
要么处理变量(if (or (= user_input "") (null user_input))
(setq user_input "A")
) 把c:HZQ-085升格为命令,然后用vla-sendcommand模拟默认输入A 这种command用法,只有反编译的代码中才会有。
页:
[1]