[求助]怎样通过entnext获得由ssget选择中的图块的子图元的对象名
<FONT size=2>我通过ssget选择后,获得了其中某一个图块主图元的对象名,不知怎样通过主图元名用entnext来获得子图元名呢?</FONT>我已经查阅了明经大多数帖子,而且看了二次开发的帮助文档,但文档中只说了通过entnext来获得,并没给出示例,我没看大懂!自己黑灯瞎火的摸索了一阵,也没搞懂。
<FONT size=2>望高手指点!</FONT> 能给个示例吗? 在此,先多谢了!!! 如果是属性块,直接对选择的insert对象使用entnext,将获得这个INSERT中的属性对象。如何判断它是不是属性块呢? 这个非常牛,要好好学习一下。 得块名,后用tblnext 或 tblsearch 你用SSGET获得的是一个INSERT对象,不是块的主图元,块的主图元是在数据库内,你并不能看到它,因为这个INSERT对象引用了这个块,所以你看到这个INSERT对象就以为是块,很多人都有这种错误的理解。。。
块的主图元这样获得(tblobjname "block" blkname);主块名可以通过你选择的INSERT对象来获得(setq blkname (cdr (assoc 2 (ssname (ssget) 0))))
然后将返回的对象使用entnext就可以获得块子图元了。。。
如果是属性块,直接对选择的insert对象使用entnext,将获得这个INSERT中的属性对象 多谢,多谢!
多谢<A name=27145><FONT color=#0000ff><B>无痕</B></FONT></A>和<A name=27164><FONT color=#000066><B>meflying</B></FONT></A> 两位指点,我先试试!!! <A name=27164><FONT color=#000066><B>我再</B></FONT></A>多问一句,<A name=27164><FONT color=#000066><B>meflying</B></FONT></A> 兄:
能否直接提取用SSGET获得的一个INSERT对象中的某一对象的数据序列,比如说这个INSERT对象中含有圆,直线,多段线,直接提取其中直线的数据序列。
还是必须通过提取I<INSERT对象引用的块>的数据序列来间接获得? 你说的不错,只能这样,如果你想知道它在图形中的位置,先按上面方法取得直线数据,然后根据这个INSERT对象的插入点计算来获得实际位置
还有个方法,就是把这个INSERT对象打散,取得你要的东西后恢复即可。。。(打散后使用(SSGET "P")获得这个INSERT打散后的所有对象) 版主真是热心人!
这么快就回帖,万分感谢!
敬献鲜花一朵! cjp_ccc发表于2004-6-15 13:02:00static/image/common/back.gif我再多问一句,meflying 兄:
能否直接提取...
<BR>命令: (entget (car(nentsel))) ;;点选块中的line实体
选择对象: ((-1 . <图元名: 7ef87e90>) (0 . "LINE") (330 . <图元名: 7ef87e70>) (5 <BR>. "9A") (100 . "AcDbEntity") (67 . 0) (8 . "0") (100 . "AcDbLine") (10 58.6404 <BR>-937.789 0.0) (11 4896.47 -1670.44 0.0) (210 0.0 0.0 1.0))
请看cad帮助: nentsel 这个资料(嵌套图块)转换到wcs很麻烦(有点难) 龙龙仔发表于2004-6-16 8:17:00static/image/common/back.gif<SPAN style=\"FONT-FAMILY: 新细明体; mso-ascii-font-family: 'Times New R...
<BR></FONT></DIV>OCS-〉WCS转换矩阵
页:
[1]
2