tm20038175 发表于 2013-1-5 19:33:19

如何通过块名找到每个此块名包含的图元?

老是搞不清块名和块内图元的关系,请大家指点下。。。。

Gu_xl 发表于 2013-1-5 21:34:19


;;方法1
(defun getblkdefents (blockname / e l)
(if
    (setq e (TBLOBJNAME "block" blockname))
   (progn
       (while (setq e (entnext e))
       (setq l (cons e l))
       )
      
   )
)
(reverse l)
)
;;方法2
(defun Itemblkdefents (blockname / l blkdef)
(if
    (not
      (VL-CATCH-ALL-ERROR-P
        (setq blkdef
             (VL-CATCH-ALL-APPLY
               'vla-item
               (list
                   (vla-get-blocks
                     (vla-get-ActiveDocument
                     (vlax-get-acad-object)
                     )
                   )
                   blockname
               )
             )
        )
      )
    )
   (vlax-for obj blkdef
       (setq l (cons (vlax-vla-object->ename obj) l))
   )
)
(reverse l)
)

tm20038175 发表于 2013-1-5 22:08:07

Gu_xl 发表于 2013-1-5 21:34


好程序,谢谢了。。。。
页: [1]
查看完整版本: 如何通过块名找到每个此块名包含的图元?