查看单个帖子
旧 2009-04-21, 04:12 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 求助,块(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)呢?
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)