找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 718|回复: 5

[求助] [求助]:如何分析选择集构建的表

[复制链接]
发表于 2002-11-2 20:33:15 | 显示全部楼层 |阅读模式

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

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

×
最近正在学使用选择集,但不知道怎么分析选择集构建的表
例如下面这个表怎么解读
a = ((-1 . <Entity name: 3740680>) (0 . TEXT) (5 . 198) (100 .
AcDbEntity) (67 . 0) (8 . 0) (100 . AcDbText) (10 176.799 88.1873 0.0) (40 .
3.0) (1 .  5545.234) (50 . 0.0) (41 . 1.0) (51 . 0.0) (7 . STANDARD) (71 . 0)
(72 . 0) (11 0.0 0.0 0.0) (210 0.0 0.0 1.0) (100 . AcDbText) (73 . 0))

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

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-11-2 20:38:01 | 显示全部楼层

Re: [求助]:如何分析选择集构建的表

最初由 xzg_hello 发布
[B]最近正在学使用选择集,但不知道怎么分析选择集构建的表
例如下面这个表怎么解读
a = ((-1 . <Entity name: 3740680>) (0 . TEXT) (5 . 198) (100 .
AcDbEntity) (67 . 0) (8 . 0) (100 . AcDbText) (10 176.799... [/B]


这个是实体数据,你看看DXF组码的含义。

0代码实体类型
10-代表基点
8-代表层
7-代表文字样式
。。。。。

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

使用道具 举报

 楼主| 发表于 2002-11-2 21:58:58 | 显示全部楼层
以下理解是否正确?
表中每个元素的第一个数字都是dxf组码,组码与后面的内容用" . '间隔,后面的内容相互间用空格间隔
(-1~~~~~(8 . 0) 是图形对象的公用组码

     (问题一:怎么有的组码后面带个独立的小数点,有的不带,该小数点的含义或作用是什么?)

-1 表示该表元素表征图元名,本选择集的图元名是<Entity name: 3740680>
0 表示该表元素表征本图元类型的文字字符串是TEXT
5 表示该图元表征图元句柄是198  

        (问题二:这句柄有何用途?)

100 是子类数据标记(把继承下来的类名当作字符串),类名是AcDbEntity。〔注〕由具体类继承下来的所有对象和图元类都必须有此项。此标记用于分离某个对象中由不同的类定义的数据。它也满足从 ARX 继承下来的每个独立的具体类的 DXF 命名需要(请参见子类标记)。
67 表示该表元素表征空间类型,其后的0说明是模型空间。〔注〕1则说明是图纸空间
8 表示该表元素表征所在图层,此时位于0层




(100 . AcDbText)~~~~~~末尾是TEXT组码
100 此时子类名是AcDbText,表明其后的子类为Text的相关属性

     (问题三:能否对该类名所对应的图形单元单独操作,而不是整个选择集构建的图元?)

10 表示该表元素表征图元基点坐标是176.799 88.1873 0.0
40 表示该表元素表征字高是3.0
1 表示该表元素表征缺省值(字符串本身)是5545.234
50 表示该表元素表征文字旋转角度是0.0
41 表示该表元素表征 X 向的相对比例因子 - 宽度为1
51 表示该表元素表征倾斜角度为0
7 表示该表元素表征文字样式名称是STANDARD
71 表示该表元素表征文本生成标志为0(默认值)。〔注〕2 = 文本反向(在 X 方向上产生镜像); 4 = 文本倒置(在 Y 方向上产生镜像)
72 表示该表元素表征水平文字对正类型为0(默认值)。〔注〕0 = 左;1=中心;2 = 右;3 = 对齐的(如果垂直对齐= 0);4 = 中央(如果垂直对齐 = 0);5 = 调整(如果垂直对齐= 0)
11 表示该表元素表征第二对齐点(在 OCS 中)是0.0 0.0 0.0。〔注〕DXF:X 值;APP:三维点 只有组码 72 或 73 的值非零时,此值才有意义(基线和左对齐除外)--此时无意义
210 表示该表元素表征拉伸方向为0.0 0.0 1.0(缺省值)。〔注〕DXF:X 值;APP:三维矢量
100 子类标记
73 表示该表元素表征垂直文字对正类型是0(缺省值)(整型编码,不是位码)。〔注〕0 = 基线;1 = 下;2 = 中;3 = 上

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

使用道具 举报

发表于 2002-11-2 22:29:54 | 显示全部楼层
对于问题一,我还真没有想过。我学的时候,他就是这个样子。我也没有深究。对不起了

问题二,句丙是实体的永远唯一的索引。在任何时候(保存在文件中以及在AutoCAD中编辑的时候)她都是独一无二的,不会重复,也不会没有。
而实体名就不同了。实体名不保存在DWG文件中,每次打开的时候随即产生,所以,不保证唯一。

问题三,我没有看明白你的意思。
你对选择集、实体DXF代码的理解是不是有混淆的地方?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 444个

财富等级: 日进斗金

发表于 2002-11-3 09:23:22 | 显示全部楼层
问题一:
它是表的一种特殊结构类型~点对表。只能由Cons函数生成的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-11-3 14:52:19 | 显示全部楼层
如yuefeng说,那个小数点是点对(DOT PAIR),一种数据类型,两个原子符号用CONS操作产生,比如(CONS 8 "ABC")=(8 . "ABC")。

这个点对比表使用存储单元更少,比如和(8 "ABC")比。

第一个的ABC用 CDR 得到,第二个必须用CADR得到。

总之,在保存两个数据都是“原子”的时候,比如 数、字符等等,ACAD用“点对”来保存他们。原子和“复合”元素在一起保存,ACAD用表。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-1 09:42 , Processed in 0.384269 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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