poniedziałek, 15 sierpnia 2011

Connect To CAD

Można wykorzystać język Object Pascal  do np. sterowania AutoCadem, poniżej zaprezentuje kod źródłowy który umożliwia narysowanie dwóch okręgów stycznych do siebie.

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