Disegnare nello spazio modello in Autocad con Delphi

Per aggiungere un elemento allo spazio modello del documento attivo è necessario usare la funzione GetActiveDocument dell'interfaccia IAcadApplication e successivamente recuperando il ModelSpace. A questo punto potremo disegnarci dentro quello che ci pare; nell'esempio seguente verrà disegnato un cerchio:

var
 Acad: IAcadApplication;
 
//dopo esserci connessi all'applicazione Autocad
//potremo usare la seguente funzione:
 
procedura DisegnaCerchio;
var 
 Cerchio, Punto, Mspace : OleVariant;
begin
 // Crea il centro del cerchio
 Punto := VarArrayCreate([0,2], VT_R8);
 Punto[0] := 2.5; Punto[1] := 3.0; Punto[2] := 0.0;
 
 // Recupera il documento attualmente aperto e il suo spazio modello
 Mspace := Acad.ActiveDocument.Modelspace;
 
 // Usa la funzione AddCircle() per creare un cerchio di raggio 10 unità
 Cerchio := Mspace.AddCircle(Punto, 10.0); 
 
 // Aggiorna il cerchio
 Cerchio.Update;
end;
 
procedura DisegnaPoly2D;
var 
   Poly, Mspace : OleVariant;
begin
  // Crea polylinea per 3 punti
  Poly:=VarArrayCreate([0,5],varDouble);
  //inserisce i punti (0,0)(1.5,2)(2,3)
  Poly[0]:=0; Poly[1]:=0;
  Poly[2]:=1.5; Poly[3]:=2.0;
  Poly[4]:=2.0; Poly[5]:=3.0;
 
  // Recupera il documento attualmente aperto e il suo spazio modello
  Mspace := Acad.ActiveDocument.Modelspace;
 
  // Usa la funzione AddLightWeightPolyline() 
  // per creare una polilinea bidimensionale
  Mspace.AddLightWeightPolyline(Poly); 
end;

Allo stesso modo potremo aggiungere linee, polilinee, blocchi , etc..

Compago