MKI_ENTITY_EXT (Entity Classes) Changed in Version 2019.0

www.CAD6.com

C++ Syntax

class MKI_ENTITY_EXT : public MKI_ENTITY_BASE

{

  public:

 

  MKI_XPROPERTY m_cXProperty;

  MKI_MATRIX m_cDisplayMatrix;

  __int32 m_nDisplayMode,

          m_nExtType,

          m_nExtFlag,

          m_nVersion;

 

  __in64  m_nUserData1,

          m_nUserData2;

 

  char m_pData[];

};

 

This structure describes an entity of type MKI_ENTITYTYPE_EXT, i.e. an extended entity. Header.EntityType must be MKI_ENTITYTYPE_EXT (9).

 

Element Description

XProperty

[MKI_XPROPERTY] Properties of the display data including transmission.

DisplayMatrix

[MKI_MATRIX] Display matrix of the display data. All entities stored in the display data have to be multiplied with this matrix before display. It contains translation, rotation, scaling and distortion.

DisplayMode

[__int32] Bit-wise OR combination of some flags indicating the display mode for extended objects. Possible values are (see MKI_DISPLAYMODE_*):

MKI_DISPLAYMODE_DEFAULT

MKI_DISPLAYMODE_SCALED_WIDTH

MKI_DISPLAYMODE_NOPOINTS

MKI_DISPLAYMODE_NOSNAP

MKI_DISPLAYMODE_SCALED_LENGTH

MKI_DISPLAYMODE_NO_SMOOTHING New in Version 2015.2

MKI_DISPLAYMODE_NOLISTPOINTS New in Version 2018.0

ExtType

[__int32] Internal identification of the extended object. For detailed information about this identification, see the documentation of the application or plug-in that created this entity.

ExtFlag New in Version 6.0

[__int32] Flag indicating the basic type of the object, i.e. how it should behave in the eye of the user (see MKI_EXTFLAG_*).

Version New in Version 6.41

[__int32] Internal version of the extended entity. If Version is zero, the application assumes that no version management is used by the plug-in. If Version is non-zero, the application will display a warning when trying to save this entity in a file with a version older than 6.40 to avoid unresolved version conflicts. The version management of the entity is totally up to the plug-in!

UserData1
UserData2 New in Version 2019.0

[__int64] Custom temporary data to be used by the plug-in for internal purposes. Will be maintained during application execution, but will not be stored in any file. Will always be 0 for a newly created or loaded entity.

Data

[char[]] This data section contains a list of data blocks (see Data Blocks). As the memory-internal format of data blocks is rather complex, this section should not be modified unless the plug-in has created this object or at least knows its internal structure.

 

Attributes New in Version 2021.0

An extended object may contain all kinds of attribute data blocks (see MKI_BLOCK_ATTRIBUTE) as long the plug-in manages them. Only attributes of type "local" can be managed by the serving application. They will be added behind all other data blocks (including all non-local attributes added by the plug-in). The total number of attributes per extended object is limited to MKI_ATTRIBS_PER_OBJECT.

 

MKD Syntax

This entity represents an extended entity, i.e. an entity that was created by an plug-in. Such an entity can only be modified if an plug-in is present that knows how to handle such an entity. The display of such an entity is possible using its display list, i.e. a sequence of standard entities. An entity of type "Extended" has the following structure:

 

0,EntityOwner,9,UniqueID,XProperty,

DisplayMatrix,DisplayMode,

ExtType,ExtFlag,Version;

-Data Block List-

,999,0,0;

-Entity Data List-

,,999,,"";

-Entity Link List-

,,999,,"";

 

Element Description

EntityOwner

[__int16] This value is a unique identification of the plug-in that created the entity. The value MKI_DB_OWNER_MK is reserved for use by Malz++Kassner, especially for objects and data blocks that are created and handled directly by the application. Valid range: 0 <= Value < 10000.

Third-party vendors that plan to implement a plug-in should contact Malz++Kassner to receive their unique identification (see Getting Your Private Owner ID).

-Data Block List-

The data block list contains a list of data blocks (see Data Blocks). Extended objects contain all kinds of data blocks.

-Entity Data List-

The entity data list contains the extended object's sub-entity data-list ("extended data") as defined by Header.DataFirst and Header.DataLast.

-Entity Link List-

The entity link list contains the extended object's sub-entity link-list ("display data") as defined by Header.LinkFirst and Header.LinkLast.

 

CAD6interface 2024.2 - Copyright 2024 Malz++Kassner® GmbH