显示图形中全部的块

cq_qg 发表于 2007-8-21 16:36:14 | 显示全部楼层 | 阅读模式
显示图形中全部的块

在一个图形中定义了很多块,但是没有全部插入
有没有什么命令可以一下子插入全部的块?
精彩评论倒序浏览

4039查看1评论

小鱼儿 发表于 2007-9-8 11:01:25
CAD中好像没发现,自己写了个,应该可以满足要求:

(defun C:InsertAllBlock        (/ AcadObject AcadDocument mSpace blkColl insertionPnt
                         Name blockRefObj
                         )
;;; 这个范例先使用Blocks属性来找出图块集合
;;; 接着将新的图块添加到图块集合

  (VL-LOAD-COM)

  (setq        AcadObject   (vlax-get-acad-object)

        AcadDocument (vla-get-ActiveDocument AcadObject)

        mSpace             (vla-get-ModelSpace AcadDocument)

        )

;;; 取得Blocks 集合

  (setq blkColl (vla-get-Blocks AcadDocument))

;;; 定义新图块的插入点

  (setq insertionPnt (vlax-make-safearray vlax-vbDouble '(0 . 2)))

  (vlax-safearray-fill insertionPnt '(0 0 0))

;;; 插入图块

  (vlax-for BLK        blkColl
    (if        (not (wcmatch (setq Name (strcase (vla-get-name BLK)))  "*`**"))
      (setq blockRefObj (vla-InsertBlock mSpace insertionPnt Name 1 1 1 0))
      )
    )
  (princ)
  )
举报 回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

 
 
  • QQ:56984982
  • 点击这里给我发消息
    电话:13527553862
    站务咨询群桥头堡站务咨询桥梁专业交流群:
    中国桥梁专业领袖群
    工作时间
    8:00-18:00