乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 111|回复: 6

[求助]请教如何用lisp方法获得没属性定义的块内部实体定义

[复制链接]

4

主题

9

帖子

2

银币

初来乍到

Rank: 1

铜币
25
发表于 2003-9-17 16:03:00 | 显示全部楼层 |阅读模式
请教如何用lisp方法获得块内部实体定义,这个块没有属性定义,我说的也不是用tblsearch获取块的原始定义,是想遍览组成块的实体。
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2003-9-17 16:44:00 | 显示全部楼层
tblsearch 返回的那个(-2 ,原因是不是我给的不是对象集合,仅仅是转为VLAX实体的实体名?如果是,如何给这个集合,请教教我。
我的原题是在屏幕上用框选的办法选到块,想直接获得组成这个块的实体。
回复

使用道具 举报

20

主题

653

帖子

15

银币

中流砥柱

Rank: 25

铜币
733
发表于 2003-9-17 17:13:00 | 显示全部楼层

说说怎么个不行法?看如下代码:
(cdr (assoc -2 (tblsearch "block" (cdr (assoc 2 (entget (car (entsel))))))))
回复

使用道具 举报

4

主题

9

帖子

2

银币

初来乍到

Rank: 1

铜币
25
发表于 2003-9-17 19:49:00 | 显示全部楼层
多谢你又回复我!
你所写的代码就是我说的获得图块的最初定义的方法,你把这个图块在当前图中拷贝到8个地方,选哪个图块得到的结果都一样。我是想要组成具体选到的图块的实体名。
回复

使用道具 举报

4

主题

9

帖子

2

银币

初来乍到

Rank: 1

铜币
25
发表于 2003-9-17 20:13:00 | 显示全部楼层
你的话真的很难懂,既然是拷贝的,那这些块当然是一样的,这8个是INSERT对象,他们都引用自同一个块,怎么会不同呢?他们的不同也就是INSERT对象的位置和它们本身的句柄以及对象名,但因为引用的是同一个块,所以无论选哪个对象,返回块的组成实体当然是一样的。
注:返回的这些组成对象的坐标都是相对INSERT对象插入点的坐标
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2003-9-17 20:23:00 | 显示全部楼层
多谢版主,又问我一次我的意思。
   我的问题是某条线穿过一个图块,求线和图块内的实体总共形成了多少个交叉点。
   可以采用版主说的办法:先获得图块内部定义,因为图块很可能已经被移动、比例、旋转等等,再根据被选中的INSERT实体的相应组码(插入点、比例、转角等)对组成图块的实体的关键点坐标乘相应的转置矩阵,将块的内部定义实体转置计算后才能与穿过图块的线求到交点。总之,直接用tblsearch获得的内部定义实体不能直接和穿过图块的线进行本问题的计算。
   我觉得这个方法太繁琐。
   我不知道是否有办法直接获得组成拷贝了8遍的图块中任意一个图块的组成实体,那样对我的问题就会方便得多。这里我还要再说一下:这8的图块中的实体与图块原始定义的实体是不同的,你看,用(nentsel)返回的那个实体名和用(tblnext)返回的不一样,而且你把8个图块中的任意图块炸开,形成的新实体序列都不是排在图形数据库最后的(说明图块每拷贝一遍,就会形成重新定义的块内部实体,只是表面上指向图块原始定义)。
   既然实体存在,我却不知道如何获得,请教了!
   不知道这回我是否说清楚了,若方便,请再给我回复。我会在这里等。
回复

使用道具 举报

4

主题

9

帖子

2

银币

初来乍到

Rank: 1

铜币
25
发表于 2003-9-17 21:00:00 | 显示全部楼层
对于你要解决的问题我再想想。
关于你说的“这8的图块中的实体与图块原始定义的实体是不同的”,我很难理解,你给我个图。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-5 08:33 , Processed in 0.729060 second(s), 67 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表