几何尺寸与公差论坛------致力于产品几何量公差标准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)
-   -   【转帖】一个问题请教各位 (http://www.dimcax.com/hust/showthread.php?t=9248)

yang686526 2009-04-20 05:37 PM

【转帖】一个问题请教各位
 
一个问题请教各位
www.dimcax.com
一个问题请教各位
[commandmethod("cir")] //调用cad命令,画一个图形,然后获得这个图形,对其填充 public void cir() { document doc = app.documentmanager.mdiactivedocument; editor ed = app.documentmanager.mdiactivedocument.editor; database db=doc.database; objectid id; doc.sendstringtoexecute("_circle\n", true, false, true); //我想在这句的circle命令调用结束后,在下一行,用tools.entlast()方法获得这个实体(圆), 对这个圆进行填充,结果调试的时候, 程序没有执行这个circle命令就执行了下一行, 出现einvalidobjectid错误,(我估计是因为circle命令没有执行,新图形里面没有实体对象,entlast无法获得对象的缘故) 我想请教:怎么让程序先执行这个命令,再执行下一行? polyline pl= tools.getentity(tools.entlast(db)) as polyline; objectid plid=pl.objectid; objectidcollection col=new objectidcollection(); col.add(plid); hatch hat=new hatch(); hat.sethatchpattern(hatchpatterntype.predefined,"solid");//预定义 hat.appendloop(0,col);//另一个问题:填充的时候,appendloop()方法的第一个参数int looptype是什么意思? tools.addentities(hat); }
请使用tools.runcommand函数来代替sendstringtoexecute。 sendstringtoexecute会引起命令的不同步运行。
c#最适合开发autocad,因为它拥有vb容易的特点,却具有vc++的强大功能。
可以通过捕捉事件来获取。
模具相关绿色软件
皆唯网
原帖由 一个样 于 可以通过捕捉事件来获取。
什么意思?能不能说的再详细一点? 你是说用捕捉事件来获取新获得的实体吗?
总能把手机放到我自己找不到的地方...
eventswatcher这个示例,讲述了cad的所有事件. 比如:application.documentmanager.mdiactivedocument.database.objectappended事件你还是需要了解cad所有事件的先后顺序.
模具相关绿色软件
皆唯网
原帖由 一个样 于 eventswatcher这个示例,讲述了cad的所有事件. 比如:application.documentmanager.mdiactivedocument.database.objectappended事件你还是需要了解cad所有事件的先后顺序.
非常感谢!我找到了这个例子,我先看看这个例子吧
总能把手机放到我自己找不到的地方...


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