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.