- (050)
There are new calls to retrieve all object-type specific fields of an object:
`CADObjLine`

,`CADObjSquare`

,`CADObjRectangle`

,`CADObjPolyLine`

,`CADObjCircle`

,`CADObjCircleArc`

,`CADObjEllipse`

,`CADObjEllipseArc`

,`CADObjString`

,`CADObjInsert`

.The HatchID parameter is unimplemented (returns

`kCADHatchIDNoHatch`

).

- (051)
There are new calls to get and set the geometric fields of an object:
`CADGetLine`

,`CADSetLine`

,`CADGetSquare`

,`CADSetSquare`

,`CADGetRectangle`

,`CADSetRectangle`

,`CADGetPolyLine`

,`CADSetPolyLine`

,`CADGetCircle`

,`CADSetCircle`

,`CADGetCircleArc`

,`CADSetCircleArc`

,`CADGetEllipse`

,`CADSetEllipse`

,`CADGetEllipseArc`

,`CADSetEllipseArc`

,`CADGetString`

,`CADSetString`

,`CADGetStringXY`

,`CADSetStringXY`

,`CADGetInsertID`

,`CADSetInsertID`

,`CADGetInsert`

,`CADSetInsert`

,`CADGetInsertXY`

,`CADSetInsertXY`

.

- (052)
"Marking style" and "marking type" have been changed to "marking start ID" and
"marking end ID". Please note that both new marking parameters are longints.
With the new scheme, start and end markings can be different. Also, any block could be a marking (unimplemented).

- (053)
`CADFlipObj`

has been implemented (but not tested).

- (054)
There is a new call
`CADRotateObj`

. It rotates objects about their own rotation-center.Please note that the rotation center of a string is its base point; the rotation-center of a polyline is its center of mass; the rotation-center of an insert is the origin of the inserted block; the rotation-center of a line, square, rectangle, circle or ellipse is the geometrical center; the rotation-center of a circle-arc or ellipse-arc is the center of the arc’s circle or ellipse.

Open polylines (with more than two vertices) and self-intersecting closed polylines cannot be rotated. This is an implementation restriction.

- (055)
There is a new call
`CADGetObjCenter`

that calculates the rotation-center of an object (as specified above).

- (056)
There is a new call
`CADGetObjBounds`

. It calculates the logical-bounds of an object.The logical-bounds is an unrotated box that contains the object − but not linewidths.

The logical-bounds of an arc is the logical-bounds of the arc’s circle or ellipse. The logical-bounds of a string is an approximation. It will vary with different font implementations. Also, the string can kern (at any side) out of its logical-bounds. An insert of an empty block will returns logical-bounds (0.0, 0.0, 0.0, 0.0).

- (057)
There is a new call
`CADAlign`

. It aligns objects to the sides or center of their ommon logical-bounds.

- (058)
Circle-arcs and ellipse-arcs are now treated as circle or ellipse, if their start- and end-
angles are the same (within a tolerance of 0.0000001 degrees).

- (059)
There are two new calls:
`CADObjSurface`

and`CADObjPerimeter`

.The surface-area of a line, string and open polyline are 0.0. The surface-area of an arc is its sector-area. The surface-area of an insert is its logical-box surface-area.

- (060)
There is a new call
`CADMetricsArray`

.

- (061)
There are calls to retrieve linetype definitions:
`CADGetLineTypeIDs`

and`CADGetLineTypeDefinition`

.**Warning**− don’t use`CADGetLineTypeDefinition`

with ID`=`

1 − this will be fixed.