明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1952|回复: 8

[基础] 請教LISP內REFEDIT的問題

[复制链接]
发表于 2010-5-17 14:12 | 显示全部楼层 |阅读模式

不知是那裡錯,無法執行

我要把圖塊內的LINE都刪除

拜託...謝謝...

 (setq aaa (ssget "x" (list (cons 0 "insert"))))          
 (setq lis (sslength aaa))                                
 (setq i 0)                                               
 (repeat lis                                              
   (setq ename (ssname aaa i))                            
   (command "refedit" ename "o" "" "")                    
   (command "erase" (ssget "x" (list (cons 0 "line"))) "")
   (command "refclose" "s")                               
   (setq i (+ 1 i))                                       
 )                                                        

发表于 2010-5-17 14:54 | 显示全部楼层
  1. ;;删除块内直线
  2. (defun c:bbb (/ Blocks)
  3. (setq Blocks (vla-get-blocks (vla-get-ActiveDocument (vlax-get-acad-object))))
  4. (vlax-for block blocks
  5.   (if (= (vla-get-IsLayout block) :vlax-FALSE)
  6.     (vlax-for object block
  7.       (and (= (vla-get-objectname object) "AcDbLine")
  8.            (vla-delete object))
  9.     )
  10.   )
  11. )
  12. )
 楼主| 发表于 2010-5-17 17:48 | 显示全部楼层

謝謝...謝謝...

看了大哥您寫的程式

我還要好好努力

我在台灣,聽說兩岸有些稱呼不太一樣

稱您大哥應該不會失禮吧(在我們這邊是尊敬的表達)

我在LISP書上好像沒看到您所用的語法

是LISP嗎?

 楼主| 发表于 2010-5-17 17:56 | 显示全部楼层

我的AUTOCAD是2005

我的AUTOCAD是2005

剛剛我試執行好像有問題

; 錯誤: no function definition: VLAX-GET-ACAD-OBJECT

不知是什麼問題

发表于 2010-5-17 18:12 | 显示全部楼层
请先使用(vl-load-com)函数以加载这些函数。这属于Visual LISP范畴。
发表于 2010-5-18 14:07 | 显示全部楼层
[quote]yenbl发表于2010-5-17 17:48:00謝謝...謝謝...看了大哥您寫的程式我還要好好努力我在台灣,聽說兩岸有些稱呼不太一樣稱您大哥應該不會失禮吧(在我們這邊是尊敬的表達)我在LISP書上好像
 楼主| 发表于 2010-5-22 12:30 | 显示全部楼层

我不會加載(vl-load-com)函数...

大哥我不會加載(vl-load-com)函数

可以告訴我程式碼怎麼寫嗎?

拜託...拜託...

发表于 2010-5-22 12:53 | 显示全部楼层
  1. ;;删除块内直线
  2. (defun c:bbb (/ Blocks)
  3. (vl-load-com)
  4. (setq Blocks (vla-get-blocks (vla-get-ActiveDocument (vlax-get-acad-object))))
  5. (vlax-for block blocks
  6. (if (= (vla-get-IsLayout block) :vlax-FALSE)
  7.     (vlax-for object block
  8.       (and (= (vla-get-objectname object) "AcDbLine")
  9.            (vla-delete object))
  10.     )
  11.   )
  12. )
  13. )
怪了!!!
 楼主| 发表于 2010-5-22 13:44 | 显示全部楼层

謝謝...

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

本版积分规则

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

GMT+8, 2024-5-3 06:00 , Processed in 0.406607 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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