Shady_Potato 发表于 2022-7-5 15:48:25

将局部变量与op一起使用

问候语,
 
我正在编写一个测试lisp,看看是否可以自动绑定现有的外部参照&将有界块参照转换回外部参照。虽然我能够自动绑定,但我意识到express工具(-blocktoxref)与lisp不兼容,因为它似乎无法找到命令。然后我创建了一个脚本,允许我设置一个open命令,但我似乎无法将局部变量(BLKNAME和NEWFILEPATH)与script命令一起使用。所以我的问题是,可以通过lisp编写脚本吗?如果是这样,怎么办?
 
(defun c:ws_Layer_copy ()
(vl-load-com)
(setq en (ssget "x" '((0 . "insert") (8 . "XREF - ELECTRICAL - 1"))))
(setq ent (ssname en 0))
(setq EN (entget ent))
(setq layno (vl-string-left-trim "XREF - ELECTRICAL - " (cdr(assoc 8 EN))))
(setq dwgpath (getvar "dwgprefix"))
(setq dwgname (getvar "dwgname"))
(setq nametrim (vl-string-right-trim "HVAC LAYOUT.dwg" dwgname))
(if (= layno "1")
(setq layname "1st")
)
(if (= layno "2")
(setq layname "2nd")
)
(if (= layno "3")
(setq layname "3rd")
)
(if (= layno "4")
(setq layname "4th")
)
(if (= layno "5")
(setq layname "5th")
)
(setq newfilepath (strcat nametrim layname " Floor Electrical" ))
(setq blkname (vl-string-left-trim dwgpath newfilepath))
(command "-xref" "bind" newfilepath )
;----------------------------------------------------------------------
(command "script" "blocktoxref.scr" )
)

BIGAL 发表于 2022-7-5 17:38:46

许多express工具都可以通过lisp访问,不过您需要查看express 2的lisp代码。extrim&Tcircle可以访问,但不能通过这些名称访问。将尝试在lisp中查找。
页: [1]
查看完整版本: 将局部变量与op一起使用