找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 895|回复: 6

[求助] [求助]:怎样使实体的DXF组码中的图元名在存入文件后调用时仍作为一个原子调用?

[复制链接]
发表于 2003-5-22 08:40:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
比如有如下实体的DXF组码:((-1 . <图元名: 1b72838>) (0 . "LWPOLYLINE") (330 . <图元名: 1b464f8>) (5 .
"62A7") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "SJ") (62 . 1) (6 . "Continuous") (100 . "AcDbPolyline") (90 . 2) (70 . 0) (43 . 1.0) (38 . 0.0) (39 . 0.0) (10 1759.32 381.757) (40 . 1.0) (41 . 1.0) (42 . 0.0) (10 1823.16 381.757) (40 . 1.0) (41 . 1.0) (42 . 0.0) (210 0.0 0.0 1.0))
然后我对上述的DXF组码处理成如下组码:((<图元名: 1b72830> 0.0 (1551.67 381.757 0.0) (1748.01 381.757 0.0) 0.0)
(<图元名: 1b72838> 0.0 (1759.32 381.757 0.0) (1823.16 381.757 0.0) 0.0)
(<图元名: 1b72840> 0.0 (1829.54 381.757 0.0) (2073.25 381.757 0.0) 0.0))
并将该组码写入文件以备运行其它程序时调用,如下:
(command "shell" "notepad kjb.dat")
    (setq xwj (open "dwxsj.dat" "r"))
    (setq dwxzbb (read (read-line xwj)))
    (close xwj)

调用程序:
(setq xwj (open "dwxsj.dat" "r"))
    (setq dwxzbb (read (read-line xwj)))
    (close xwj)
  (setq xzx (car (read dwxzb)))
结果返回的值为:(<图元名:
已将图元名分解成两个实体了,不知有什么方法使图元名仍为一个实体,请大虾们指点!谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 488个

财富等级: 日进斗金

发表于 2003-5-22 21:30:14 | 显示全部楼层
你这样存是没用的,每次打开,图元名是不同的.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-5-23 08:17:42 | 显示全部楼层
是的,但我在不重新打开图新前,操作应该是没问题的,又没有更好的方法?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2003-5-23 08:31:57 | 显示全部楼层
最初由 light_dream 发布
[B]是的,但我在不重新打开图新前,操作应该是没问题的,又没有更好的方法? [/B]


你保存实体的句柄,就可以了,句柄是唯一的,不管图是打开状态还是存盘后的DWG

你可以用函数 handent 得到句柄。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

发表于 2003-5-23 10:12:00 | 显示全部楼层
如果保存实体信息供另一图形使用,则可以不必保存实体名与句柄,但组码前缀建议随着保存,否则容易出错,因为有时有些组码是可选的。
楼主的问题应该是由于在“<图元名:”与“1b72838>”直接有一个空格所致,read后分离为两个原子,解决的方法是将空格去掉,合并成一个单词,或将空格替换为另一不常见字符,以后读出后再替换回来。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-5-23 14:52:22 | 显示全部楼层
“青铜长老”的办法我也想过,但把原子转换成字符串合并,好像也比较困难吧!我想可不可以采用过滤表的方法,通过句柄把实体的DXF组码得到,从而获得图元名,不知大虾们有何高见?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2003-5-25 10:54:55 | 显示全部楼层
我实在想不通.
既然是下次不能用,存成文件就是没利用价值.
既然是没关闭前利用,那为什么要存成文件?存成文件还不是要读进来吗?读进来后也就是回到你存的时候的样子.

通过句柄是个办法.
Command: (handent "5A2")
<Entity name: 60004722>
句柄-->实体
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-26 11:14 , Processed in 0.201169 second(s), 44 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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