960322 发表于 2023-11-29 23:36:06

关于command命令加 "-"的问题

程序里有一个最简单的建立图层的语句:(command "layer" "n" "新层""")
以前都能正常运行不会弹出图层管理的对话框。但布置何故,突然之间该语句执行时就弹出对话框,必须使用"-layer"才可以执行。但是在另一版本cad中又可以正常执行下去。类似的还有"WBLock"必须用"-WBLock"等。
但是以前都程序中命令不加"-"都能正常执行,想请问是否有系统变量控制command后面的命令必须加"-"才能透明执行,还是有别的什么原因?

kucha007 发表于 2023-11-30 09:59:45

本帖最后由 kucha007 于 2023-11-30 10:01 编辑

可以了解一下这个:https://help.autodesk.com/view/O ... E-8D76-F481BE68D46A


用法:

(initcommandversion 1);在command之前使用这句,强制command使用指定版本
(command "color")



自贡黄明儒 发表于 2023-11-30 08:53:25

记得帮助中有说明,"-"表示无对话框,“."是英文版。所以一般连用(command "_.ucs" ""),以避免各版本带来的差异。

飞雪神光 发表于 2023-11-30 00:51:44

不同版本CAD command命令并不全通用是否有系统变量控制就不清楚了

liuhe 发表于 2023-11-30 08:43:15

飞雪神光 发表于 2023-11-30 00:51
不同版本CAD command命令并不全通用是否有系统变量控制就不清楚了

initdia(AutoLISP)
强制显示下一个命令的对话框
支持的平台:Windows和Mac操作系统
签名
(initdia[对话标志])
对话标志
类型:整数
一个数值。如果此参数不存在或存在且非零,则下次使用(仅限下次使用)命令时将显示该命令的对话框,而不是命令行提示。
如果dialogflag为零,则会清除以前对此函数的任何调用,从而恢复显示命令行界面的默认行为。
返回值
类型:无
总是返回零。
评论
目前,以下命令使用initdia函数:ATTDEF、ATTEXT、BHATCH、BLOCK、COLOR、IMAGE、IMAGEADJUST、INSERT、LAYER、LINETYPE、MTEXT、PLOT、RENAME、STYLE、TOOLBAR和VIEW。
示例
在不首先调用initdia的情况下发出PLOT命令:
命令:(命令“.plot”)
情节
输入布局名称<Model>:nil
输入布局名称<模型>:
AutoCAD会在命令窗口中提示用户输入。
使用以下函数调用序列使AutoCAD显示“打印”对话框:

飞雪神光 发表于 2023-11-30 09:45:26

liuhe 发表于 2023-11-30 08:43
initdia(AutoLISP)
强制显示下一个命令的对话框
支持的平台:Windows和Mac操作系统


有点关系 但不是太多吧 比如ucs undo extend change break等 都可以加 -

marcoyuwen 发表于 2023-11-30 10:30:09

自贡黄明儒 发表于 2023-11-30 08:53
记得帮助中有说明,"-"表示无对话框,“."是英文版。所以一般连用(command "_.ucs" ""),以避免各版本带来 ...

各版本,应该是各种语言版本

sunny_8848 发表于 2023-12-1 09:38:03

多谢经验分享。以前也遇到过这种问题,这种小细节真的很费神
页: [1]
查看完整版本: 关于command命令加 "-"的问题