Как нариÑовать окружноÑÑ‚ÑŒ (circle) и залить
Moderators: SDS, support, admin
Как нариÑовать окружноÑÑ‚ÑŒ (circle) и залить
Как можно нариÑовать circle и залить solid
приведите приведите пример пожалуйÑта.
приведите приведите пример пожалуйÑта.
Ðиже приведены два примера ÑоответÑтвенно двум продуктам.
Ð”Ð»Ñ CADtoDXF (на оÑнове кода, приведенного в http://www.soft-gold.ru/forum/topic.asp?TOPIC_ID=469):
Ð”Ð»Ñ Ð¿Ñ€Ð¾Ð´ÑƒÐºÑ‚Ð° DXFExportVCL (на оÑнове Ð¼Ð¾Ð´ÑƒÐ»Ñ Main.pas демы):
- - -
Yours faithfully,
Pavel Poltavets,
senior developer Soft Gold Ltd.
Ð”Ð»Ñ CADtoDXF (на оÑнове кода, приведенного в http://www.soft-gold.ru/forum/topic.asp?TOPIC_ID=469):
Code: Select all
...
{ Adding the CIRCLE entity }
vCircle := TsgDXFCircle.Create;
vCircle.Radius := 30; // radius
vCircle.Point := MakeFPoint(110, 160, 0); // center point
vCircle.SetColor(clRed); // color
vCircle.Layer := vCADFile.Converter.LayerByName(cnstLayerName);
vCircle.SetLType(vCADFile.Converter.LTypeByName(cnstLTypeName));
if Assigned(vCADFile.Converter.OnCreate) then
vCADFile.Converter.OnCreate(vCircle);
vCADFile.Converter.Loads(vCircle);
vCADFile.Converter.Sections[csEntities].AddEntity(vCircle);
{ Adding the SOLID entity }
vSolid := TsgDXFSolid.Create;
vSolid.Point := MakeFPoint(20, 50, 0);
vSolid.Point1 := MakeFPoint(80, 50, 0);
vSolid.Point2 := MakeFPoint(80, 90, 0);
vSolid.Point3 := MakeFPoint(20, 90, 0);
vSolid.SetColor(clNavy); // color
vSolid.Layer := vCADFile.Converter.LayerByName(cnstLayerName);
if Assigned(vCADFile.Converter.OnCreate) then
vCADFile.Converter.OnCreate(vSolid);
vCADFile.Converter.Loads(vSolid);
vCADFile.Converter.Sections[csEntities].AddEntity(vSolid);
...
Code: Select all
procedure TfmDXFExporter.btnFormShapesClick(Sender: TObject);
...
// SOLID
FillChar(Data, SizeOf(Data), 0);
Data.Color := DXF_LIME;
Data.Point := MakeExpPoint(240, -50, 0);
Data.Point1 := MakeExpPoint(300, -40, 0);
Data.Point2 := MakeExpPoint(260, -90, 0);
Data.Point3 := MakeExpPoint(310, -80, 0);
vDXF.AddSolid(Data);
...
Yours faithfully,
Pavel Poltavets,
senior developer Soft Gold Ltd.