你了解CAD吗
Acaddocument是你在ACAD中操作的文档,DataBase是Cad中的DataBase
另外一个应是层管理器
Acaddocument是你在ACAD中操作的文档,DataBase是Cad中的DataBase
另外一个应是层管理器
解决方案 »
- 线程中的对象TObject中创建ClientSocket.它的ClientSocketRead疑问..
- 对于初学者,短期内要编程出一个项目软件,最大的困难是什么?
- delphi6调用WebService(C#)如何传递SoapHeader
- 使用QuickReport打印数据丢失问题!!急急
- Pascal中泡沫法是怎樣寫法,能否舉個例子?相關的還有其它什麼法嗎?如遞歸?我對Pascal不熟。特此請教
- 请问两个edit中输入日期,如何取出两个日期差几天,急!
- 谁最先找到,100分给他!!!!!!!!!
- 能人进来!!(一定给分!)
- 怎么样让托盘程序的托盘图标不出现在任务栏右下角
- 如何实现实时传送屏幕变化
- 模糊查询问题!拜托
- 急!在线等,请教高手一个问题:把XML映射成类
能否给我举出一个例子,利用以上3个组件,写个打开一个dwg文件,然后,在其中画一个圆即可,谢谢啊!
uses comOBJ,ActiveX;//一定要加入ComObj,ActiveX两个单元procedure TForm1.FormCreate(Sender: TObject);
begin
try
AcadApp:= GetActiveOleObject('AutoCad.Application'); //取得当前打开的autocad对象
except
AcadApp:=CreateOleObject('AutoCad.Application'); //没有创建新的autocad对象
end;
AcadDoc:=AcadApp.ActiveDocument; //当前图纸文件
AcadMS:=AcadDoc.ModelSpace; //模型空间
Mpath:=ExtractFilePath(Application.ExeName);//获取主文件路径
end;procedure TForm1.Button1Click(Sender: TObject);
var
insPoint:Variant;
textHeight:integer;
textStr:string;
begin
insPoint:=VarArrayCreate([0,2],VT_R8); //定义插入点 (维数,类型)VT_8代表8字节的实型数
insPoint[0]:=2.0; //定义插入点X坐标
insPoint[1]:=4.0; //定义插入点Y坐标
insPoint[2]:=0.0; //定义插入点Z坐标
textHeight:=50;//文本高度
textStr:='Hello World!';//插入的文本字符
edit1.text:='Hello World!';
AcadApp.Visible:=True; //打开Autocad,使之可见
AcadMS.addText(textStr,varArrayRef(insPoint),textHeight);//将定义好的文本插入模型空间(文本,点指针,高度)
AcadDoc.SaveAS(Mpath+'hello.dwg'); //保存文件
{点评:在AutoCad的模型空间中,点是按照三维坐标进行定义的,即一个点由三个双精度数组成的
数组来定义。但由于Delphi是通过automation和autocad来进行通讯的,所以不能直接向autocad传
双精度数。}
end;
AcadMS.addCircle(圆心坐标(X,Y),半径);
uses comOBJ,ActiveX;//一定要加入ComObj,ActiveX两个单元procedure TForm1.FormCreate(Sender: TObject);
begin
try
AcadApp:= GetActiveOleObject('AutoCad.Application'); //取得当前打开的autocad这段代码很全,
但如果有问题的话,你查看一下你的ACAD版接口字,我记得ACAD2004是 AutoCad.Application16 ,也就是
AcadApp:= GetActiveOleObject('AutoCad.Application'); 这一句括号中的参数