几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   ObjectARX(VB.NET/C#) (http://www.dimcax.com/hust/forumdisplay.php?f=176)
-   -   【转帖】利用选择集对polyline进行过滤 (http://www.dimcax.com/hust/showthread.php?t=9376)

yang686526 2009-04-20 08:35 PM

【转帖】利用选择集对polyline进行过滤
 
利用选择集对polyline进行过滤
www.dimcax.com
利用选择集对polyline进行过滤利用选择集对polyline进行过滤时,为什么选不到。而对比如line,circle均可实现??
这个问题我这个菜鸟也遇到了,高手们帮帮忙解决下:
database db = hostapplicationservices.workingdatabase;
editor ed = application.documentmanager.mdiactivedocument.editor;
transaction trans = db.transactionmanager.starttransaction();
typedvalue[] fillist = new typedvalue[1];
fillist[0] = new typedvalue((int)dxfcode.start, "polyline");
selectionfilter filter = new selectionfilter(fillist);
promptselectionoptions opts = new promptselectionoptions();
promptselectionresult res = ed.getselection(opts,filter);
曲线救国,这个法子好像可以:
database db = hostapplicationservices.workingdatabase;
editor ed = application.documentmanager.mdiactivedocument.editor;
transaction trans = db.transactionmanager.starttransaction();
promptselectionoptions opts = new promptselectionoptions();
promptselectionresult res = ed.getselection(opts);
polyline plineselected = new polyline();
if (res.status != promptstatus.ok)
{
ed.writemessage("您所选的不是pline线实体!");
trans.commit();
trans.dispose();
return;
}
autodesk.autocad.editorinput.selectionset ss = res.value;
objectid plid = ss.getobjectids()[0];//获取所选pline线的id
entity ent = (entity)trans.getobject(plid, openmode.forread, false);
if (ent.gettype() == typeof(polyline))
{
plineselected = (polyline)ent;
}
double dtemp = plineselected.startpoint.x;

trans.commit();
trans.dispose();
new typedvalue((int)dxfcode.start, "lwpolyline");
new typedvalue(0, "lwpolyline");
楼上正解
那二维多线段呢????
还有其他的实体呢??
斑竹知道吗???
求救啊!!!!!!!!!!!!
谢谢。


所有的时间均为北京时间。 现在的时间是 11:57 AM.