宏命令帮助
你好有人可以帮我,告诉我或解释给我如何创建新的层与宏。我想定义一个新的按钮,当我按下它将使新层,并要求我定义新层的名称和颜色。
我是个新手。
我使用LISP只找到了这段代码。但我想要按钮的宏。
(defun c:SetLayer(/ name col)
(if (setq name (getstring t "New layer name: "))
(if (tblsearch "LAYER" name)
(progn (prompt "Layer already exists, set as current.") (setvar "CLayer" name))
(if (setq col (acad_colordlg 7 nil))
(progn (entmake (list '(0 . "LAYER")
'(100 . "AcDbSymbolTableRecord")
'(100 . "AcDbLayerTableRecord")
'(70 . 0)
(cons 2 name)
(cons 62 col)))
(prompt "Layer created and set current.")
(setvar "CLayer" name)))))
(princ))
谢谢你们抽出时间,伙计们,祝你们度过愉快的一天 为下面的getvals3问题添加类似DCL的内容。lsp
; can add linetype if required
(defun c:SetLayer(/ name col )
(if (not AH:Getval3)(Load "getval3"))
(ah:getval3 "Enter layer name"12 10 "New" "Enter Colour" 5 4 "3" "Enter Linetype"12 10 "Continuous")
(setq name val1 col val2)
(if (tblsearch "LAYER" name)
(progn (prompt "Layer already exists, set as current.") (setvar "CLayer" name))
(if (setq col (acad_colordlg 7 nil))
(progn (entmake (list '(0 . "LAYER")
'(100 . "AcDbSymbolTableRecord")
'(100 . "AcDbLayerTableRecord")
'(70 . 0)
(cons 2 name)
(cons 62 col)))
; add linetype here
(prompt "Layer created and set current.")
(setvar "CLayer" name))))
(princ))
GETVALS3.lsp 谢谢你,比格尔,但我想知道如何在宏中做到这一点。
https://i.imgur.com/JzJAdgE.png
我的意思是怎么在这里写。
对不起我的英语 ^c^c^p(如果(非c:setlayer)(加载“setlayer”))(c:setlayer) 非常感谢:-)太棒了 有没有办法把它全部写成宏,而不仅仅是作为该命令的参考链接?谢谢你抽出时间 未经测试:
^C^C-LA M \C
关于暂停宏以供用户输入:http://help.autodesk.com/view/OARX/2018/ENU/?guid=GUID-9D921CDD-89A3-44AB-865A-00F8986611F2
页:
[1]