Designing Queryable Custom Objects Details
Observe the following guidelines:
- Subclass each custom object class from the appropriate ARX parent class, as detailed below.
- Ensure that each custom object instance in a drawing is added to the Model Space section of the drawing's Block table.
To support SQL or Data queries, the parent class doesn't matter.
To support location queries, a custom class must derive from AcDbEntity and overload the methods getGeomExtents, intersectWith, getStretchPoints, and transformBy.
To support property queries, custom class requirements depend on the properties to be queried:
Queryable Property | Class to Derive From | Methods to Overload |
---|---|---|
Area | AcDbCurve | getArea |
Block Name | AcDbBlockReference | None |
Elevation | Not supported. | |
Object Type | AcDbEntity | None |
Length | AcDbCurve | getEndParam getDistAtParam |
Text Style | AcDbText | None |
Text Value | AcDbText | None |
Thickness | Not supported. | |
Color | AcDbEntity | None |
Group | AcDbEntity | None |
Layer | AcDbEntity | None |
Linetype | AcDbEntity | None |
Note Object Type name specified via special MACRO, such as ACRX_DXF_DEFINE_MEMBERS.