请问:如何创建经过任意实体的选择集
我知道经过线型的选择集的构造方法pointlist=acutBuildList(RTPOINT,pt1, RTPOINT,pt2, RTPOINT,pt3, RTPOINT,pt4,0)
acedSSGet(“F”,pointlist,NULL,NULL,ssname);
如果是任意实体(比如,圆)呢?请指教
ARX没提供类似的方法,可以这样......
首先,栏选(“F”方式选择对象)可以选择圆对象,也可选择任意图形对象(在关闭、锁定的图层除外),要以圆或弧作为选择栏来构造选择集,只能以折线来拟合,根据你的图形的精度要求,用程序来构造pointlist拟合圆或弧应该不会很困难。acedSSGet类的选择有缺陷?
acedSSGet类除了“X"选项外,基本上都跟屏幕显示相关,但待选实体不在显示去范围或者图形复杂,范围很大。acedSSGet选择往往达不到要求。不知道哪位高手有较好的解决方法。创建经过任意实体的选择集
resbuf *pSel;pSel = acutBuildList(RTDXF0,"CIRCLE",0);
pointlist=acutBuildList(RTPOINT,pt1, RTPOINT,pt2, RTPOINT,pt3, RTPOINT,pt4,0)
acedSSGet(“F”,pointlist,NULL,pSel,ssname);
选择圆,同理可得
好,又学到一招,但有些不明白
1、关键字RTDXFO是什么意思?2、从ARX帮助中看到,acedSSGet()函数的第四个参数是表示一个选择集过滤的链表结构,不知楼上的朋友是否误解了。
应该没错
遍历实体,因为是指针操作,非常的快。
hothua发表于2002-9-17 20:54:00static/image/common/back.gif回复:(hothua)acedSSGet类的选择有缺陷?acedSSGet类除了“X\"选项外,基本上都跟屏幕显示相关,但待选实体不在显示去范围或者图形复杂,范围很大。acedSSGet选择往往达不到要求。不知道哪位<BR>这个问题值得研究,不知道哪位高手能决定?
页:
[1]