明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 914|回复: 5

[求助]请教高手,帮我看看这段程序,为何出错呢?(已解决)

[复制链接]
发表于 2009-3-28 22:21 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2009-3-29 13:25:50 编辑

(defun MLA  (layname laycolor LayLine)
 (setq acadobject1   (vlax-get-acad-object)
       acaddocument1 (vla-get-activedocument acadobject1)
       mspace1         (vla-get-modelspace acaddocument1))
 (setq LayerSel (vla-get-Layers AcadDocument1))
 (setq LayerObj (vla-add LayerSel layname))
 (setq LineObj (vla-get-Linetypes AcadDocument1))
 (if (/= nil (tblsearch "layer" layname))
  (progn
     (if (/= nil laycolor)
      (vla-put-color LayerObj laycolor)))
  (progn
     (vla-get-activelayer AcadDocument1 LayerObj)
     (if (/= nil laycolor)
(vla-put-color LayerObj laycolor))
)
(progn
(if (/= nil LayLine)
(vla-put-Linetype LineObj LayLine)))
(progn
(vla-get-ActiveLinetype AcadDocument1 LayerObj)
(if (/= nil LayLine)
(vla-put-Linetype LineObj LayLine))
)
))
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2009-3-29 09:47 | 显示全部楼层
这是一个建立图层及线型的函数,哪个高手帮帮忙,改一下?
发表于 2009-3-29 10:32 | 显示全部楼层

(if (/= nil (tblsearch "layer" layname))
    (progn
      ....
    )
    (progn
      ....
    )
    (progn
      ....
    )
    (progn
      ....
    )
)

您得先厘订这个语法错误....

 楼主| 发表于 2009-3-29 11:12 | 显示全部楼层

改了一下,还是不行呢?

(defun MLA  (layname laycolor LayLine)
 (setq acadobject1   (vlax-get-acad-object)
       acaddocument1 (vla-get-activedocument acadobject1)
       mspace1         (vla-get-modelspace acaddocument1))
 (setq LayerSel (vla-get-Layers AcadDocument1))
 (setq LayerObj (vla-add LayerSel layname))
 (setq LineObj (vla-get-Linetypes AcadDocument1))
 (if (/= nil (tblsearch "layer" layname))
  (progn
     (if (/= nil laycolor)
      (vla-put-color LayerObj laycolor)))
  (progn
     (vla-get-activelayer AcadDocument1 LayerObj)
     (if (/= nil laycolor)
(vla-put-color LayerObj laycolor))
)
)
(if (/= nil LayLine)
(vla-put-Linetype LayerObj LayLine)
(progn
(vla-get-ActiveLinetype AcadDocument1 LayerObj)
(if (/= nil LayLine)
(vla-put-Linetype LayerObj LayLine))
)
)
)

发表于 2009-3-29 11:44 | 显示全部楼层
  1. ;(mla   "test"  25  "ACAD_ISO02W100")
  2. (defun MLA  (layname laycolor LayLine)
  3. (setq acadobject1   (vlax-get-acad-object)
  4.        acaddocument1 (vla-get-activedocument acadobject1)
  5.        mspace1         (vla-get-modelspace acaddocument1))
  6. (setq LayerSel (vla-get-Layers AcadDocument1))
  7. (setq LayerObj (vla-add LayerSel layname))
  8. (setq LineObj (vla-get-Linetypes AcadDocument1))
  9. (if (/= nil (tblsearch "layer" layname))
  10.   (progn
  11.      (if (/= nil laycolor)
  12.       (vla-put-color LayerObj laycolor)))
  13.   (progn
  14.      (vla-get-activelayer AcadDocument1 LayerObj)
  15.      (if (/= nil laycolor)
  16. (vla-put-color LayerObj laycolor))
  17. )
  18. )
  19. (if (/= nil LayLine)
  20. (progn
  21. (if (not (tblsearch "LTYPE" LayLine))
  22. (command "-linetype" "l" LayLine "acad.lin" "")
  23. )
  24. (vl-catch-all-apply 'vla-put-Linetype (list LayerObj LayLine))
  25. )
  26. (vla-put-Linetype LayerObj (vla-get-name (vla-get-ActiveLinetype AcadDocument1 )))
  27. )
  28. )
 楼主| 发表于 2009-3-29 13:14 | 显示全部楼层
谢谢xshrimp
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-7-2 10:54 , Processed in 0.154523 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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