Object 12 "Curve" (Entities) Changed in Version 2021.0 |
www.CAD6.com |
Data Block SequenceData Block 001( x1, y1 ) - Start-point of a curve
LineData Block 002( x?, y? ) - End-point of a line
Bézier curveData Block 007( x?, y? ) - Pivot point 1 Data Block 008( x?, y? ) - Pivot point 2 Data Block 002( x?, y? ) - End-point of a Bézier curve
Circular arcData Block 009( x?, y? ) - End-point of the circular arc Data Block 102( Orientation, Curvature ) - Orientation and of curvature of the circular arc
A curve is in fact a list of several curves. Each curve starts with a start-point in a data block of type 001 followed by a sequence of curve elements. Three types of curve elements are available:
Line
Bézier curve
P = (1-t)³×S + 3t(1-t)²×P1 + 3t²(1-t)×P2 + t³×E (0<=t<=1)
Circular arc
x(M) = 0.5 * ( x(S) + x(E) ) - Curvature * ( y(E) - y(S) ) y(M) = 0.5 * ( y(S) + y(E) ) + Curvature * ( x(E) - x(S) )
Each curve ends if either a new curve is started by a new start-point (in a data block of type 001) or the complete curve is ended (by a data block of type 999). A curve is by definition an "open" object, i.e. it has a non-closed outline and cannot be filled.
If a curve is drawn with a non-solid line type, this line type has to be continued along the complete curve. A curve may contain up to 10,000 nested curves made of up to MKI_MaxEntityPoints data blocks in total.
Attributes New in Version 2021.0A curve may contain attribute data blocks (see MKI_BLOCK_ATTRIBUTE) of types "local", "outline", and "point". Their position in the list of data blocks must be as follows:
The total number of attributes of each type (local, outline, point) per respective element (entity, outline, and point) is limited to MKI_ATTRIBS_PER_OBJECT.
Interface Command SequenceMKI_ObjectOpen, Type = MKI_OBJ_CURVE MKI_ObjectAddPoint, Type = MKI_DB_POINT_START ... MKI_ObjectAddPoint, Type = MKI_DB_POINT_END ... MKI_ObjectAddPoint, Type = MKI_DB_POINT_PIVOT1 MKI_ObjectAddPoint, Type = MKI_DB_POINT_PIVOT2 MKI_ObjectAddPoint, Type = MKI_DB_POINT_END ... MKI_ObjectAddPoint, Type = MKI_DB_POINT_ARC ...
|
CAD6interface 2024.2 - Copyright 2024 Malz++Kassner® GmbH