您需要 登录 才可以下载或查看,没有帐号?注册
举报
wayne wrote: Alan兄, 為何興起學習Autolisp, 馬上問這樣有深度的題目, 以下步驟是否可以解決您的問題? 若是對的, 只要做個迴圈即可存取所有Group的名稱. 指令: (setq a1 (dictsearch (namedobjdict) "ACAD_GROUP")) ((-1 . <圖元名稱: 4006bc68>) (0 . "DICTIONARY") (5 . "D") (102 . "{ACAD_REACTORS") (330 . <圖元名稱: 4006bc60>) (102 . "}") (330 . <圖元名稱: 4006bc60>) (100 . "AcDbDictionary") (280 . 0) (281 . 1) (3 . "ALAN") (350 . <圖元名稱: 4006bd70>) (3 . "ALAN1") (350 . <圖元名稱: 4006bd90>)) 指令: (setq a2 (member (assoc 3 a1) a1)) ((3 . "ALAN") (350 . <圖元名稱: 4006bd70>) (3 . "ALAN1") (350 . <圖元名稱: 4006bd90>)) 指令: (cdr (nth 0 a2)) "ALAN" 指令: (cdr (nth 2 a2)) "ALAN1"
wayne wrote: 這支副程式我曾經寫過, 公佈步驟如下, 希望可以解決Alan兄的問題, 也希望大家討論有更好及更簡潔的方法. 指令: (setq b1 (ssget)) 選取物件: 3 找到, 1 群組 選取物件: <Selection set: 4a> 指令: (setq b2 (ssname b1 0)) <圖元名稱: 4006bd80> 指令: (setq b3 (assoc 330 (entget b2))) (330 . <圖元名稱: 4006bd90>) 指令: (setq b4 (cons 350 (cdr b3))) (350 . <圖元名稱: 4006bd90>) 指令: (setq a3 (reverse a2)) ((350 . <圖元名稱: 4006bd90>) (3 . "ALAN1") (350 . <圖元名稱: 4006bd70>) (3 . "ALAN")) 指令: (setq b5 (member b4 a3)) ((350 . <圖元名稱: 4006bd90>) (3 . "ALAN1") (350 . <圖元名稱: 4006bd70>) (3 . "ALAN")) 指令: (cdadr a3) "ALAN1"
本版积分规则 发表回复 回帖后跳转到最后一页
QQ 咨询|手机版|联系我们|iCAx开思网
GMT+8, 2025-1-24 19:16 , Processed in 0.031388 second(s), 11 queries , Gzip On, Redis On.
Powered by Discuz! X3.3
© 2002-2025 www.iCAx.org