3D Part > 3D Container 9 "Arbitrary" (Entity Type "Extended Object")

www.CAD6.com

The 3D container "Arbitrary" is used to store arbitrary 3D data (collection of patches) in a 3D Part.

 

Data Block Sequence

General:

Data Block 1101( 9, Resolution )

Data Block 1000( Matrix )

Data Block 110( Comment )

Specific:

Data Block 1190( Final )

 

These data blocks are followed by a sequence of arbitrary data consisting of:

Data Block 1024 .. 1039( Patch )

Data Block 1002( Edge )

Data Block 1003( Point )

 

Parameters

Resolution

[__int32] Relative resolution of this element. Possible values are:

0Default × 0.35
1Default × 0.5
2Default × 0.71
3Default
4Default × 1.41
5Default × 2
6Default × 2.82

Matrix

[MKI_3D_MATRIX] 3×4 elements of a 3D matrix.

Comment

[MKI_COMMENTSHORT] Comment on the 3D container.

Final

[__int32] If non-zero, this is the final container.

Patch

[MKI_3D_POINT] One patch defined by either three or four points. The coordinates are in [mm] relative to the page center. ElementCount is either 9 for 3 points, or 12 for 4 points.

The BlockType (1024 to 1039) encodes the invisible flags for the patch's edge in its lowest 4 bits: Bits 0 to 3 correspond to edges 1 to 4. If a bit is set, the respective edge shall be invisible (see MKI_PATCH_*).

Edge

[MKI_3D_EDGE] One edge defined by two points. The coordinates are in [mm] relative to the page center.

Point

[MKI_3D_POINT] One point. The coordinates are in [mm] relative to the page center.

 

Interface Command Sequence

MKI_ObjectOpen, Type = MKI_OBJ_CONTAINER

MKI_ExtAddInt32, Type = 1101, ElemCount = 2

MKI_ExtAddDouble, Type = 1000, ElemCount = 12

MKI_ExtAddText, Type = 110, Size = 256, StaticLength = true

MKI_ExtAddInt32, Type = 1190, ElemCount = 1

 

Sequence of arbitrary data:

MKI_ExtAddDouble, Type = 1024 .. 1039, ElemCount = 9 or 12

MKI_ExtAddDouble, Type = 1004, ElemCount = 6

MKI_ExtAddDouble, Type = 1003, ElemCount = 3

 

MKI_ExtDataAddOpenObject

 

Use code like the following to parse the data blocks of this entity in memory:

 

MKI_BLOCK_ENUM b1101( f_pObj ),

               b1000( f_pObj ),

               b110( f_pObj ),

               b1170( f_pObj ),

               b1003( f_pObj );

b1000.SetNext( b1101 );

b110.SetNext( b1000 );

b1170.SetNext( b110 );

b1003.SetNext( b1170 );

 

__int32 nContainerType = b1100.Int32(0);

__int32 nResolution = b1101.Int32(1);

 

...

 

CAD6interface 2026.1 - Copyright 2026 Malz++Kassner® GmbH