请求帮忙:把参考图替换成相应的块
哪位朋友给我写一个小程序,是这样的:在一个图形文件中有若干个参考图,现在要把这个参考图以块的方式存在,所以要把图中的所有参数考图都改变成块,但是保留与参数图位置及大小,插入点。 (defun c:test( / ss i ent ents pt blkname blk_lst)(setq ss (ssget "x" '((0 . "INSERT"))))
(setq i 0)
(repeat (sslength ss)
(setq ent (ssname ss i))
(setq ents (entget ent))
(setq blkname (cdr (assoc 2 ents)))
(if (not (assoc blkname blk_lst))
(progn
(setq pt (cdr (assoc 10 (tblsearch "BLOCK" blkname))))
(setq blk_lst (append blk_lst (list (list blkname pt))))
)
)
(setq i (1+ i))
)
(mapcar 'Getent (mapcar 'car blk_lst) (mapcar 'cadr blk_lst))
(princ)
)
(defun Getent(blkname pt / ent ent_lst)
(setq ent (tblobjname "BLOCK" blkname))
(while (setq ent (entnext ent))
(setq ent_lst (append ent_lst (list ent)))
)
(Makeblk ent_lst pt blkName)
)
(defun Makeblk(ent_lst pt blkName)
(entmake (list
'(0 . "BLOCK")
(cons 2 blkname)
'(70 . 0)
(cons 10 pt)))
(mapcar '(lambda(e) (entmake (entget e))) ent_lst)
(entmake '((0 . "ENDBLK")))
) 不行啊,我要的是,用相同的文件以块的形式插进来,然后替换掉相应的参考图。但要保持相同的大小与插入点。 不明白,你传个图上来说明一下问题吧
这是DWG文件里面有说明. 外部参照可以通过程序变成块:<BR>1.需要更改系统变量:BINDTYPE为1<BR>2.使用-xref中的B选项,给予外部参照名称就可以改过来。 哦,可以了,不用写程序了,谢谢各位. 那有办法反过来改变吗
页:
[1]