明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1821|回复: 7

请求帮忙:把参考图替换成相应的块

[复制链接]
发表于 2005-1-26 10:10:00 | 显示全部楼层 |阅读模式
哪位朋友给我写一个小程序,是这样的:在一个图形文件中有若干个参考图,现在要把这个参考图以块的方式存在,所以要把图中的所有参数考图都改变成块,但是保留与参数图位置及大小,插入点。
发表于 2005-1-26 11:18:00 | 显示全部楼层
  1. (defun c:test( / ss i ent ents pt blkname blk_lst)
  2.    (setq ss (ssget "x" '((0 . "INSERT"))))
  3.    (setq i 0)
  4.    (repeat (sslength ss)
  5.        (setq ent (ssname ss i))
  6.        (setq ents (entget ent))
  7.        (setq blkname (cdr (assoc 2 ents)))
  8.        (if (not (assoc blkname blk_lst))
  9.            (progn
  10.   (setq pt (cdr (assoc 10 (tblsearch "BLOCK" blkname))))
  11.   (setq blk_lst (append blk_lst (list (list blkname pt))))
  12.            )
  13.        )
  14.        (setq i (1+ i))
  15.    )
  16.    (mapcar 'Getent (mapcar 'car blk_lst) (mapcar 'cadr blk_lst))
  17.    (princ)
  18. )
  19. (defun Getent(blkname pt / ent ent_lst)
  20.    (setq ent (tblobjname "BLOCK" blkname))
  21.    (while (setq ent (entnext ent))
  22.        (setq ent_lst (append ent_lst (list ent)))
  23.    )
  24.    (Makeblk ent_lst pt blkName)   
  25. )
  26. (defun Makeblk(ent_lst pt blkName)
  27.    (entmake (list
  28.              '(0 . "BLOCK")
  29.              (cons 2 blkname)
  30.              '(70 . 0)
  31.              (cons 10 pt)))
  32.    (mapcar '(lambda(e) (entmake (entget e))) ent_lst)
  33.    (entmake '((0 . "ENDBLK")))
  34. )
 楼主| 发表于 2005-1-26 11:38:00 | 显示全部楼层
不行啊,我要的是,用相同的文件以块的形式插进来,然后替换掉相应的参考图。但要保持相同的大小与插入点。
发表于 2005-1-26 11:42:00 | 显示全部楼层
不明白,你传个图上来说明一下问题吧
 楼主| 发表于 2005-1-26 12:28:00 | 显示全部楼层



这是DWG文件里面有说明.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2005-1-26 12:45:00 | 显示全部楼层
外部参照可以通过程序变成块:
1.需要更改系统变量:BINDTYPE为1
2.使用-xref中的B选项,给予外部参照名称就可以改过来。
 楼主| 发表于 2005-1-26 13:14:00 | 显示全部楼层
哦,可以了,不用写程序了,谢谢各位.
 楼主| 发表于 2005-1-26 13:16:00 | 显示全部楼层
那有办法反过来改变吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-17 19:03 , Processed in 0.184297 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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