📄 testunit1.pas
字号:
unit testUnit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs,comobj,activeX,
StdCtrls;
type
TtestForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
Button3: TButton;
Button4: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
obj_Acad ,obj_Doc,obj_modelspace, pnt_Start,Line_Screen:OleVariant;
Line_number:integer;
selectOne:OleVariant;
end;
var
testForm1: TtestForm1;
implementation
{$R *.dfm}
procedure TtestForm1.FormCreate(Sender: TObject);
begin
try
obj_Acad:=GetActiveOleObject('AutoCAD.Application');
except
obj_Acad:=CreateOleObject('AutoCAD.Application');
end;
obj_Acad.Visible:=false;
obj_Doc:=obj_Acad.ActiveDocument;
end;
procedure TtestForm1.Button1Click(Sender: TObject);
var
pnt_End:OleVariant;
begin
obj_ModelSpace:=obj_Doc.ModelSpace;
pnt_Start:=VarArrayCreate([0,2],VT_R8);
pnt_End:=VarArrayCreate([0,2],VT_R8);
pnt_Start[0]:=5.0;
pnt_Start[1]:=5.0;
pnt_Start[2]:=0.0;
pnt_End[0]:=15.0;
pnt_End[1]:=5.0;
pnt_End[2]:=0.0;
Edit1.Text:=obj_Doc.GetVariable('CECOLOR');
obj_Doc.SetVariable('CECOLOR','green');
obj_ModelSpace.AddLine(VarArrayRef(pnt_Start), VarArrayRef(Pnt_end)).Update;
obj_ModelSpace.AddCircle(VarArrayRef(pnt_Start), 10).Update;
obj_Acad.Visible:=true;
end;
procedure TtestForm1.Button2Click(Sender: TObject);
var
obj_TextStyles:OleVariant;
obj_AcadUtility:OleVariant;
obj_SongStyle:OleVariant;
Ole_point:OleVariant;
Ole_Height:OleVariant;
Ole_Text:OleVariant;
begin
obj_TextStyles:=obj_Doc.TextStyles;
obj_AcadUtility:=obj_Doc.Utility;
obj_SongStyle:=obj_TextStyles.add('宋体');
//obj_SongStyle.fontfile:='simsun.ttf';
obj_Doc.activeTextStyle:=obj_SongStyle;
//Ole_point:=obj_AcadUtility.GetPoint(,'请输入文本的插入点');
Ole_Height:=30;//obj_AcadUtility.GetDistance(pnt_Start,'请输入文本的高度');
Ole_Text:='mzrong-120576';//obj_AcadUtility.GetString(1,'请输入文本内容:');
obj_ModelSpace.AddText(Ole_Text,VarArrayRef(pnt_Start),Ole_Height);
end;
procedure TtestForm1.Button3Click(Sender: TObject);
var
i:integer;
begin
selectOne:=obj_Doc.selectionSets.add('test');
selectone.selectOnScreen;
line_number:=selectOne.count;
edit1.Text:=inttostr(Line_number);
Line_Screen:=VarArrayCreate([0,Line_number],varVariant);
for i:=0 to Line_number-1 do
begin
Line_Screen[i]:=SelectOne.Item(i);
end;
end;
procedure TtestForm1.Button4Click(Sender: TObject);
var
obj_BlockText:OleVariant;
begin
obj_blockText:=obj_Doc.Blocks.add(VarArrayRef(pnt_Start),'grout');
obj_blockText.addCircle(VarArrayRef(pnt_Start),100).update;
obj_blockText.addCircle(VarArrayRef(pnt_Start),200).update;
obj_blockText.addCircle(VarArrayRef(pnt_Start),300).update;
obj_Doc.modelSpace.insertBlock(VarArrayRef(pnt_Start),'grout',2,1,0);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -