![]() |
【转帖】autocad
autocad
看来我要开始学3次开发了 真的看不懂哦!! 以下是引用ahlzl在 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32imports autodesk.autocad.applicationservices imports autodesk.autocad.databaseservices imports autodesk.autocad.runtime imports autodesk.autocad.interop imports autodesk.autocad.geometry imports dbtransman = autodesk.autocad.databaseservices.transactionmanager public class tlcad <commandmethod("test")> public shared sub mytestcmd() dim db as database = application.documentmanager.mdiactivedocument.database dim tm as dbtransman = db.transactionmanager dim myt as transaction = tm.starttransaction() try dim line as new line(new point3d(0, 0, 0), new point3d(1, 1, 0)) dim bt as blocktable = ctype(tm.getobject(db.blocktableid, openmode.forread, false), blocktable) dim btr as blocktablerecord = ctype(tm.getobject(bt(blocktablerecord.modelspace), openmode.forwrite, false), blocktablerecord) btr.appendentity(line) tm.addnewlycreateddbobject(line, true) dim tbl as regapptable = ctype(myt.getobject(db.regapptableid, openmode.forwrite, false), regapptable) dim app as new regapptablerecord app.name = "test1" tbl.add(app) tm.addnewlycreateddbobject(app, true) line.xdata = new resultbuffer( _ new typedvalue(cint(dxfcode.extendeddataregappname), "test1"), _ new typedvalue(cint(dxfcode.extendeddataasciistring), "tlcad test")) myt.commit() finally myt.dispose() end try end sub end class 看了上面的例子,有objectarx的感觉! createline() { acgepoint3d startpt(4.0, 2.0, 0.0); acgepoint3d endpt(10.0, 7.0, 0.0); acdbline *pline = new acdbline(startpt, endpt); acdbblocktable *pblocktable; acdbhostapplicationservices()->workingdatabase() ->getsymboltable(pblocktable, acdb::kforread); acdbblocktablerecord *pblocktablerecord; pblocktable->getat(acdb_model_space, pblocktablerecord, acdb::kforwrite); pblocktable->close(); acdbobjectid lineid; pblocktablerecord->appendacdbentity(lineid, pline); pblocktablerecord->close(); pline->close(); return lineid; } 用vb。net 开发出来的程序是用dll作扩展名的? 是否只支持cad 是的 请问有相关的参考书卖没有 能不能给一个创建实体的例子,如 创建点线 注写文字等 在此谢谢啦 |
| 所有的时间均为北京时间。 现在的时间是 09:47 AM. |