Class Block_ (unit DXF_structs)

Inherits from

DXF_Entity

///////////////////////////////////////////////////////////////////////////// Block_ Definition - special case - not to be used like other entities Blocks should always appear in layer '0' I'm still not quite sure what to do with them - but here goes anyway... /////////////////////////////////////////////////////////////////////////////

Constructors


constructor create(bname:string; refpoint:Point3D);

///////////////////////////////////////////////////////////////////////////// Block_ class implementation /////////////////////////////////////////////////////////////////////////////


Functions

function closest_vertex(p:Point3D) : Point3D;


function closest_vertex_square_distance_2D(p:Point3D) : double;


destructor destroy;


function details : string;


procedure Draw(acanvas:TCanvas; map_fn:coord_convert; OCS:pM);


procedure DrawVertices(acanvas:TCanvas; map_fn:coord_convert; OCS:pM);

we mustn't use the update_transformations call because blocks may be nested inside blocks inside other blocks, and update_transformations uses a temp fixed matrix which will be overwritten.

procedure max_min_extents(var emax,emin:Point3D);


procedure update_block_links(blist:TObject);


procedure write_to_DXF(var IO:textfile; layer:string);


Properties

Events

Variables

basepoint : Point3D;


entities : TList;


name : string;



Constructors


constructor create(bname:string; refpoint:Point3D);

///////////////////////////////////////////////////////////////////////////// Block_ class implementation /////////////////////////////////////////////////////////////////////////////


Functions


function closest_vertex(p:Point3D) : Point3D;


function closest_vertex_square_distance_2D(p:Point3D) : double;


destructor destroy;


function details : string;


procedure Draw(acanvas:TCanvas; map_fn:coord_convert; OCS:pM);


procedure DrawVertices(acanvas:TCanvas; map_fn:coord_convert; OCS:pM);

we mustn't use the update_transformations call because blocks may be nested inside blocks inside other blocks, and update_transformations uses a temp fixed matrix which will be overwritten.


procedure max_min_extents(var emax,emin:Point3D);


procedure update_block_links(blist:TObject);


procedure write_to_DXF(var IO:textfile; layer:string);


Properties


Events


Variables


basepoint : Point3D;


entities : TList;


name : string;