DXF Object

This command offers 2D DXF file import. With this feature you can import data from CAD systems which provide the famous DXF file format from Autodesk Inc. as an export option.

The 2D data is imported relative to the current coordinate system and extruded with a profile height to a 3D solid. Use this import option to import printed circuits or complex microstrip lines.

If you need to import pure 3D data it is recommended to use the SAT or IGES import.

Methods

Reset

Resets the import options to the default.

 

FileName ( filename filename )

Sets the name of the file to import or export.

 

Version ( double version )

Sets the version of the import filter, since the behaviour of the import may slightly change from version to version. This setting is available for backward compatibility reasons and should ensure that later versions of the import can exactly reproduce the behaviour of earlier versions. The most recent version of the import is 5.1.

 

ScaleToUnit ( bool switch )

If set to True the imported model is scaled to the currently active unit. The scale factor is determined by the unit of the import model and the currently active unit in the project. As the unit of the import model are not defined in the import file you have to specify the unit of the import model by using  ImportFileUnits. If not activated no scaling occurs.

 

ImportFileUnits ( enum {"m", "cm", "mm", "um", "nm", "ft", "mil", "in"} units )

Sets the units of the imported model. The units have to be defined when ScaleToUnit is activated.

 

UseModelTolerance ( bool switch )

If set to True, then the vertices of the imported model are merged to one vertex if they are inside the defined Model Tolerance.

 

ModelTolerance ( double tolerance )

Sets the model tolerance which is used to define whether vertices are equal. The model tolerance has to be defined when UseModelTolerance is activated.

 

Height ( double height )

This value specifies the extrusion height applied to the 2D profiles to create a 3D solid. The default value 0.0 leads to a very thin (not exact zero) profile.

 

Offset ( double offset )

This value specifies the distance of the imported 2D profiles relative to the active coordinate system.

 

AddAllShapes( enum{"True", "False"}  switch )

Set this parameter to "True" in order to create one single shape for each layer of the imported data.

 

PreserveHoles ( enum{"True", "False"}  switch )

If set to True, then the holes of the shape are preserved. This option is only considered when AddAllShapes is activated.

 

CloseShapes ( enum{"True", "False"}  switch )

Profiles which have a different start and end point are automatically closed, if this parameter is "True".

 

ExtendedDXF ( enum{"True", "False"}  switch )

This option provides a fully functional 2D import of DXF files containing BLOCKS, THICK LINES, SOLIDS and more. Moreover that you can select certain layers you want to import. You need the appropriate license to use this feature. When this option is not used, the DXF import is restricted to POLYLINES, LINES, CIRCLES and ARCS without any hierarchy.

 

Id ( int id )

A CAD file may be imported more than once into the same project with different settings of import options or layer selections. In order to improve the performance of structure rebuilds, an intermediate file is stored during the import process which allows to quickly re-read the data during rebuilds in case that the original CAD file has not been modified. The naming convention of the intermediate file follows the name of the original file, but is marked with a tilde at the end of the file name. However, these names have to be unique for each individual import step. Therefore, in case that the same file is imported more than once into the project, the Id setting needs to be increased. The Id will then be incorporated into the file name which ensures unique file names for every import.

 

Healing ( enum{"True", "False"}  switch )

If set to "True" vertices or edges which are not aligned are healed during the import.

 

HealSelfIntersections ( enum{"True", "False"}  switch )

If set to "True" self intersecting profiles are automatically repaired during import. Use this option only when there are actually self intersections. Without this option set the import is much faster.

 

AsCurves ( enum{"True", "False"}  switch )

Reads the geometric structure of the corresponding data file as curves (switch = "True") or as solids (switch = "False"). The import as curves offers a fast possibility to get a sufficient impression of the complete structure.

 

LayerSelection ( bool switch )

Enables/disables the layer selection.

 

Layer ( string importlayer, string targetlayer, double elevation, double thickness )

Specifies the name, elevation and thickness for each imported layer.

 

AddLayer ( string importlayer, string targetlayer, double elevation, double thickness , double etch_factor)

Specifies the name, elevation, thickness and etch factor for each imported layer.

 

AllowZeroHeight ( bool switch )

Set this option to allow shapes of zero height.

 

SetSimplifyActive ( bool switch )

Set this option to enable the polygon simplification.

 

SetSimplifyMinPointsArc ( int nCount )

Minimum number of segments needed to recognize an arc. Must be >= 3.

 

SetSimplifyMinPointsCircle ( int nCount )

Minimum number of segments needed for complete circles. Must be > 'SetSimplifyMinPointsArc' and at least 5.

 

SetSimplifyAngle ( double angle )

The maximum angle in degrees between two adjacent segments. All smaller angles will be considered to be simplified. The angle is only used for arcs and not for circles.

 

SetSimplifyAdjacentTol ( double angle )

Is only used by the simplification algorithm to find a good starting point for arcs. It means the maximum angular difference in the angle of adjacent segments. A good value for this parameter will be 1.0.

 

SetSimplifyRadiusTol ( double deviation )

This means the maximum deviation in percent the distance a segment end point can have to the current definition of the simplification circle center point. The tolerance is used for circles and arcs.

 

SetSimplifyAngleTang ( double angle )

Maximum angular tolerance in radians used when deciding to create the arc tangential or not to it's adjacent line segments. If an angle is beneath the specified value, the arc is build tangential to the neighbour edge.

 

SetSimplifyEdgeLength ( double length )

Edges smaller than the defined length will be removed. Can be used to remove tiny fragments.

 

Read

Starts the import of the file.

 

Write

Starts the export of the file.

Default Settings

FileName ("")

Version (4.0)

CloseShapes ("True")

AddAllShapes ("False")

PreserveHoles ("True")

ExtendedDXF ("False")

Id (0)

Healing ("True")

HealSelfIntersections ("False")

AsCurves ("False")

LayerSelection (False)

AllowZeroHeight (False)

ScaleToUnit ("False")

ImportFileUnits ("m")

UseModelTolerance (False)

ModelTolerance (0.0001)

SetSimplifyActive (False)

SetSimplifyMinPointsArc (3)

SetSimplifyMinPointsCircle (5)

SetSimplifyAngle (5.0)

SetSimplifyAdjacentTol (1.0)

SetSimplifyRadiusTol (5.0)

SetSimplifyAngleTang (1.0)

SetSimplifyEdgeLength (0.0)

Examples

With DXF

     .Reset

     .FileName (".\example.dxf")

     .AddAllShapes ("False")

     .PreserveHoles ("True")

     .CloseShapes ("True")

     .AsCurves ("False")

     .HealSelfIntersections ("True")

     .Id "1"

     .SetSimplifyActive "True"

     .SetSimplifyAngle "5.0"

     .SetSimplifyRadiusTol "5.0"

     .SetSimplifyEdgeLength "0.0"

     .ScaleToUnit "False"

     .ImportFileUnits "m"

     .UseModelTolerance "False"

     .ModelTolerance "0.0001"

     .AddLayer ("rf_circuit", "rf_circuit", "0.0", "0.0", "0.0")

     .Read

End With

 

With DXF

     .Reset

     .FileName (".\example.dxf")

     .Write

End With