MKI_ENTITY_OBJECT (Entity Classes) Changed in Version 2023.2

www.CAD6.com

C++ Syntax

class MKI_ENTITY_OBJECT : public MKI_ENTITY_BASE

{

  public:

 

  MKI_XPROPERTY m_cXProperty;

  __int32 m_nObjectType;

 

  char m_pData[];

 

  static bool

  IsGeoObject( __int32 f_nObjectType );

 

  bool

  IsGeoObject( void ) const;

 

  static bool

  IsTextOnlyObject( __int32 f_nObjectType );

 

  bool

  IsTextOnlyObject( void ) const;

 

  static bool

  IsSurface( __int32 f_nObjectType );

 

  bool

  IsSurface( void ) const;

 

  static bool

  IsBasicObject( __int32 f_nObjectType );

 

  bool

  IsBasicObject( void ) const;

 

  bool

  IsSpecialObject( void ) const;

 

  static bool

  GetOutputType( __int32 f_nObjectType );

 

  bool

  GetOutputType( void ) const;

 

  __int32

  GetOutlineCount( void ) const; New in Version 2023.2

 

  static bool

  AllowsOutlineOrPointAttributes( __int32 f_nObjectType );

 

  bool

  AllowsOutlineOrPointAttributes( void ) const;

};

 

This structure describes an entity of type MKI_ENTITYTYPE_OBJECT, i.e. a geometrical object. Header.EntityType must be MKI_ENTITYTYPE_OBJECT (0).

 

Element Description

XProperty

[MKI_XPROPERTY] Properties of the object including transmission.

ObjectType

[__int32] Type of the object (see MKI_OBJ_*).

Data

[char[]] This data section contains a list of data blocks (see Data Blocks). The sequence of data blocks stored here depends on ObjectType (see MKI_OBJ_*).

 

Attributes New in Version 2021.0

An object may contain attribute data blocks (see MKI_BLOCK_ATTRIBUTE) of type "local" and (if the object type allows) of types "outline" and "point". For details please refer to the repsective object type's description (see MKI_OBJ_*). Attributes of types "global" must not exist. The total number of attributes per object is limited to MKI_ATTRIBS_PER_OBJECT.

 

MKD Syntax

This entity represents the smallest display element of drawings. An object may be a line, a circle, a text etc. It consists of a header, geometrical data and some object-specific data. An entity of type "Object" has the following structure:

 

0,EntityOwner,0,UniqueID,XProperty,ObjectType;

-Data Block List-

,999,0,0;

-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). Objects contain many different kinds of data blocks including local, outline, and point attributes.

-Entity Link List-

The entity link list contains the extended object's sub-entity link-list ("link data") as defined by Header.LinkFirst and Header.LinkLast. Currently, this list is usually empty (except for maybe entities of extended object's link lists).

 

Example

|Header,XProperty|

0,0,0,"",0,1,0,0/0/0,0/0/0,0.0,0,0,0,

|B001|

0,1,2,1,-10.0,7.0;

|B002|

0,2,2,1,10.0,-7.0;

|B999|

0,999,0,0;

 

This entity is an object of type "Line". It represents a line starting at (-10.0, 7.0) and ending at (10.0, -7.0). This line will be displayed using pen 1 and is assigned to layer 0.

 

CAD6interface 2024.2 - Copyright 2024 Malz++Kassner® GmbH