ОтриÑовка полилинии и Ñохранение в DXF
Moderators: SDS, support, admin
ОтриÑовка полилинии и Ñохранение в DXF
ИмеютÑÑ ÐºÐ¾Ð¾Ñ€Ð´Ð¸Ð½Ð°Ñ‚Ñ‹ типа:
743.9741 71.7737
743.9741 171.7737
643.9741 171.7737
643.9741 71.7737
743.9741 71.7737
вопроÑ:
Как произвеÑти отриÑовку на sgImage и Ñохранить
в DXF приведите пример пожалуйÑта.
Ñ Ð£Ð²Ð°Ð¶ÐµÐ½Ð¸ÐµÐ¼ ÐлекÑей.
743.9741 71.7737
743.9741 171.7737
643.9741 171.7737
643.9741 71.7737
743.9741 71.7737
вопроÑ:
Как произвеÑти отриÑовку на sgImage и Ñохранить
в DXF приведите пример пожалуйÑта.
Ñ Ð£Ð²Ð°Ð¶ÐµÐ½Ð¸ÐµÐ¼ ÐлекÑей.
Доброго времени Ñуток!
Мы предлагаем Вашему вниманию два ÑпоÑоба ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð² <b>DXF</b> формат:
<ul><li>ИÑпользование пакета <b>DXF Export VCL</b> (доÑтупен по Ñледующей ÑÑылке: http://www.cadsofttools.com/download/dxfexportvcl.zip), при Ñтом промежуточным звеном ÑвлÑетÑÑ Ð¼ÐµÑ‚Ð°Ñ„Ð°Ð¹Ð» <b>Windows</b>. ИÑпользование метафайла накладывает некоторые ограничениÑ: Ñложные примитивы разбиваютÑÑ Ð½Ð° Ñ€Ñд проÑÑ‚Ñ‹Ñ…, терÑÑŽÑ‚ÑÑ Ð±Ð»Ð¾ÐºÐ¸ и Ñлои.</li>
<li>ИÑпользование нового продукта, находÑщегоÑÑ Ð² Ñтадии бета теÑÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ - <b>CAD to DXF Export</b> (доÑтупен по Ñледующей ÑÑылке: http://www.cadsofttools.com/download/CADtoDXF.zip) Результирующий файл полноÑтью ÑоответÑтвует <b>DXF</b> документации.</li></ul>
Следующий код показывает, как Ñто реализовать. ДобавлÑетÑÑ Ð¿Ñ€Ñмоугольник и ÑохранÑетÑÑ Ð² <b>DXF</b> файл:
<b>English</b>:
the question was how to add and to save Rectangle to <b>DXF</b> file format.
The answer is: here are two ways:
<ul><li>Usage of <b>DXF Export VCL</b> (available at: http://www.cadsofttools.com/download/dxfexportvcl.zip). Intermediate phase is <b>Windows</b> Metafile. There are some restrictions: complicated entities are split to rows of simple entities, blocks and layers are lost.</li>
<li>Usage of our new product - <b>CAD to DXF Export</b> (beta version is available at: http://www.cadsofttools.com/download/CADtoDXF.zip) Destination file is absolutely respective to <b>DXF</b> documentation.</li></ul>
The following demo adds rectangle and saves it to DXF file format:
<b>DXF Export VCL</b>:
<b>CAD to DXF Export</b>:
Sergey.
please post questions to the forum or write to support@cadsofttools.com
Мы предлагаем Вашему вниманию два ÑпоÑоба ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð² <b>DXF</b> формат:
<ul><li>ИÑпользование пакета <b>DXF Export VCL</b> (доÑтупен по Ñледующей ÑÑылке: http://www.cadsofttools.com/download/dxfexportvcl.zip), при Ñтом промежуточным звеном ÑвлÑетÑÑ Ð¼ÐµÑ‚Ð°Ñ„Ð°Ð¹Ð» <b>Windows</b>. ИÑпользование метафайла накладывает некоторые ограничениÑ: Ñложные примитивы разбиваютÑÑ Ð½Ð° Ñ€Ñд проÑÑ‚Ñ‹Ñ…, терÑÑŽÑ‚ÑÑ Ð±Ð»Ð¾ÐºÐ¸ и Ñлои.</li>
<li>ИÑпользование нового продукта, находÑщегоÑÑ Ð² Ñтадии бета теÑÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ - <b>CAD to DXF Export</b> (доÑтупен по Ñледующей ÑÑылке: http://www.cadsofttools.com/download/CADtoDXF.zip) Результирующий файл полноÑтью ÑоответÑтвует <b>DXF</b> документации.</li></ul>
Следующий код показывает, как Ñто реализовать. ДобавлÑетÑÑ Ð¿Ñ€Ñмоугольник и ÑохранÑетÑÑ Ð² <b>DXF</b> файл:
<b>English</b>:
the question was how to add and to save Rectangle to <b>DXF</b> file format.
The answer is: here are two ways:
<ul><li>Usage of <b>DXF Export VCL</b> (available at: http://www.cadsofttools.com/download/dxfexportvcl.zip). Intermediate phase is <b>Windows</b> Metafile. There are some restrictions: complicated entities are split to rows of simple entities, blocks and layers are lost.</li>
<li>Usage of our new product - <b>CAD to DXF Export</b> (beta version is available at: http://www.cadsofttools.com/download/CADtoDXF.zip) Destination file is absolutely respective to <b>DXF</b> documentation.</li></ul>
The following demo adds rectangle and saves it to DXF file format:
<b>DXF Export VCL</b>:
Code: Select all
<b>uses</b>
... SGImage, DXFImage, DXFConv, sgConsts, DXFExport;
<b>type</b>
TForm1 = <b>class</b>(TForm)
...
btnSaveByMetafile: TButton;
sgImage1: TsgImage;
OpenDialog1: TOpenDialog;
procedure btnSaveByMetafileClick(Sender: TObject);
<b>private</b>
<i><font color="blue">{ Private declarations }</font id="blue"></i>
FImg: TsgDXFImage;
...
<b>procedure</b> TForm1.btnSaveByMetafileClick(Sender: TObject);
<b>var</b>
vPoly: TsgDXFPolyline;
vVertex: TsgDXFVertex;
vMet: TMetafile;
E: TsgDXFExport;
vGr: TGraphic;
vOffX, vOffY, vUSize: TsgFloat;
<b>begin
if not</b> OpenDialog1.Execute <b>then</b>
Exit;
sgImage1.LoadFromFile(OpenDialog1.FileName);
<b>if</b> sgImage1.Picture.Graphic <b>is</b> TsgDXFImage <b>then
begin</b>
sgImage1.Align := alClient;
FImg := TsgDXFImage(sgImage1.Picture.Graphic);
<b>end
else
begin</b>
FImg := <b>nil</b>;
Exit;
<b>end</b>;
vPoly := TsgDXFPolyline.Create;
vVertex := TsgDXFVertex.Create;
vVertex.Point := MakeFPoint(<font color="blue">0</font id="blue">,<font color="blue">0</font id="blue">,<font color="blue">0</font id="blue">);
vPoly.AddEntity(vVertex);
vVertex := TsgDXFVertex.Create;
vVertex.Point := MakeFPoint(<font color="blue">1000</font id="blue">,<font color="blue">0</font id="blue">,<font color="blue">0</font id="blue">);
vPoly.AddEntity(vVertex);
vVertex := TsgDXFVertex.Create;
vVertex.Point := MakeFPoint(<font color="blue">1000</font id="blue">,<font color="blue">1000</font id="blue">,<font color="blue">0</font id="blue">);
vPoly.AddEntity(vVertex);
vVertex := TsgDXFVertex.Create;
vVertex.Point := MakeFPoint(<font color="blue">0</font id="blue">,<font color="blue">1000</font id="blue">,<font color="blue">0</font id="blue">);
vPoly.AddEntity(vVertex);
vPoly.Closed := True;
FImg.Converter.Layouts[<font color="blue">0</font id="blue">].AddEntity(vPoly);
<b>if</b> Assigned(FImg.Converter.OnCreate) <b>then</b>
FImg.Converter.OnCreate(vPoly);
FImg.Converter.Loads(vPoly);
FImg.GetExtents;
sgImage1.Refresh;
vGr := sgImage1.Picture.Graphic;
E := TsgDXFExport.Create;
<b>try</b>
E.IsParseWhite := True;
<b>if not</b> ((vGr <b>is</b> TsgDXFImage) <b>or</b> (vGr <b>is</b> TMetafile)) <b>then
begin</b>
ShowMessage(<font color="blue">'Raster drawings can not be saved to DXF format'</font id="blue">);
Exit;
<b>end
else
begin
if not</b> (vGr <b>is</b> TsgDXFImage) <b>then
begin</b>
E.Use01MM := False;
E.Canvas.StretchDraw(Rect(0, 0, vGr.Width, vGr.Height), vGr);
E.EndDraw;
<b>end
else
begin</b>
vMet := TsgDXFImage(vGr).ExportToMetafile(vOffX, vOffY, vUSize);
DXFExport.OffsetX := vOffX;
DXFExport.OffsetY := vOffY;
E.UnitSize := vUSize;
E.LoadFromMetafile(vMet);
vMet.Free;
<b>end</b>;
<b>end</b>;
E.SaveToFile(<font color="blue">'c:\SaveByMetafile.dxf'</font id="blue">);
<b>finally</b>
E.Free;
<b>end</b>;
<b>end</b>;
Code: Select all
<b>uses</b>
... SGImage, DXFImage, DXFConv, sgConsts, CADtoDXF;
<b>type</b>
TForm1 = <b>class</b>(TForm)
...
sgImage1: TsgImage;
btnSaveDirectly: TButton;
OpenDialog1: TOpenDialog;
<b>procedure</b> btnSaveDirectlyClick(Sender: TObject);
<b>private</b>
<i><font color="blue">{ Private declarations }</font id="blue"></i>
FImg: TsgDXFImage;
...
<b>procedure</b> TForm1.btnSaveDirectlyClick(Sender: TObject);
<b>const</b>
cnstLayerName: <b>string</b> = <font color="blue">'new_Layer'</font id="blue">;
cnstLTypeName: <b>string</b> = <font color="blue">'new_LType'</font id="blue">;
<b>var</b>
vPoly: TsgDXFPolyline;
vVertex: TsgDXFVertex;
vCADFile: TsgDXFImage;
vLType: TsgDXFLineType;
vExp: TsgCADtoDXF;
<b>begin</b>
vCADFile := TsgDXFImage.Create;
<b>try</b>
vCADFile.Converter.InitializeSections;
<i><font color="blue">{ Adding the new linetype to image-converter }</font id="blue"></i>
vLType := TsgDXFLineType.Create;
vLType.Name := cnstLTypeName;
vLType.Lines.AddTick(<font color="blue">25</font id="blue">); <font color="blue"><i>// length of the "solid" part of a line </i> </font id="blue">
vLType.Lines.AddTick(<font color="blue">-12.5</font id="blue">); <font color="blue"><i>// length of the "empty" part of a line </i></font id="blue">
vCADFile.Converter.Sections[csLTypes].AddEntity(vLType);
<i><font color="blue">{ Adding the polyline entity }</font id="blue"></i>
vPoly := TsgDXFPolyline.Create;
vVertex := TsgDXFVertex.Create;
vVertex.Point := MakeFPoint(<font color="blue">0</font id="blue">,<font color="blue">0</font id="blue">,<font color="blue">0</font id="blue">);
vPoly.AddEntity(vVertex);
vVertex := TsgDXFVertex.Create;
vVertex.Point := MakeFPoint(<font color="blue">1000</font id="blue">,<font color="blue">0</font id="blue">,<font color="blue">0</font id="blue">);
vPoly.AddEntity(vVertex);
vVertex := TsgDXFVertex.Create;
vVertex.Point := MakeFPoint(<font color="blue">1000</font id="blue">,<font color="blue">1000</font id="blue">,<font color="blue">0</font id="blue">);
vPoly.AddEntity(vVertex);
vVertex := TsgDXFVertex.Create;
vVertex.Point := MakeFPoint(<font color="blue">0</font id="blue">,<font color="blue">1000</font id="blue">,<font color="blue">0</font id="blue">);
vPoly.AddEntity(vVertex);
vPoly.Closed := True;
vPoly.SetColor(clBlue); <font color="blue"><i>// color </i></font id="blue">
vPoly.Layer := vCADFile.Converter.LayerByName(cnstLayerName);<font color="blue"><i>// Layer will be created automatically </i></font id="blue">
vPoly.SetLType(vCADFile.Converter.LTypeByName(cnstLTypeName));
<b>if</b> Assigned(vCADFile.Converter.OnCreate) <b>then</b>
vCADFile.Converter.OnCreate(vPoly);
vCADFile.Converter.Loads(vPoly);
vCADFile.Converter.Sections[csEntities].AddEntity(vPoly);
<i><font color="blue">{ Apply new drawing extents }</font id="blue"></i>
vCADFile.GetExtents;
<font color="blue"><i>{ Copying new drawing to the sgPaintBox } </i></font id="blue">
sgImage1.Picture.Graphic := vCADFile;
sgImage1.Align := alClient;
FImg := TsgDXFImage(sgImage1.Picture.Graphic);
sgImage1.Width := Round(vCADFile.AbsWidth);
sgImage1.Height := Round(vCADFile.AbsHeight);
sgImage1.Invalidate;
vExp := TsgCADtoDXF.Create(TsgDXFImage(sgImage1.Picture.Graphic));
vExp.Version := acR2000;
vExp.SaveToFile(<font color="blue">'c:\SaveDirectly.dxf'</font id="blue">);
vExp.Free;
<b>finally</b>
vCADFile.Free;
<b>end</b>;
<b>end</b>;
please post questions to the forum or write to support@cadsofttools.com
Ðеужели, чтобы нариÑовать полилинию или полигон
каждую точку так надо опиÑывать:
неужели так громоздко, или Ñ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾ понÑл?
ÐÐµÐ»ÑŒÐ·Ñ Ð»Ð¸ в цикле (координаты берутÑÑ Ð¸Ð· Stringgrid'a)
показать Ñамый проÑтой вариант?
каждую точку так надо опиÑывать:
Code: Select all
{ Adding the polyline entity }
vPoly := TsgDXFPolyline.Create;
vVertex := TsgDXFVertex.Create;
vVertex.Point := MakeFPoint(0,0,0);
vPoly.AddEntity(vVertex);
vVertex := TsgDXFVertex.Create;
vVertex.Point := MakeFPoint(1000,0,0);
vPoly.AddEntity(vVertex);
vVertex := TsgDXFVertex.Create;
vVertex.Point := MakeFPoint(1000,1000,0);
vPoly.AddEntity(vVertex);
vVertex := TsgDXFVertex.Create;
vVertex.Point := MakeFPoint(0,1000,0);
vPoly.AddEntity(vVertex);
vPoly.Closed := True;
ÐÐµÐ»ÑŒÐ·Ñ Ð»Ð¸ в цикле (координаты берутÑÑ Ð¸Ð· Stringgrid'a)
показать Ñамый проÑтой вариант?
ÐаÑчёт громоздкоÑти, Ñ Ð·Ð°Ð³Ð½ÑƒÐ» 
,извинÑÑŽÑÑŒ Ñам не разобралÑÑ, Ñ Ñ†Ð¸ÐºÐ»Ð¾Ð¼ понÑтно, но
Ñто ведь каждый раз ÑоздаётÑÑ Ð»Ð¸Ð½Ð¸Ñ Ð¸ в итоге при нажатии в Ðвтокаде
на ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚ "разбитый" на неÑколько отрезков,
CadtoDxf так ÑохранÑет или нет.
С Уважением ÐлекÑей.

,извинÑÑŽÑÑŒ Ñам не разобралÑÑ, Ñ Ñ†Ð¸ÐºÐ»Ð¾Ð¼ понÑтно, но
Ñто ведь каждый раз ÑоздаётÑÑ Ð»Ð¸Ð½Ð¸Ñ Ð¸ в итоге при нажатии в Ðвтокаде
на ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚ "разбитый" на неÑколько отрезков,
CadtoDxf так ÑохранÑет или нет.
С Уважением ÐлекÑей.
Ð”Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð¸Ñ POLYLINE в DXF необходимо опиÑать каждую вершину (VERTEX) - таков уж формат DXF.
Заметим, что VERTEX - Ñто не проÑто "точка" (!), здеÑÑŒ могут также хранитьÑÑ Ð´Ð°Ð½Ð½Ñ‹Ðµ о Start/Endwidth, Bulge (задаёт дугу) или Polyface vertex indexes (Ð¸Ð½Ð´ÐµÐºÑ Ð²ÐµÑ€ÑˆÐ¸Ð½ POLYFACE), о чём подробнее Ð’Ñ‹ можете почитать в документации по CADImportVCL (Ñм. опиÑание TsgDXFVertex и TsgDXFPolyline).
<blockquote id="quote"><font size="2" face="Verdana, Arial, Helvetica" id="quote">quote:<hr height="1" noshade id="quote">Ñто ведь каждый раз ÑоздаётÑÑ Ð»Ð¸Ð½Ð¸Ñ Ð¸ в итоге при нажатии в Ðвтокаде на ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚ "разбитый" на неÑколько отрезков<hr height="1" noshade id="quote"></font id="quote"></blockquote id="quote">
ПоÑÑните Ñто подробнее, что Ð’Ñ‹ имеете ввиду?
<blockquote id="quote"><font size="2" face="Verdana, Arial, Helvetica" id="quote">quote:<hr height="1" noshade id="quote">CadtoDxf так ÑохранÑет или нет.<hr height="1" noshade id="quote"></font id="quote"></blockquote id="quote">
CADtoDXF в текущей верÑии ÑохранÑет POLYLINE как 3dPolyline, а DXFExport как LWPOLYLINE.
DXFExport вообще изначально был ориентирован на ÑкÑпорт из метафайла, поÑтому его возможноÑти по прÑмому ÑкÑпорту доÑтаточно Ñкудны. Мы рекомендуем Вам раÑÑматривать далее именно CADtoDXF, так как Ñтот продукт обещает предоÑтавлÑÑ‚ÑŒ доÑтаточно широкий Ñпектр возможноÑтей по Ñозданию DXF-файлов и будет поÑтоÑнно ÑовершенÑтвоватьÑÑ.
- - -
Yours faithfully,
Pavel Poltavets,
senior developer Soft Gold Ltd.
Заметим, что VERTEX - Ñто не проÑто "точка" (!), здеÑÑŒ могут также хранитьÑÑ Ð´Ð°Ð½Ð½Ñ‹Ðµ о Start/Endwidth, Bulge (задаёт дугу) или Polyface vertex indexes (Ð¸Ð½Ð´ÐµÐºÑ Ð²ÐµÑ€ÑˆÐ¸Ð½ POLYFACE), о чём подробнее Ð’Ñ‹ можете почитать в документации по CADImportVCL (Ñм. опиÑание TsgDXFVertex и TsgDXFPolyline).
<blockquote id="quote"><font size="2" face="Verdana, Arial, Helvetica" id="quote">quote:<hr height="1" noshade id="quote">Ñто ведь каждый раз ÑоздаётÑÑ Ð»Ð¸Ð½Ð¸Ñ Ð¸ в итоге при нажатии в Ðвтокаде на ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚ "разбитый" на неÑколько отрезков<hr height="1" noshade id="quote"></font id="quote"></blockquote id="quote">
ПоÑÑните Ñто подробнее, что Ð’Ñ‹ имеете ввиду?
<blockquote id="quote"><font size="2" face="Verdana, Arial, Helvetica" id="quote">quote:<hr height="1" noshade id="quote">CadtoDxf так ÑохранÑет или нет.<hr height="1" noshade id="quote"></font id="quote"></blockquote id="quote">
CADtoDXF в текущей верÑии ÑохранÑет POLYLINE как 3dPolyline, а DXFExport как LWPOLYLINE.
DXFExport вообще изначально был ориентирован на ÑкÑпорт из метафайла, поÑтому его возможноÑти по прÑмому ÑкÑпорту доÑтаточно Ñкудны. Мы рекомендуем Вам раÑÑматривать далее именно CADtoDXF, так как Ñтот продукт обещает предоÑтавлÑÑ‚ÑŒ доÑтаточно широкий Ñпектр возможноÑтей по Ñозданию DXF-файлов и будет поÑтоÑнно ÑовершенÑтвоватьÑÑ.
- - -
Yours faithfully,
Pavel Poltavets,
senior developer Soft Gold Ltd.
Я имел ввиду то, что
при выводе Ñведений об объекте
(площадь, координаты, периметр).
Данные по нариÑованой в Ðвтокаде полилинии
такие:
LWPOLYLINE Layer: "0"
Space: Model space
Handle = 81
Closed
Constant width 0.0000
area 207623.0915
perimeter 1917.3910
at point X= 272.7671 Y= 732.3982 Z= 0.0000
at point X= 848.5099 Y= 496.2553 Z= 0.0000
at point X= 450.4655 Y= 245.9083 Z= 0.0000
at point X= 143.0472 Y= 251.2348 Z= 0.0000
at point X= 191.0258 Y= 648.9492 Z= 0.0000
, а Ñохранённые из CaDtoDxf Ð¿Ð¾Ð»Ð¸Ð»Ð¸Ð½Ð¸Ñ Ñ€Ð°Ð·Ð±Ð¸Ñ‚Ð°Ñ Ð½Ð° отрезки,
то еÑÑ‚ÑŒ Ñ Ð½Ðµ могу узнать площадь, периметр.
Ðужен такой же формат (Ñм.выше), а получаетÑÑ Ñ‚Ð°ÐºÐ¾Ð¹:
POLYLINE Layer: "new_Layer"
Space: Model space
Color: 5 (blue) Linetype: "new_LType"
Handle = 19
Closed space
First 3 points did not define a plane. No area calculated.
perimeter 0.0000
VERTEX Layer: "0"
Space: Model space
Color: 5 (blue) Linetype: "BYLAYER"
Handle = 1a
Space
at point, X= 120.0000 Y= 100.0000 Z= 0.0000
VERTEX Layer: "0"
Space: Model space
Color: 5 (blue) Linetype: "BYLAYER"
Handle = 1b
Space
at point, X= 121.0000 Y= 101.0000 Z= 0.0000
Press ENTER to continue:
VERTEX Layer: "0"
Space: Model space
Color: 5 (blue) Linetype: "BYLAYER"
Handle = 1c
Space
at point, X= 122.0000 Y= 102.0000 Z= 0.0000
END SEQUENCE Layer: "0"
Space: Model space
Handle = 1d
при выводе Ñведений об объекте
(площадь, координаты, периметр).
Данные по нариÑованой в Ðвтокаде полилинии
такие:
LWPOLYLINE Layer: "0"
Space: Model space
Handle = 81
Closed
Constant width 0.0000
area 207623.0915
perimeter 1917.3910
at point X= 272.7671 Y= 732.3982 Z= 0.0000
at point X= 848.5099 Y= 496.2553 Z= 0.0000
at point X= 450.4655 Y= 245.9083 Z= 0.0000
at point X= 143.0472 Y= 251.2348 Z= 0.0000
at point X= 191.0258 Y= 648.9492 Z= 0.0000
, а Ñохранённые из CaDtoDxf Ð¿Ð¾Ð»Ð¸Ð»Ð¸Ð½Ð¸Ñ Ñ€Ð°Ð·Ð±Ð¸Ñ‚Ð°Ñ Ð½Ð° отрезки,
то еÑÑ‚ÑŒ Ñ Ð½Ðµ могу узнать площадь, периметр.
Ðужен такой же формат (Ñм.выше), а получаетÑÑ Ñ‚Ð°ÐºÐ¾Ð¹:
POLYLINE Layer: "new_Layer"
Space: Model space
Color: 5 (blue) Linetype: "new_LType"
Handle = 19
Closed space
First 3 points did not define a plane. No area calculated.
perimeter 0.0000
VERTEX Layer: "0"
Space: Model space
Color: 5 (blue) Linetype: "BYLAYER"
Handle = 1a
Space
at point, X= 120.0000 Y= 100.0000 Z= 0.0000
VERTEX Layer: "0"
Space: Model space
Color: 5 (blue) Linetype: "BYLAYER"
Handle = 1b
Space
at point, X= 121.0000 Y= 101.0000 Z= 0.0000
Press ENTER to continue:
VERTEX Layer: "0"
Space: Model space
Color: 5 (blue) Linetype: "BYLAYER"
Handle = 1c
Space
at point, X= 122.0000 Y= 102.0000 Z= 0.0000
END SEQUENCE Layer: "0"
Space: Model space
Handle = 1d
То еÑÑ‚ÑŒ, например в компоненте TCaD (от китайÑких разработчиков)
Ñохранение вÑей рабочей облаÑти
проиÑходит вÑего одной процедурой SaveFileDXF(const filename:string)
очень проÑто;
Причём вÑÑ‘ нариÑованое ÑохранÑетÑÑ Ñ‚Ð°Ðº, как будто Ñ Ð²ÑÑ‘ риÑовал в Ðвтокаде без изменений, еÑÑ‚ÑŒ ли в CaDtoDXF подобное.
ÐœÐµÐ½Ñ Ð¸Ð½Ñ‚ÐµÑ€ÐµÑует конкретно отриÑовка (easy) примитивов, а конкретно полилинии в 2D из
Ñвоих координат, раÑпечатка в маÑштабе и Ñохранение в DXF.
Приведите примеры по Ñтим темам пожалуйÑта.
С ÐаÑтупающим 2007 годом.
С Уважением ÐлекÑей.
Ñохранение вÑей рабочей облаÑти
проиÑходит вÑего одной процедурой SaveFileDXF(const filename:string)
очень проÑто;
Причём вÑÑ‘ нариÑованое ÑохранÑетÑÑ Ñ‚Ð°Ðº, как будто Ñ Ð²ÑÑ‘ риÑовал в Ðвтокаде без изменений, еÑÑ‚ÑŒ ли в CaDtoDXF подобное.
ÐœÐµÐ½Ñ Ð¸Ð½Ñ‚ÐµÑ€ÐµÑует конкретно отриÑовка (easy) примитивов, а конкретно полилинии в 2D из
Ñвоих координат, раÑпечатка в маÑштабе и Ñохранение в DXF.
Приведите примеры по Ñтим темам пожалуйÑта.
С ÐаÑтупающим 2007 годом.
С Уважением ÐлекÑей.
<blockquote id="quote"><font size="2" face="Verdana, Arial, Helvetica" id="quote">quote:<hr height="1" noshade id="quote"> Я имел ввиду то, что при выводе Ñведений об объекте
(площадь, координаты, периметр).
Данные по нариÑованой в Ðвтокаде полилинии такие:
...<hr height="1" noshade id="quote"></font id="quote"></blockquote id="quote">
Проблема ÑÑна, Ð´Ð»Ñ 3dPolyline AutoCAD (TM) не показывает площадь и периметр.
ПовторюÑÑŒ, CADtoDXF в текущей верÑии ÑохранÑет POLYLINE как 3dPolyline, а DXFExport как LWPOLYLINE. Так как CADtoDXF базируетÑÑ Ð½Ð° иерархии клаÑÑов из CADImportVCL, в котором POLYLINE Ñделан в общем виде (как трехмерный 3dPolyline), то такой неприÑтный Ñффект, как Ñохранение POLYLINE в трехмерном виде удаÑÑ‚ÑÑ ÑƒÑтранить только поÑле корректировки дерева наÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¸Ð¼Ð¸Ñ‚Ð¸Ð²Ð¾Ð² в CADImportVCL. Мы обÑзательно планируем решать данную задачу, однако здеÑÑŒ не можем указать Ñроки ее решениÑ, в Ñилу нетривиальноÑти поÑтановки.
<blockquote id="quote"><font size="2" face="Verdana, Arial, Helvetica" id="quote">quote:<hr height="1" noshade id="quote">То еÑÑ‚ÑŒ, например в компоненте TCaD (от китайÑких разработчиков) Ñохранение вÑей рабочей облаÑти
проиÑходит вÑего одной процедурой SaveFileDXF(const filename:string)
очень проÑто;
Причём вÑÑ‘ нариÑованое ÑохранÑетÑÑ Ñ‚Ð°Ðº, как будто Ñ Ð²ÑÑ‘ риÑовал в Ðвтокаде без изменений, еÑÑ‚ÑŒ ли в CaDtoDXF подобное.
ÐœÐµÐ½Ñ Ð¸Ð½Ñ‚ÐµÑ€ÐµÑует конкретно отриÑовка (easy) примитивов, а конкретно полилинии в 2D из Ñвоих координат, раÑпечатка в маÑштабе и Ñохранение в DXF.
Приведите примеры по Ñтим темам пожалуйÑта.
С ÐаÑтупающим 2007 годом.
<hr height="1" noshade id="quote"></font id="quote"></blockquote id="quote">
Ð’Ñ‹ имеете ввиду Ñохранение отÑеченной облаÑти?
То еÑÑ‚ÑŒ Ð’Ñ‹, например, выделÑете прÑмоугольником облаÑÑ‚ÑŒ на чертеже и хотите Ñохранить Ñту чаÑÑ‚ÑŒ в DXF или Ñохранить в DXF видимую на Ñкране чаÑÑ‚ÑŒ чертежа как Ñто Ñделано в нашем продукте ABViewer (http://www.cadsofttools.com/en/products/abviewer.html). ЕÑли так, то в CADtoDXF пока такой возможноÑти нет, Ñта Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð´Ð¾Ñтупна в DXFExportVCL, но только при ÑкÑпорте метафайла (предварительно в нем задаетÑÑ Ñ€ÐµÐ³Ð¸Ð¾Ð½ отÑечениÑ).
СпаÑибо за поздравление. Ð’Ð°Ñ Ñ‚Ð°ÐºÐ¶Ðµ Ñ Ðовым Годом.
- - -
Yours faithfully,
Pavel Poltavets,
senior developer Soft Gold Ltd.
(площадь, координаты, периметр).
Данные по нариÑованой в Ðвтокаде полилинии такие:
...<hr height="1" noshade id="quote"></font id="quote"></blockquote id="quote">
Проблема ÑÑна, Ð´Ð»Ñ 3dPolyline AutoCAD (TM) не показывает площадь и периметр.
ПовторюÑÑŒ, CADtoDXF в текущей верÑии ÑохранÑет POLYLINE как 3dPolyline, а DXFExport как LWPOLYLINE. Так как CADtoDXF базируетÑÑ Ð½Ð° иерархии клаÑÑов из CADImportVCL, в котором POLYLINE Ñделан в общем виде (как трехмерный 3dPolyline), то такой неприÑтный Ñффект, как Ñохранение POLYLINE в трехмерном виде удаÑÑ‚ÑÑ ÑƒÑтранить только поÑле корректировки дерева наÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¸Ð¼Ð¸Ñ‚Ð¸Ð²Ð¾Ð² в CADImportVCL. Мы обÑзательно планируем решать данную задачу, однако здеÑÑŒ не можем указать Ñроки ее решениÑ, в Ñилу нетривиальноÑти поÑтановки.
<blockquote id="quote"><font size="2" face="Verdana, Arial, Helvetica" id="quote">quote:<hr height="1" noshade id="quote">То еÑÑ‚ÑŒ, например в компоненте TCaD (от китайÑких разработчиков) Ñохранение вÑей рабочей облаÑти
проиÑходит вÑего одной процедурой SaveFileDXF(const filename:string)
очень проÑто;
Причём вÑÑ‘ нариÑованое ÑохранÑетÑÑ Ñ‚Ð°Ðº, как будто Ñ Ð²ÑÑ‘ риÑовал в Ðвтокаде без изменений, еÑÑ‚ÑŒ ли в CaDtoDXF подобное.
ÐœÐµÐ½Ñ Ð¸Ð½Ñ‚ÐµÑ€ÐµÑует конкретно отриÑовка (easy) примитивов, а конкретно полилинии в 2D из Ñвоих координат, раÑпечатка в маÑштабе и Ñохранение в DXF.
Приведите примеры по Ñтим темам пожалуйÑта.
С ÐаÑтупающим 2007 годом.
<hr height="1" noshade id="quote"></font id="quote"></blockquote id="quote">
Ð’Ñ‹ имеете ввиду Ñохранение отÑеченной облаÑти?
То еÑÑ‚ÑŒ Ð’Ñ‹, например, выделÑете прÑмоугольником облаÑÑ‚ÑŒ на чертеже и хотите Ñохранить Ñту чаÑÑ‚ÑŒ в DXF или Ñохранить в DXF видимую на Ñкране чаÑÑ‚ÑŒ чертежа как Ñто Ñделано в нашем продукте ABViewer (http://www.cadsofttools.com/en/products/abviewer.html). ЕÑли так, то в CADtoDXF пока такой возможноÑти нет, Ñта Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð´Ð¾Ñтупна в DXFExportVCL, но только при ÑкÑпорте метафайла (предварительно в нем задаетÑÑ Ñ€ÐµÐ³Ð¸Ð¾Ð½ отÑечениÑ).
СпаÑибо за поздравление. Ð’Ð°Ñ Ñ‚Ð°ÐºÐ¶Ðµ Ñ Ðовым Годом.
- - -
Yours faithfully,
Pavel Poltavets,
senior developer Soft Gold Ltd.