Natürlich. Die hatten vermutlich nur keinen Bock dir das zu erläutern? Dort kriegst du alles was du willst. Daraus kannst du ggf. Flächeninhalte ermitteln. Dir auch frohe Weihnachten.
Delphi-Quellcode:
function TAutoCadImportierenForm.ReadCADEntities(Entity: TsgDXFEntity): Integer;
begin
Result := 0;
DoScale2D(FsgCADIterate);
if Entity.EntType = ceViewport then
begin
Result := 1;
ImportViewPortBegin(Entity);
end
else
if Entity.Visibility then
begin
case Entity.EntType of
ceLine:
ImportLine(Entity);
cePoint:
ImportPoint(Entity);
ceCircle:
ImportCircle(Entity);
ceArc:
ImportArc(Entity);
ceEllipse:
ImportEllipse(Entity);
cePolyline, cePath:
ImportPolyLine(Entity);
ceFlatPoly:
ImportFlatPolyLine(Entity);
ceSpline, ceLeader:
ImportSpline(Entity);
ceSolid:
ImportSolid(Entity);
end;
end;
end;
procedure TAutoCadImportierenForm.ImportPolyLine(Sender: TObject);
var
sgDXFPolyLine: TsgDXFPolyLine;
P: TFPoint;
I: Integer;
Vertex: TsgDXFVertex;
begin
sgDXFPolyLine := TsgDXFPolyLine(Sender);
for I := 0 to sgDXFPolyLine.Count - 1 do
begin
Vertex := TsgDXFVertex(sgDXFPolyLine.Entities[I]);
P := FPointXMat(Vertex.Point, FsgCADIterate.Matrix);
AddSnapPoint(P);
end;
end;