乐筑天下

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

[编程交流] AutoCad命令及其参数

[复制链接]

57

主题

243

帖子

190

银币

后起之秀

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

铜币
285
发表于 2022-7-6 07:15:48 | 显示全部楼层 |阅读模式
我在准备简单例程时遇到的一个困难(由于我是初学者),就是忽略了与AutoCad的每个命令相关的参数。
例如:(命令行“pnt1 pnt1)。当然,如果“命令行”没有这个困难,但许多其他人不知道。
有人能提供这个列表吗,或者知道我可以在哪里获得这些信息?
这将是一个很好的帮助。
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 07:30:32 | 显示全部楼层
lisp例程中的Autocad命令通常称为宏。
宏是指示计算机执行一系列命令的脚本。
 
您可以根据本机命令的要求提供一个参数,就像在示例中从键盘键入一样
(命令“_line”pnt1 ptn2)
直线命令需要拾取点或点列表。因此,要么你提供一个给定的点列表'(1.0 2.0 0.0)
(命令“_line”'(1.0 2.0 0.0)'(2.0 5.0 0 0.0)“”)
 
传递点值变量
(命令“_line”pnt1 ptn2”)
 
或者在命令行内选择屏幕(getpoint)。
(命令“_line”(getpoint)(getpoint“\n下一点:”)
 
因此,如果您调用“Layer”命令来创建层。
(命令“_Layer”“M”[这里您自然为层名称提供一个字符串]“”“”)
 
所以使用(setq ln(getstring“\n输入层名称:”))
 
(命令“_Layer”“M”ln”)
 
随便。HTH公司
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:36:35 | 显示全部楼层
 
我倾向于不同意你的意见;对我来说,宏使用脚本语言,并且可能(但不一定)包含LISP/DIESEL,例如:
 
完整的宏文档可以在这里找到:
 
http://docs.autodesk.com/ACD/2010/ENU/AutoCAD%202010%20User%20Documentation/index.html?url=WS73099cc142f4875513fb5cd10c4aa30d6b-7d0a。htm,主题编号=d0e373828
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 07:49:13 | 显示全部楼层
 
好啊剧本快捷方式?
回复

使用道具 举报

7

主题

143

帖子

136

银币

初来乍到

Rank: 1

铜币
36
发表于 2022-7-6 07:53:02 | 显示全部楼层
http://docs.autodesk.com/ACD/2010/ENU/AutoCAD%202010%20User%20Documentation/index.html?url=WS1a9193826455f5ff-5187222b11eeadcdc61-56ff。htm,主题编号=d0e188116
这是命令参考的链接。
包含所有命令和选项列表(如果有)。
回复

使用道具 举报

0

主题

61

帖子

62

银币

限制会员

铜币
-1
发表于 2022-7-6 08:01:58 | 显示全部楼层
如果你想开发一个例程(无论是脚本、宏还是LISP!!)试着像平常一样简单地处理命令,并记下命令行上出现的内容。在最初绘制直线的示例中,命令行显示如下内容:
 
  1. Command: l
  2. LINE Specify first point:
  3. Specify next point or [undo]:
  4. Specify next point or [undo]:

 
因此,您知道需要使用(命令行)并提供许多点。
 
HTH公司
dJE
回复

使用道具 举报

18

主题

78

帖子

61

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
90
发表于 2022-7-6 08:15:04 | 显示全部楼层
伙计们,我觉得你们错过了这次行动的重点
我你有一个问题,我可能是因为线是一个开放的ender命令,你必须终止它。
  1. (command "line" pnt1 pnt2 "")

检查pnt1和pnt2的格式是否正确。
我更喜欢使用dxf代码而不是命令来创建行
  1. (entmake (list '(0. "LINE')
  2.                  (cons 10 pnt1)
  3.                  (cons 11 pnt2)
  4.                                   ))
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 08:16:45 | 显示全部楼层
大量的命令可以作为“命令”来执行,有时你必须记住为输入添加额外的“”,另一件事你可以做的是在命令中间做一些事情,比如你根据用户输入的是Y还是N来制定下一步要做的事情。
 
我会跳过entmake,转到Vl addline,这就是编程的方向。可能会生成一个通用的defun(myaddline)
 
  1. 4
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 10:15 , Processed in 0.471194 second(s), 68 queries .

© 2020-2025 乐筑天下

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