明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 576|回复: 7

[讨论] 在指定图形文件创建图层

[复制链接]
发表于 2019-9-12 15:37 | 显示全部楼层 |阅读模式
3明经币
请教大佬如何利用autolisp在指定的图形文件创建图层,如在drawing.dwg中创建图层test?

最佳答案

查看完整内容

(if (wcmatch (getvar'dwgname) "Drawing*") ;判断当前文档名字 (progn ;这里写要执行的代码 ) )
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2019-9-12 15:37 | 显示全部楼层
(if (wcmatch (getvar'dwgname) "Drawing*") ;判断当前文档名字
(progn
;这里写要执行的代码
)
)
回复

使用道具 举报

发表于 2019-9-12 16:48 | 显示全部楼层
...在指定的图形文件创建图层...

该文件是已开启?未开启?
非现用图形文件缘何需创建图层!?
回复

使用道具 举报

 楼主| 发表于 2019-9-12 17:29 | 显示全部楼层
Andyhon 发表于 2019-9-12 16:48
...在指定的图形文件创建图层...

该文件是已开启?未开启?

是这样的,我需要新建一个图形文件,然后在这个图形文件里面创建图层,并绘图。整个过程就是利用autolisp命令创建图形文件,再在这个图形文件里面画图,并保存。
回复

使用道具 举报

发表于 2019-9-12 18:57 | 显示全部楼层
您不妨探讨古老的脚本(Script)用法...

但为何不是直接开图然后调用程序!?
有特殊需求?
回复

使用道具 举报

 楼主| 发表于 2019-9-13 15:41 | 显示全部楼层
Andyhon 发表于 2019-9-12 18:57
您不妨探讨古老的脚本(Script)用法...

但为何不是直接开图然后调用程序!?

是的,我是在已有图形文件中处理数据然后画图,直接把图画在原图形文件中比较凌乱,虽然也可以新建图层,但是整体比较混乱,所以尝试将结果图绘制在新的图形文件中。
回复

使用道具 举报

发表于 2019-9-15 00:40 | 显示全部楼层
(defun DWG-addLayer (/ DwgName LayName LayObj)
(setq dwgname "d:\\桌面\\Drawing1.dwg" LayName "TEST");;文件名自己修改
(setq DBXDoc (Vlax-Get-Or-Create-Object
               (strcat "ObjectDBX.AxDbDocument." (substr (getvar "AcadVer") 1 2))
             )
)
(vla-open DBXDoc DwgName)
(setq LayObj (vla-add (vla-get-layers DBXDoc) LayName))
(vla-put-color LayObj 1)
(vla-saveas DBXDoc DwgName)
(vlax-release-object DBXDoc)
(vlax-release-object Layobj)
)

评分

参与人数 1明经币 +1 收起 理由
ForYang + 1 很给力!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2019-9-15 10:57 | 显示全部楼层
caoyin 发表于 2019-9-15 00:40
(defun DWG-addLayer (/ DwgName LayName LayObj)
(setq dwgname "d:\\桌面\\Drawing1.dwg" LayName "TEST ...

谢谢你的回复
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-25 16:03 , Processed in 0.880000 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表