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

yang686526 2009-04-19 10:06 PM

【转帖】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.