rotaidar 发表于 2022-7-6 23:19:18

宏命令帮助

你好有人可以帮我,告诉我或解释给我如何创建新的层与宏。
我想定义一个新的按钮,当我按下它将使新层,并要求我定义新层的名称和颜色。
我是个新手。
 
我使用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))
 
谢谢你们抽出时间,伙计们,祝你们度过愉快的一天

BIGAL 发表于 2022-7-6 23:36:53

为下面的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

rotaidar 发表于 2022-7-6 23:47:40

谢谢你,比格尔,但我想知道如何在宏中做到这一点。
https://i.imgur.com/JzJAdgE.png
 
我的意思是怎么在这里写。
对不起我的英语

BIGAL 发表于 2022-7-6 23:57:30

^c^c^p(如果(非c:setlayer)(加载“setlayer”))(c:setlayer)

rotaidar 发表于 2022-7-7 00:01:23

非常感谢:-)太棒了

rotaidar 发表于 2022-7-7 00:16:03

有没有办法把它全部写成宏,而不仅仅是作为该命令的参考链接?谢谢你抽出时间

tombu 发表于 2022-7-7 00:20:41

未经测试:
^C^C-LA M \C
关于暂停宏以供用户输入:http://help.autodesk.com/view/OARX/2018/ENU/?guid=GUID-9D921CDD-89A3-44AB-865A-00F8986611F2
页: [1]
查看完整版本: 宏命令帮助