Co do kwestii rysowania możliwości są ogromne, można stworzyć np. własną bibliotekę K1 i praktycznie wykorzystać AutoCada do kreślenia mapy numerycznej (współrzędne podaje się w kodzie...)
function ConnectToCAD1:Boolean;
begin
Result:=False;
try
try
AcadApp:=GetActiveOleObject('AutoCad.Application.17');
except
AcadApp:=CreateOleObject('AutoCad.Application.17');
AcadApp.Visible:=True;
end;
AcadDoc:=AcadApp.ActiveDocument;
if ACadApp.Documents.Count >0 then
begin
AcadDwg:=AcadDoc.ModelSpace;
Result:=True;
end
else
ShowMessage('yyy');
except
ShowMessage('xxx');
end;
end;
function p2d(x,y:Double):OleVariant;
begin
Result:=VarArrayCreate([0,2],varDouble);
Result[0]:=x; Result[1]:=y; Result[2]:=0;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
Okr1,Okr2:OleVariant;
x,y,r1,r2:Double;
begin
ConnectToCAD1;
x:=50; y:=50;
r1:= 20; r2:=30;
Okr1:=AcadDwg.AddCircle(p2d(x,y),r1);
Okr2:=AcadDwg.AddCircle(p2d(x+r1+r2,y),r2)
W kodzie podane są współrzędne środka oraz promienie.
x:=50; y:=50;
r1:= 20; r2:=30;
Okr1:=AcadDwg.AddCircle(p2d(x,y),r1);
Okr2:=AcadDwg.AddCircle(p2d(x+r1+r2,y),r2)
Oto efekt :
Brak komentarzy:
Prześlij komentarz