ClassesClasses | | Operators

read_contour_xld_dxfread_contour_xld_dxfReadContourXldDxfReadContourXldDxf (Operator)

Name

read_contour_xld_dxfread_contour_xld_dxfReadContourXldDxfReadContourXldDxf — Read XLD contours from a DXF file.

Signature

read_contour_xld_dxf( : Contours : FileName, GenParamName, GenParamValue : DxfStatus)

Herror read_contour_xld_dxf(Hobject* Contours, const char* FileName, const char* GenParamName, double GenParamValue, char* DxfStatus)

Herror T_read_contour_xld_dxf(Hobject* Contours, const Htuple FileName, const Htuple GenParamName, const Htuple GenParamValue, Htuple* DxfStatus)

void ReadContourXldDxf(HObject* Contours, const HTuple& FileName, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* DxfStatus)

HTuple HXLDCont::ReadContourXldDxf(const HString& FileName, const HTuple& GenParamName, const HTuple& GenParamValue)

HString HXLDCont::ReadContourXldDxf(const HString& FileName, const HString& GenParamName, double GenParamValue)

HString HXLDCont::ReadContourXldDxf(const char* FileName, const char* GenParamName, double GenParamValue)

static void HOperatorSet.ReadContourXldDxf(out HObject contours, HTuple fileName, HTuple genParamName, HTuple genParamValue, out HTuple dxfStatus)

HTuple HXLDCont.ReadContourXldDxf(string fileName, HTuple genParamName, HTuple genParamValue)

string HXLDCont.ReadContourXldDxf(string fileName, string genParamName, double genParamValue)

Description

read_contour_xld_dxfread_contour_xld_dxfReadContourXldDxfReadContourXldDxfReadContourXldDxf reads the contents of the DXF file FileNameFileNameFileNameFileNamefileName (DXF version AC1009, AutoCAD Release 12) and converts them to the XLD contours ContoursContoursContoursContourscontours. If no absolute path is given in FileNameFileNameFileNameFileNamefileName the DXF file is searched in the current directory of the HALCON process.

The output parameter DxfStatusDxfStatusDxfStatusDxfStatusdxfStatus contains information about the number of contours that were read and, if necessary, warnings that parts of the DXF file could not be interpreted.

The operator read_contour_xld_dxfread_contour_xld_dxfReadContourXldDxfReadContourXldDxfReadContourXldDxf supports the following DXF entities:

The x and y coordinates of the DXF entities are stored in the column and row coordinates, respectively, of the XLD contours ContoursContoursContoursContourscontours. The z coordinates of the DXF entities are ignored.

If the file has been created with the operator write_contour_xld_dxfwrite_contour_xld_dxfWriteContourXldDxfWriteContourXldDxfWriteContourXldDxf, all attributes and global attributes that were originally defined for the XLD contours are read. This means that read_contour_xld_dxfread_contour_xld_dxfReadContourXldDxfReadContourXldDxfReadContourXldDxf supports all the extended data written by the operator write_contour_xld_dxfwrite_contour_xld_dxfWriteContourXldDxfWriteContourXldDxfWriteContourXldDxf. The reading of these attributes can be switched off by setting the generic parameter 'read_attributes'"read_attributes""read_attributes""read_attributes""read_attributes" to 'false'"false""false""false""false". Generic parameters are set by specifying the parameter name(s) in GenParamNameGenParamNameGenParamNameGenParamNamegenParamName and the corresponding value(s) in GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue.

