不想用ARX?
转贴:type
AcadPoint = record
X: double;
Y: double;
Z: double;
end;implementationuses ActiveX,ComObj,AutoCad_Tlb;procedure InitAcad;
begin
result:=true;
try
acad := GetActiveOleObject('AutoCAD.Application');//get acad instance
except
on EOleSysError do
acad := CreateOleObject('AutoCAD.Application'); //create a new instance
end;
Acad.visible:= True; //show acad
Doc := Acad.ActiveDocument; //current drawing document
Mspace := Doc.ModelSpace; //module space
end;建立连接之后,就可进行各种控制了
比如画线可用 Acad.ModelSpace.addline(point1,point2)
Document是一个重要的对象,它代表AutoCad的图形,如图层,块,线型,标注类型等都有各自对应的对象。
我们画图时分图纸空间(PaperSpace)和模型空间(ModelSpace)
要在程序中控制画图,必需区分这两个,很多方法,如画线Addline,画圆AddCircle
ModelSpace和PaperSpace都有这个方法,
所以要这样写:auto.ModelSpace.addline(...),至于两者的区别与我们在画图(在AutoCad里面,line,circle)时的区别一样
Autocad有一个很详细的帮助,ActiveX Automation->Automation Reference->Object Model(先看看这里)
转贴:type
AcadPoint = record
X: double;
Y: double;
Z: double;
end;implementationuses ActiveX,ComObj,AutoCad_Tlb;procedure InitAcad;
begin
result:=true;
try
acad := GetActiveOleObject('AutoCAD.Application');//get acad instance
except
on EOleSysError do
acad := CreateOleObject('AutoCAD.Application'); //create a new instance
end;
Acad.visible:= True; //show acad
Doc := Acad.ActiveDocument; //current drawing document
Mspace := Doc.ModelSpace; //module space
end;建立连接之后,就可进行各种控制了
比如画线可用 Acad.ModelSpace.addline(point1,point2)
Document是一个重要的对象,它代表AutoCad的图形,如图层,块,线型,标注类型等都有各自对应的对象。
我们画图时分图纸空间(PaperSpace)和模型空间(ModelSpace)
要在程序中控制画图,必需区分这两个,很多方法,如画线Addline,画圆AddCircle
ModelSpace和PaperSpace都有这个方法,
所以要这样写:auto.ModelSpace.addline(...),至于两者的区别与我们在画图(在AutoCad里面,line,circle)时的区别一样
Autocad有一个很详细的帮助,ActiveX Automation->Automation Reference->Object Model(先看看这里)
多谢了,请问这样是不是要激活autocad应用程序,因为我不想激活它。
我要在我的程序里开一个窗口进行编辑,能行吗?
能否留下QQ号?