|
Extended Object 112 "Table" (Entity Type "Extended Object") |
www.CAD6.com |
|
The extended object "Table" is defined by CAD6studio and CAD6industrie.
Creation of this extended object is not supported in CAD6starter and CAD6engine Eco! If already created, it can be displayed and modified generally, but not modified parametrically.
Data Block SequenceIn its basic data blocks, a table stores general information on the table:
Data Block 1000( Matrix ) Data Block 1001( CellWidth, CellHeight ) Data Block 1002( TableMode, AutoWidth, AutoHeight, RowMode ) Data Block 236( FontF1 ) Data Block 236( FontF2 ) Data Block 1003( PropertyH1 ) Data Block 1004( PropertyH2 ) Data Block 1005( PropertyH3 ) Data Block 1006( PropertyH4 ) Data Block 1007( PropertyV1 ) Data Block 1008( PropertyV2 ) Data Block 1009( PropertyV3 ) Data Block 1010( PropertyV4 ) Data Block 1011( PropertyV5 ) Data Block 1012( PropertyV6 ) Data Block 1013( PropertyB1 ) Data Block 1014( PropertyB2 )
The properties will be used as follows:
If properties for an edge are "filling" or "eraser" only, the edge will be omitted. If properties for a background area are "outline" only, the background area will be omitted.
ParametersMatrix [double[6]] A matrix that will be applied to the outline data. CellWidth [double] Default width of a cell (column) in millimeters. CellHeight [double] Defaul height of a cell (row) in millimeters. TableMode [__int32] A bit-wise OR combination of options. It can be any combination of the following values: 0x00000000 No special mode. 0x00000001 The first row of the table is "special" and uses special properties. 0x00000002 The table will be filled bottom to top (inverted). AutoWidth [__int32] If non-zero, new columns will by default be auto-width. AutoHeight [__int32] If non-zero, new rows will by default be auto-height. RowMode [__int32] Determines how the number of rows in the table is calculated. Possible values are:
FontF1 [MKI_TEXTFRAME] Options for text in the first row. FontF2 [MKI_TEXTFRAME] Options for text in all other rows. PropertyH1 PropertyH2 PropertyH3 PropertyH4 PropertyV1 PropertyV2 PropertyV3 PropertyV4 PropertyV5 PropertyV6 PropertyB1 PropertyB2 [MKI_XPROPERTY] Extended property sets for different aspects of the table, see image above (H = horizontal line, V = vertical line, B = background).
Data List ContentsIn its data list, a table stores additional (partly optional) information as a sequence of MKI_OBJ_CONTAINER objects. Every container contains either data for one column, one row, or one cell. Properties will overwrite each other with the smallest element winning (table > column > row > cell).
The type of the first data block in each container defines its use.
Column Data (1100)Mandatory: Data Block 1100( ColIndex, RowOffset, FirstRow, AutoWidth, FlagF1, FlagF2 ) Data Block 1101( CellWidth ) Data Block 110( DatabaseName ) Optional: Data Block 236( FontF1 ) Data Block 236( FontF2 ) Data Block 1003( PropertyH1 ) Data Block 1004( PropertyH2 ) Data Block 1005( PropertyH3 ) Data Block 1006( PropertyH4 ) Data Block 1008( PropertyV2 ) Data Block 1011( PropertyV5 ) Data Block 1013( PropertyB1 ) Data Block 1014( PropertyB2 )
A table may have up to 50 columns. There must be a set of column data for every column.
ParametersColIndex [__int32] Zero-based column index in the database that shall be used to fill this column (ignored if DatabaseName is empty). RowOffset [__int32] A row offset that will be added to the row number before accessing the database to move the database's content vertically in this column of the table (ignored if DatabaseName is empty). May also be negative. FirstRow [__int32] If non-zero, the first row of the database is a title and does not contain data (ignored if DatabaseName is empty).. AutoWidth [__int32] If non-zero, the column's width will be calculated automatically based on its contents. FlagF1 [__int32] Determines which text frame properties of FontF1 shall be applied, using the flags defined in MKI_MULTI_TEXTFRAME. FlagF2 [__int32] Determines which text frame properties of FontF2 shall be applied, using the flags defined in MKI_MULTI_TEXTFRAME. CellWidth [double] Width of the column in millimeters (ignored if AutoWidth is non-zero). DatabaseName [MKI_DATABASENAME] Name of the database from which the column shall be filled with data. If empty, the column is initially empty.
The (optional) font information and properties will be used as follows:
Row Data (1200)Mandatory: Data Block 1200( AutoHeight, FlagF2 ) Data Block 1201( CellHeight ) Optional: Data Block 236( FontF2 ) Data Block 1004( PropertyH2 ) Data Block 1010( PropertyV4 ) Data Block 1011( PropertyV5 ) Data Block 1012( PropertyV6 ) Data Block 1014( PropertyB2 )
A table may have up to 1,000 rows. It is not necessary to have a set of row data for every row.
ParametersAutoHeight [__int32] If non-zero, the row's height will be calculated automatically based on its contents. FlagF2 [__int32] Determines which text frame properties of FontF2 shall be applied, using the flags defined in MKI_MULTI_TEXTFRAME. CellHeight [double] Height of the row in millimeters (ignored if AutoHeight is non-zero).
The (optional) font information and properties will be used as follows:
Cell Data (1300)Mandatory: Data Block 1300( ColIndex, RowIndex, FlagF2 ) Optional: Data Block 110( CellText ) Data Block 236( FontF2 ) Data Block 1004( PropertyH2 ) Data Block 1011( PropertyV5 ) Data Block 1014( PropertyB2 )
A table may have up to 1,000 individual cell contents (while it can have up to 50,000 cells when filled automatically from databases). It is not necessary to have a set of cell contents for every cell.
ParametersColIndex [__int32] Zero-based index of the column to which this cell data belongs. RowIndex [__int32] Zero-based index of the row to which this cell data belongs. FlagF2 [__int32] Determines which text frame properties of FontF2 shall be applied, using the flags defined in MKI_MULTI_TEXTFRAME. CellText [MKI_STRLONGW] This text will be displayed in the cell and overwrites any possible text automatically gained via a database link.
The (optional) font information and properties will be used as follows:
Interface Command SequenceMKI_ExtOpen, OwnerID = MKI_DB_OWNER_MK, Type = MKI_OBJ_EXT_TABLE, Flag = MKI_EXTFLAG_TEXT MKI_ExtAddDouble, Type = 1000, ElemCount = 6 MKI_ExtAddDouble, Type = 1001, ElemCount = 2 MKI_ExtAddInt32, Type = 1002, ElemCount = 4 MKI_ExtAddXProperty, Type = 1003, ElemCount = 1 MKI_ExtAddXProperty, Type = 1004, ElemCount = 1 MKI_ExtAddXProperty, Type = 1005, ElemCount = 1 MKI_ExtAddXProperty, Type = 1006, ElemCount = 1 MKI_ExtAddXProperty, Type = 1007, ElemCount = 1 MKI_ExtAddXProperty, Type = 1008, ElemCount = 1 MKI_ExtAddXProperty, Type = 1009, ElemCount = 1 MKI_ExtAddXProperty, Type = 1010, ElemCount = 1 MKI_ExtAddXProperty, Type = 1011, ElemCount = 1 MKI_ExtAddXProperty, Type = 1012, ElemCount = 1 MKI_ExtAddXProperty, Type = 1013, ElemCount = 1 MKI_ExtAddXProperty, Type = 1014, ElemCount = 1
Column Data (1100)Mandatory: MKI_ObjectOpen, Type = MKI_OBJ_CONTAINER MKI_ObjectAddInt32, Type = 1100, ElemCount = 6 MKI_ObjectAddDouble, Type = 1101, ElemCount = 1 MKI_ObjectAddTextShort, Static = false Optional: MKI_ObjectAddXProperty, Type = 1003, ElemCount = 1 MKI_ObjectAddXProperty, Type = 1004, ElemCount = 1 MKI_ObjectAddXProperty, Type = 1005, ElemCount = 1 MKI_ObjectAddXProperty, Type = 1006, ElemCount = 1 MKI_ObjectAddXProperty, Type = 1009, ElemCount = 1 MKI_ObjectAddXProperty, Type = 1012, ElemCount = 1 MKI_ObjectAddXProperty, Type = 1013, ElemCount = 1 MKI_ObjectAddXProperty, Type = 1014, ElemCount = 1 Mandatory:
Row Data (1200)Mandatory: MKI_ObjectOpen, Type = MKI_OBJ_CONTAINER MKI_ObjectAddInt32, Type = 1200, ElemCount = 2 MKI_ObjectAddDouble, Type = 1201, ElemCount = 1 Optional: MKI_ObjectAddXProperty, Type = 1004, ElemCount = 1 MKI_ObjectAddXProperty, Type = 1010, ElemCount = 1 MKI_ObjectAddXProperty, Type = 1011, ElemCount = 1 MKI_ObjectAddXProperty, Type = 1012, ElemCount = 1 MKI_ObjectAddXProperty, Type = 1014, ElemCount = 1 Mandatory:
Cell Data (1300)Mandatory: MKI_ObjectOpen, Type = MKI_OBJ_CONTAINER MKI_ObjectAddInt32, Type = 1300, ElemCount = 3 Optional: MKI_ObjectAddTextLong, Static = false MKI_ObjectAddXProperty, Type = 1004, ElemCount = 1 MKI_ObjectAddXProperty, Type = 1011, ElemCount = 1 MKI_ObjectAddXProperty, Type = 1014, ElemCount = 1 Mandatory:
Use code like the following to parse the data blocks of this entity in memory:
MKI_BLOCK_ENUM b1000( f_pExt ), b1001( f_pExt ), b1002( f_pExt ), b2361( f_pExt ), b2362( f_pExt ), b1003( f_pExt ), b1004( f_pExt ), b1005( f_pExt ), b1006( f_pExt ), b1007( f_pExt ), b1008( f_pExt ), b1009( f_pExt ), b1010( f_pExt ), b1011( f_pExt ), b1012( f_pExt ), b1013( f_pExt ), b1014( f_pExt ); b1001.SetNext( b1000 ); b1002.SetNext( b1001 ); b2361.SetNext( b1002 ); b2362.SetNext( b2361 ); b1003.SetNext( b2362 ); b1004.SetNext( b1003 ); b1005.SetNext( b1004 ); b1006.SetNext( b1005 ); b1007.SetNext( b1006 ); b1008.SetNext( b1007 ); b1009.SetNext( b1008 ); b1010.SetNext( b1009 ); b1011.SetNext( b1010 ); b1012.SetNext( b1011 ); b1013.SetNext( b1012 ); b1014.SetNext( b1013 );
MKI_MATRIX cMatrix; cMatrix.m11 = b1000.Double(0); cMatrix.m12 = b1000.Double(1); cMatrix.m21 = b1000.Double(2); cMatrix.m22 = b1000.Double(3); cMatrix.m31 = b1000.Double(4); cMatrix.m32 = b1000.Double(5);
...
|
CAD6interface 2026.1 - Copyright 2026 Malz++Kassner® GmbH