Как сохранить полилинию в LWPOLYLINE

Discuss and ask questions about CAD VCL (Delphi and C++ Builder).

Moderators: SDS, support, admin

Post Reply
Rio
Posts: 9
Joined: 26 Dec 2006, 01:25
Location: Russia
Contact:

Как сохранить полилинию в LWPOLYLINE

Post by Rio » 06 Feb 2007, 15:45

Как сохранить полилинию в LWPOLYLINE как в DXFExport в файл DXF?
приведите пример пожалуйста
1 из имющихся координат.
2 из компонента SGImage.

PoltP
Posts: 8
Joined: 20 Jul 2006, 12:47
Location: Russia
Contact:

Post by PoltP » 07 Feb 2007, 18:05

Пример создания LWPOLYLINE есть в Demo DXFExporter(Main.pas>TfmDXFExporter.btnFormShapesClick):

Code: Select all

...
    FillChar(Data, SizeOf(Data), 0);
    Data.Color := ColorToDXF(TColor($224AF5));
    Data.GlobalWidth := 5;// Constant width DXF code 43
    Data.Points := TList.Create;
    Data.Points.Add(TList.Create);
    New(Pt);
    Pt^ := MakeExpPoint(310, -190, 0);
    TList(Data.Points[0]).Add(Pt);
    New(Pt);
    Pt^ := MakeExpPoint(-60, -100, 0);
    TList(Data.Points[0]).Add(Pt);
    New(Pt);
    Pt^ := MakeExpPoint(-60, 100, 0);
    TList(Data.Points[0]).Add(Pt);
    New(Pt);
    Pt^ := MakeExpPoint(20, 170, 0);
    TList(Data.Points[0]).Add(Pt);
    New(Pt);
    Pt^ := MakeExpPoint(600, 170, 0);
    TList(Data.Points[0]).Add(Pt);
    New(Pt);
    Pt^ := MakeExpPoint(680, 100, 0);
    TList(Data.Points[0]).Add(Pt);
    New(Pt);
    Pt^ := MakeExpPoint(680, -100, 0);
    TList(Data.Points[0]).Add(Pt);
    Data.Count := Data.Points.Count;
    Data.Flags := 1; // closed
    vDXF.AddPolyLine(Data, 0);// one boundary
    FreeDataPoints;
...
здесь создаётся именно LWPOLYLINE, а не POLYLINE.

2. Из sgImage сохранение в DXF возможно только через метафайл (см. Demo Viewer).

Если я не ошибаюсь, мы уже давали Вам ссылку на новый продукт - прямой экспорт ( http://www.soft-gold.ru/forum/topic.asp?TOPIC_ID=469 )? Вы не используете его?

- - -
Yours faithfully,
Pavel Poltavets,
senior developer Soft Gold Ltd.

Post Reply