乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 24|回复: 6

[综合讨论] 宏命令帮助

[复制链接]

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 23:19:18 | 显示全部楼层 |阅读模式
你好有人可以帮我,告诉我或解释给我如何创建新的层与宏。
我想定义一个新的按钮,当我按下它将使新层,并要求我定义新层的名称和颜色。
我是个新手。
 
我使用LISP只找到了这段代码。但我想要按钮的宏。
  1. (defun c:SetLayer  (/ name col)
  2. (if (setq name (getstring t "New layer name: "))
  3.    (if (tblsearch "LAYER" name)
  4.      (progn (prompt "Layer already exists, set as current.") (setvar "CLayer" name))
  5.      (if (setq col (acad_colordlg 7 nil))
  6.        (progn (entmake (list '(0 . "LAYER")
  7.                              '(100 . "AcDbSymbolTableRecord")
  8.                              '(100 . "AcDbLayerTableRecord")
  9.                              '(70 . 0)
  10.                              (cons 2 name)
  11.                              (cons 62 col)))
  12.               (prompt "Layer created and set current.")
  13.               (setvar "CLayer" name)))))
  14. (princ))

 
谢谢你们抽出时间,伙计们,祝你们度过愉快的一天
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 23:36:53 | 显示全部楼层
为下面的getvals3问题添加类似DCL的内容。lsp
 
  1. ; can add linetype if required
  2. (defun c:SetLayer  (  / name col )
  3. (if (not AH:Getval3)(Load "getval3"))
  4. (ah:getval3 "Enter layer name"12 10 "New" "Enter Colour" 5 4 "3" "Enter Linetype"12 10 "Continuous")
  5. (setq name val1 col val2)
  6.     (if (tblsearch "LAYER" name)
  7.      (progn (prompt "Layer already exists, set as current.") (setvar "CLayer" name))
  8.      (if (setq col (acad_colordlg 7 nil))
  9.        (progn (entmake (list '(0 . "LAYER")
  10.                              '(100 . "AcDbSymbolTableRecord")
  11.                              '(100 . "AcDbLayerTableRecord")
  12.                              '(70 . 0)
  13.                              (cons 2 name)
  14.                              (cons 62 col)))
  15. ; add linetype here
  16.               (prompt "Layer created and set current.")
  17.               (setvar "CLayer" name))))
  18. (princ))

GETVALS3.lsp
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 23:47:40 | 显示全部楼层
谢谢你,比格尔,但我想知道如何在宏中做到这一点。

                               
登录/注册后可看大图

 
我的意思是怎么在这里写。
对不起我的英语
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 23:57:30 | 显示全部楼层
^c^c^p(如果(非c:setlayer)(加载“setlayer”))(c:setlayer)
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-7 00:01:23 | 显示全部楼层
非常感谢:-)太棒了
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-7 00:16:03 | 显示全部楼层
有没有办法把它全部写成宏,而不仅仅是作为该命令的参考链接?谢谢你抽出时间
回复

使用道具 举报

17

主题

1274

帖子

25

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
260
发表于 2022-7-7 00:20:41 | 显示全部楼层
未经测试:
  1. ^C^C-LA M \C

关于暂停宏以供用户输入:http://help.autodesk.com/view/OARX/2018/ENU/?guid=GUID-9D921CDD-89A3-44AB-865A-00F8986611F2
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-10 10:45 , Processed in 0.740959 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表