DXF entities of the type CIRCLE, ARC, ELLIPSE, and SPLINE are approximated by XLD contours. The accuracy of this approximation can be controlled with the two generic parameters 'min_num_points'"min_num_points""min_num_points""min_num_points""min_num_points" and 'max_approx_error'"max_approx_error""max_approx_error""max_approx_error""max_approx_error". The parameter 'min_num_points'"min_num_points""min_num_points""min_num_points""min_num_points" defines the minimum number of sampling points that are used for the approximation. Note that the parameter 'min_num_points'"min_num_points""min_num_points""min_num_points""min_num_points" always refers to the full circle or ellipse, respectively, even for ARCs or elliptical arcs, i.e., if 'min_num_points'"min_num_points""min_num_points""min_num_points""min_num_points" is set to 50 and a DXF entity of the type ARC is read that represents a semi-circle, this semi-circle is approximated by at least 25 sampling points. The parameter 'max_approx_error'"max_approx_error""max_approx_error""max_approx_error""max_approx_error" defines the maximum deviation of the XLD contour from the ideal circle or ellipse, respectively (unit: pixel). For the determination of the accuracy of the approximation both criteria are evaluated. Then, the criterion that leads to the more accurate approximation is used.

Internally, the following default values are used for the generic parameters:

To achieve a more accurate approximation, either the value for 'min_num_points'"min_num_points""min_num_points""min_num_points""min_num_points" must be increased or the value for 'max_approx_error'"max_approx_error""max_approx_error""max_approx_error""max_approx_error" must be decreased.

Execution Information

Parameters

ContoursContoursContoursContourscontours (output_object)  xld_cont(-array) objectHXLDContHXLDContHobject *

Read XLD contours.

FileNameFileNameFileNameFileNamefileName (input_control)  filename.read HTupleHTupleHtuple (string) (string) (HString) (char*)

Name of the DXF file.

File extension: .dxf

GenParamNameGenParamNameGenParamNameGenParamNamegenParamName (input_control)  attribute.name(-array) HTupleHTupleHtuple (string) (string) (HString) (char*)

Names of the generic parameters that can be adjusted for the DXF input.

Default value: []

List of values: 'max_approx_error'"max_approx_error""max_approx_error""max_approx_error""max_approx_error", 'min_num_points'"min_num_points""min_num_points""min_num_points""min_num_points", 'read_attributes'"read_attributes""read_attributes""read_attributes""read_attributes"

GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue (input_control)  attribute.value(-array) HTupleHTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

Values of the generic parameters that can be adjusted for the DXF input.

Default value: []

Suggested values: 'true'"true""true""true""true", 'false'"false""false""false""false", 0.1, 0.25, 0.5, 1, 2, 5, 10, 20

DxfStatusDxfStatusDxfStatusDxfStatusdxfStatus (output_control)  string(-array) HTupleHTupleHtuple (string) (string) (HString) (char*)

Status information.

Result

If the parameters are correct and the file could be read the operator read_contour_xld_dxfread_contour_xld_dxfReadContourXldDxfReadContourXldDxfReadContourXldDxf returns the value 2 (H_MSG_TRUE). Otherwise, an exception is raised.

Possible Predecessors

write_contour_xld_dxfwrite_contour_xld_dxfWriteContourXldDxfWriteContourXldDxfWriteContourXldDxf

See also

write_contour_xld_dxfwrite_contour_xld_dxfWriteContourXldDxfWriteContourXldDxfWriteContourXldDxf, read_polygon_xld_dxfread_polygon_xld_dxfReadPolygonXldDxfReadPolygonXldDxfReadPolygonXldDxf, query_contour_attribs_xldquery_contour_attribs_xldQueryContourAttribsXldQueryContourAttribsXldQueryContourAttribsXld, query_contour_global_attribs_xldquery_contour_global_attribs_xldQueryContourGlobalAttribsXldQueryContourGlobalAttribsXldQueryContourGlobalAttribsXld, get_contour_attrib_xldget_contour_attrib_xldGetContourAttribXldGetContourAttribXldGetContourAttribXld, get_contour_global_attrib_xldget_contour_global_attrib_xldGetContourGlobalAttribXldGetContourGlobalAttribXldGetContourGlobalAttribXld

Module

Foundation


ClassesClasses | | Operators