几何尺寸与公差论坛------致力于产品几何量公差标准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)
-   -   求助,块(block)或组(group)的建立方法 (http://www.dimcax.com/hust/showthread.php?t=9871)

yang686526 2009-04-21 04:12 PM

求助,块(block)或组(group)的建立方法
 
求助,块(block)或组(group)的建立方法
www.dimcax.com
求助,块(block)或组(group)的建立方法
我需要由已经生成的实体来建立一个块或编成组 public static objectid m_createblock(string m_blockname, entity[] m_ent) { documentlock m_doclock= application.documentmanager.mdiactivedocument.lockdocument(); objectid m_blockid = new objectid(); database m_db = hostapplicationservices.workingdatabase; using( transaction m_tr = m_db.transactionmanager.starttransaction()) { blocktable m_bt = (blocktable)m_tr.getobject(m_db.blocktableid, openmode.forwrite, false); blocktablerecord m_btr = new blocktablerecord(); m_btr.name = m_blockname; m_blockid = m_bt.add(m_btr); m_tr.addnewlycreateddbobject(m_btr, true); for (int i = 0; i <= m_ent.getupperbound(0); i++) { m_btr.appendentity(m_ent[]); } m_tr.commit(); } m_doclock.dispose(); return m_blockid; } 总在 m_btr.appendentity(m_ent[]) 行出错,说是无效输入该怎么改呢?(注:[]里面 i 显示不出来,只好不输了) [
public static objectid m_createblock(string m_blockname, entity[] m_ent) { documentlock m_doclock= application.documentmanager.mdiactivedocument.lockdocument(); objectid m_blockid = new objectid(); database m_db = hostapplicationservices.workingdatabase; using( transaction m_tr = m_db.transactionmanager.starttransaction()) { blocktable m_bt = (blocktable)m_tr.getobject(m_db.blocktableid, openmode.forwrite, false); blocktablerecord m_btr = new blocktablerecord(); m_btr.name = m_blockname; for (int i = 0; i <= m_ent.length; i++) { m_btr.appendentity(m_ent); } m_blockid = m_bt.add(m_btr); m_tr.addnewlycreateddbobject(m_btr,true); m_tr.commit(); } m_doclock.dispose(); return m_blockid; } 试一下
c#最适合开发autocad,因为它拥有vb容易的特点,却具有vc++的强大功能。
谢谢才鸟的
啊,终于试出来拉!把m_btr.appendentity(m_ent) 改成 m_btr.appendentity(m_ent.clone())就行了
但怎么创建组(group)呢?


所有的时间均为北京时间。 现在的时间是 05:42 PM.