azbk00 发表于 2015-10-21 15:06:25

命令干扰问题,请教

是这样的,我写了一个lisp,目的是把所有AXIS图层的颜色改为bylayer,代码如下:
(setq sq (ssget "X" (list (cons 8 "AXIS"))))
(command "_.chprop" sq "" "_color" "_bylayer" "")

但是由于某种原因,我还需要在这之前加载本来图纸没有的CENTER和DASHED线型,所以又在原代码之前加了两行:
(command "_linetype" "l" "CENTER" "Acadiso.lin" "" )
(command "_linetype" "l" "DASHED" "Acadiso.lin" "" )
(setq sq (ssget "X" (list (cons 8 "AXIS"))))
(command "_.chprop" sq "" "_color" "_bylayer" "")

奇怪的事情发生了,原来我用来把AXIS图层的颜色改为bylayer的后两行代码居然失效了,这个很是奇怪,拿掉前两行代码又可以了。而且DASHED线型也没有成功加载。实在是找不到什么原因,特此来向大伙求助!测试图纸在附件里。


Linhay 发表于 2015-10-21 16:11:54

本帖最后由 Linhay 于 2015-10-21 16:13 编辑

测试环境CAD2016

(command "_linetype" "l" "CENTER" "Acadiso.lin" "" "");;最后加个""
(command "_linetype" "l" "DASHED" "Acadiso.lin" "" "");;最后加个""
(setq sq (ssget "X" (list (cons 8 "AXIS"))))
(command "_.chprop" sq "" "_color" "_bylayer" "")


测试通过

azbk00 发表于 2015-10-21 16:31:10

Linhay 发表于 2015-10-21 16:11 static/image/common/back.gif
测试环境CAD2016

(command "_linetype" "l" "CENTER" "Acadiso.lin" "" "");;最后加个""


我这边也可以,非常感谢!再问大哥一个小问题,是关于Acadiso.lin的路径,由于函数是直接引用“Acadiso.lin”,这样应该是相对路径吧,具体是相对哪的路径呢?我加载lisp的文件夹中也没有放Acadiso.lin文件啊。

ljpnb 发表于 2015-10-21 17:09:19

azbk00 发表于 2015-10-21 16:31 static/image/common/back.gif
我这边也可以,非常感谢!再问大哥一个小问题,是关于Acadiso.lin的路径,由于函数是直接引用“Acadiso.l ...

这个路径就是CAD安装目录下的一些路径,软件打开就加载了这些路径

azbk00 发表于 2015-10-21 17:34:12

ljpnb 发表于 2015-10-21 17:09 static/image/common/back.gif
这个路径就是CAD安装目录下的一些路径,软件打开就加载了这些路径

嗯,那如果要引用lisp文件夹下的“Acadiso.lin”文件呢?有办法用相对路径去引用吗?

Linhay 发表于 2015-10-22 07:37:15

azbk00 发表于 2015-10-21 17:34 static/image/common/back.gif
嗯,那如果要引用lisp文件夹下的“Acadiso.lin”文件呢?有办法用相对路径去引用吗?
绝对路径应该可以,你可以自己试一下,"C:\\MyFolder\\MyFile.txt"

azbk00 发表于 2015-10-22 09:28:22

Linhay 发表于 2015-10-22 07:37 static/image/common/back.gif
绝对路径应该可以,你可以自己试一下,"C:\\MyFolder\\MyFile.txt"

嗯,谢谢。但是有办法去引用lisp所有文件夹下的相对路径吗?因为自己写的lisp要给几个同事分享,所以每个人都改绝对路径还是有点麻烦的。

云往哪里飞 发表于 2015-10-22 09:34:17

页: [1]
查看完整版本: 命令干扰问题,请教