@mlightcad/libredwg-web 0.7.4 → 0.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,3 @@
1
1
  export * from './converter';
2
+ export * from './dwgColorToMLeaderRawColor';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1,3 @@
1
1
  export * from './converter';
2
+ export * from './dwgColorToMLeaderRawColor';
2
3
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  import { DwgClass } from './classes';
2
2
  import { DwgEntity } from './entities';
3
3
  import { DwgHeader } from './header';
4
- import { DwgDictionaryObject, DwgImageDefObject, DwgLayoutObject, DwgSpatialFilterObject } from './objects';
4
+ import { DwgDictionaryObject, DwgImageDefObject, DwgLayoutObject, DwgMLeaderStyleObject, DwgSpatialFilterObject } from './objects';
5
5
  import { DwgAppIdEntry, DwgBlockRecordTableEntry, DwgDimStyleTableEntry, DwgLayerTableEntry, DwgLTypeTableEntry, DwgStyleTableEntry, DwgTable, DwgVPortTableEntry } from './tables';
6
6
  export interface DwgDatabase {
7
7
  tables: {
@@ -17,6 +17,7 @@ export interface DwgDatabase {
17
17
  DICTIONARY: DwgDictionaryObject[];
18
18
  IMAGEDEF: DwgImageDefObject[];
19
19
  LAYOUT: DwgLayoutObject[];
20
+ MLEADERSTYLE: DwgMLeaderStyleObject[];
20
21
  SPATIAL_FILTER: DwgSpatialFilterObject[];
21
22
  };
22
23
  header: DwgHeader;
@@ -13,6 +13,7 @@ export * from './leader';
13
13
  export * from './line';
14
14
  export * from './lwpolyline';
15
15
  export * from './mline';
16
+ export * from './multileader';
16
17
  export * from './mtext';
17
18
  export * from './oleframe';
18
19
  export * from './ole2frame';
@@ -21,6 +22,7 @@ export * from './polyline';
21
22
  export * from './proxy';
22
23
  export * from './ray';
23
24
  export * from './section';
25
+ export * from './shape';
24
26
  export * from './solid';
25
27
  export * from './spline';
26
28
  export * from './table';
@@ -13,6 +13,7 @@ export * from './leader';
13
13
  export * from './line';
14
14
  export * from './lwpolyline';
15
15
  export * from './mline';
16
+ export * from './multileader';
16
17
  export * from './mtext';
17
18
  export * from './oleframe';
18
19
  export * from './ole2frame';
@@ -21,6 +22,7 @@ export * from './polyline';
21
22
  export * from './proxy';
22
23
  export * from './ray';
23
24
  export * from './section';
25
+ export * from './shape';
24
26
  export * from './solid';
25
27
  export * from './spline';
26
28
  export * from './table';
@@ -0,0 +1,190 @@
1
+ import { DwgPoint3D } from '../common';
2
+ import { DwgEntity } from './entity';
3
+ /**
4
+ * MULTILEADER entity fields mapped from AutoCAD DXF MLEADER group codes.
5
+ *
6
+ * References:
7
+ * - https://help.autodesk.com/cloudhelp/2023/ENU/AutoCAD-DXF/files/GUID-69B9139A-48B4-48A5-B3CF-A3233ABFBE49.htm
8
+ * - https://github.com/mlightcad/dxf-json/blob/main/src/parser/entities/multileader/types.ts
9
+ */
10
+ export interface DwgMultiLeaderEntity extends DwgEntity {
11
+ type: 'MULTILEADER';
12
+ subclassMarker?: 'AcDbMLeader';
13
+ /** Group code 270: MLeader version. */
14
+ version?: number;
15
+ /** Group code 340: leader style ID (handle reference). */
16
+ leaderStyleId?: string;
17
+ /** Group code 90: property override bit flags. */
18
+ propertyOverrideFlag?: number;
19
+ /** Group code 170: leader line type. */
20
+ leaderLineType?: number;
21
+ /** Group code 91: leader line color (DXF raw int32). */
22
+ leaderLineColor?: number;
23
+ /** Group code 341: leader line type ID (handle reference to linetype). */
24
+ leaderLineTypeId?: string;
25
+ /** Group code 171: leader line weight. */
26
+ leaderLineWeight?: number;
27
+ /** Group code 290: enable landing. */
28
+ landingEnabled?: boolean;
29
+ /** Group code 291: enable dogleg. */
30
+ doglegEnabled?: boolean;
31
+ /** Group code 41: dogleg length. */
32
+ doglegLength?: number;
33
+ /** Group code 342: arrowhead ID (handle reference). */
34
+ arrowheadId?: string;
35
+ /** Group code 42: arrowhead size. */
36
+ arrowheadSize?: number;
37
+ /** Group code 172: content type (none / MText / block). */
38
+ contentType?: number;
39
+ /** Group code 343: text style ID (handle reference). */
40
+ textStyleId?: string;
41
+ /** Group code 173: text left attachment type. */
42
+ textLeftAttachmentType?: number;
43
+ /** Group code 95: text right attachment type. */
44
+ textRightAttachmentType?: number;
45
+ /** Group code 174: text angle type. */
46
+ textAngleType?: number;
47
+ /** Group code 175: text alignment type. */
48
+ textAlignmentType?: number;
49
+ /** Group code 92: text color in common MLeader data (DXF raw int32). */
50
+ textColor?: number;
51
+ /** Group code 292: enable text frame. */
52
+ textFrameEnabled?: boolean;
53
+ /** Group code 145 in CONTEXT_DATA: landing gap. */
54
+ landingGap?: number;
55
+ /** Group code 171 in CONTEXT_DATA: text attachment mode. */
56
+ textAttachment?: number;
57
+ /** Group code 172 in CONTEXT_DATA: text flow direction. */
58
+ textFlowDirection?: number;
59
+ /** Group code 344 (common) / 341 (CONTEXT_DATA): block content ID. */
60
+ blockContentId?: string;
61
+ /** Group code 93: block content color (DXF raw int32). */
62
+ blockContentColor?: number;
63
+ /** Group code 10: block content scale. */
64
+ blockContentScale?: DwgPoint3D;
65
+ /** Group code 43: block content rotation. */
66
+ blockContentRotation?: number;
67
+ /** Group code 176: block content connection type. */
68
+ blockContentConnectionType?: number;
69
+ /** Group code 293: enable annotation scale. */
70
+ annotativeScaleEnabled?: boolean;
71
+ /** Group code pair 94 + 345 (repeated). */
72
+ arrowheadOverrides?: DwgMultiLeaderIndexedHandle[];
73
+ /** Repeated block attribute override entries. */
74
+ blockAttributes?: DwgMultiLeaderBlockAttribute[];
75
+ /** Group code 294: text direction negative flag. */
76
+ textDirectionNegative?: boolean;
77
+ /** Group code 178: text align in IPE flag/value. */
78
+ textAlignInIPE?: number;
79
+ /** Group code 179: text attachment point. */
80
+ textAttachmentPoint?: number;
81
+ /** Group code 271: text attachment direction for MText content. */
82
+ textAttachmentDirection?: number;
83
+ /** Group code 273: bottom text attachment direction. */
84
+ bottomTextAttachmentDirection?: number;
85
+ /** Group code 272: top text attachment direction. */
86
+ topTextAttachmentDirection?: number;
87
+ /** CONTEXT_DATA group code 40: content scale. */
88
+ contentScale?: number;
89
+ /** CONTEXT_DATA group codes 10/20/30: content base position. */
90
+ contentBasePosition?: DwgPoint3D;
91
+ /** CONTEXT_DATA group codes 11/21/31: text normal direction vector. */
92
+ normal?: DwgPoint3D;
93
+ /** CONTEXT_DATA group codes 41 and 44: text height. */
94
+ textHeight?: number;
95
+ /** CONTEXT_DATA group code 42: text rotation. */
96
+ textRotation?: number;
97
+ /** CONTEXT_DATA group code 43: text width. */
98
+ textWidth?: number;
99
+ /** CONTEXT_DATA group code 45: text line spacing factor. */
100
+ textLineSpacingFactor?: number;
101
+ /** CONTEXT_DATA group code 170: text line spacing style. */
102
+ textLineSpacingStyle?: number;
103
+ /** CONTEXT_DATA group codes 12/22/32: text location (anchor point). */
104
+ textAnchor?: DwgPoint3D;
105
+ /** CONTEXT_DATA group codes 13/23/33: text direction vector. */
106
+ textDirection?: DwgPoint3D;
107
+ /** CONTEXT_DATA group code 91: text background color (DXF raw int32). */
108
+ textBackgroundColor?: number;
109
+ /** CONTEXT_DATA group code 141: text background scale factor. */
110
+ textBackgroundScaleFactor?: number;
111
+ /** CONTEXT_DATA group code 92: text background transparency. */
112
+ textBackgroundTransparency?: number;
113
+ /** CONTEXT_DATA group code 291: text background color on/off. */
114
+ textBackgroundColorOn?: boolean;
115
+ /** CONTEXT_DATA group code 292: text background fill on/off. */
116
+ textFillOn?: boolean;
117
+ /** CONTEXT_DATA group code 173: text column type. */
118
+ textColumnType?: number;
119
+ /** CONTEXT_DATA group code 293: use text auto height. */
120
+ textUseAutoHeight?: boolean;
121
+ /** CONTEXT_DATA group code 142: text column width. */
122
+ textColumnWidth?: number;
123
+ /** CONTEXT_DATA group code 143: text column gutter width. */
124
+ textColumnGutterWidth?: number;
125
+ /** CONTEXT_DATA group code 294: text column flow reversed. */
126
+ textColumnFlowReversed?: boolean;
127
+ /** CONTEXT_DATA group code 144: text column height. */
128
+ textColumnHeight?: number;
129
+ /** CONTEXT_DATA group code 295: use word break for text columns. */
130
+ textUseWordBreak?: boolean;
131
+ /** CONTEXT_DATA group code 304: default/actual text content. */
132
+ textContent?: string;
133
+ /** CONTEXT_DATA group code 290: has MText content flag. */
134
+ hasMText?: boolean;
135
+ /** CONTEXT_DATA group code 296: has block content flag. */
136
+ hasBlock?: boolean;
137
+ /** CONTEXT_DATA block content bundle. */
138
+ blockContent?: DwgMultiLeaderBlockContent;
139
+ /** CONTEXT_DATA group codes 110/120/130: MLeader plane origin point. */
140
+ planeOrigin?: DwgPoint3D;
141
+ /** CONTEXT_DATA group codes 111/121/131: MLeader plane X-axis direction. */
142
+ planeXAxisDirection?: DwgPoint3D;
143
+ /** CONTEXT_DATA group codes 112/122/132: MLeader plane Y-axis direction. */
144
+ planeYAxisDirection?: DwgPoint3D;
145
+ /** CONTEXT_DATA group code 297: plane normal reversed flag. */
146
+ planeNormalReversed?: boolean;
147
+ /** CONTEXT_DATA nested LEADER sections. */
148
+ leaderSections?: DwgMultiLeaderLeaderSection[];
149
+ }
150
+ export interface DwgMultiLeaderLeaderSection {
151
+ lastLeaderLinePoint?: DwgPoint3D;
152
+ lastLeaderLinePointSet?: boolean;
153
+ doglegVector?: DwgPoint3D;
154
+ doglegVectorSet?: boolean;
155
+ doglegLength?: number;
156
+ breaks?: DwgMultiLeaderBreak[];
157
+ leaderBranchIndex?: number;
158
+ leaderLines: DwgMultiLeaderLeaderLine[];
159
+ }
160
+ export interface DwgMultiLeaderLeaderLine {
161
+ vertices: DwgPoint3D[];
162
+ breakPointIndexes?: number[];
163
+ leaderLineIndex?: number;
164
+ breaks?: DwgMultiLeaderBreak[];
165
+ }
166
+ export interface DwgMultiLeaderBreak {
167
+ index?: number;
168
+ start: DwgPoint3D;
169
+ end: DwgPoint3D;
170
+ }
171
+ export interface DwgMultiLeaderIndexedHandle {
172
+ index: number;
173
+ handle: string;
174
+ }
175
+ export interface DwgMultiLeaderBlockAttribute {
176
+ id?: string;
177
+ index?: number;
178
+ width?: number;
179
+ text?: string;
180
+ }
181
+ export interface DwgMultiLeaderBlockContent {
182
+ blockContentId?: string;
183
+ normal?: DwgPoint3D;
184
+ position?: DwgPoint3D;
185
+ scale?: DwgPoint3D;
186
+ rotation?: number;
187
+ color?: number;
188
+ transformationMatrix?: number[];
189
+ }
190
+ //# sourceMappingURL=multileader.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=multileader.js.map
@@ -0,0 +1,50 @@
1
+ import { DwgPoint3D } from '../common';
2
+ import { DwgEntity } from './entity';
3
+ export interface DwgShapeEntity extends DwgEntity {
4
+ /**
5
+ * Entity type
6
+ */
7
+ type: 'SHAPE';
8
+ /**
9
+ * DXF subclass marker
10
+ */
11
+ subclassMarker: 'AcDbShape';
12
+ /**
13
+ * Thickness (optional; default = 0)
14
+ */
15
+ thickness: number;
16
+ /**
17
+ * Insertion point (in OCS)
18
+ */
19
+ insertionPoint: DwgPoint3D;
20
+ /**
21
+ * Size
22
+ */
23
+ size: number;
24
+ /**
25
+ * Shape number (DXF group 2): index of the shape within the shape file, not
26
+ * the shape file or text style name.
27
+ */
28
+ shapeNumber: number;
29
+ /**
30
+ * The text style name that references the SHX font for this shape.
31
+ */
32
+ styleName: string;
33
+ /**
34
+ * Rotation angle (optional; default = 0)
35
+ */
36
+ rotation: number;
37
+ /**
38
+ * Relative X scale factor (optional; default = 1)
39
+ */
40
+ xScale: number;
41
+ /**
42
+ * Oblique angle (optional; default = 0)
43
+ */
44
+ obliqueAngle: number;
45
+ /**
46
+ * Extrusion direction (optional; default = 0, 0, 1)
47
+ */
48
+ extrusionDirection: DwgPoint3D;
49
+ }
50
+ //# sourceMappingURL=shape.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=shape.js.map
@@ -2,6 +2,7 @@ export * from './common';
2
2
  export * from './dictionary';
3
3
  export * from './imageDef';
4
4
  export * from './layout';
5
+ export * from './mleaderStyle';
5
6
  export * from './plotSetting';
6
7
  export * from './spatialFilter';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -2,6 +2,7 @@ export * from './common';
2
2
  export * from './dictionary';
3
3
  export * from './imageDef';
4
4
  export * from './layout';
5
+ export * from './mleaderStyle';
5
6
  export * from './plotSetting';
6
7
  export * from './spatialFilter';
7
8
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,101 @@
1
+ import { DwgPoint3D } from '../common';
2
+ import { DwgCommonObject } from './common';
3
+ /**
4
+ * MLEADERSTYLE object fields mapped from AutoCAD DXF group codes.
5
+ *
6
+ * Reference:
7
+ * - https://help.autodesk.com/cloudhelp/2016/ENU/AutoCAD-DXF/files/GUID-0E489B69-17A4-4439-8505-9DCE032100B4.htm
8
+ * - https://github.com/mlightcad/dxf-json/blob/main/src/parser/objects/mleaderStyle/types.ts
9
+ */
10
+ export interface DwgMLeaderStyleObject extends DwgCommonObject {
11
+ subclassMarker: 'AcDbMLeaderStyle';
12
+ /** Group code 179: undocumented value observed in AutoCAD-generated objects. */
13
+ unknown1?: number;
14
+ /** Group code 170: content type used by this MLeader style. */
15
+ contentType?: number;
16
+ /** Group code 171: draw MLeader order type. */
17
+ drawMLeaderOrderType?: number;
18
+ /** Group code 172: draw leader order type. */
19
+ drawLeaderOrderType?: number;
20
+ /** Group code 90: max leader segment points. */
21
+ maxLeaderSegmentPoints?: number;
22
+ /** Group code 40: first segment angle constraint. */
23
+ firstSegmentAngleConstraint?: number;
24
+ /** Group code 41: second segment angle constraint. */
25
+ secondSegmentAngleConstraint?: number;
26
+ /** Group code 173: leader line type. */
27
+ leaderLineType?: number;
28
+ /** Group code 91: leader line color (DXF raw int32). */
29
+ leaderLineColor?: number;
30
+ /** Group code 340: leader line type ID (handle reference). */
31
+ leaderLineTypeId?: string;
32
+ /** Group code 92: leader line weight. */
33
+ leaderLineWeight?: number;
34
+ /** Group code 290: enable landing. */
35
+ landingEnabled?: boolean;
36
+ /** Group code 42: landing gap. */
37
+ landingGap?: number;
38
+ /** Group code 291: enable dogleg. */
39
+ doglegEnabled?: boolean;
40
+ /** Group code 43: dogleg length. */
41
+ doglegLength?: number;
42
+ /** Group code 3: MLeader style description. */
43
+ description?: string;
44
+ /** Group code 341: arrowhead ID (handle reference). */
45
+ arrowheadId?: string;
46
+ /** Group code 44: arrowhead size. */
47
+ arrowheadSize?: number;
48
+ /** Group code 300: default MText contents. */
49
+ defaultMTextContents?: string;
50
+ /** Group code 342: MText style ID (handle reference). */
51
+ textStyleId?: string;
52
+ /** Group code 174: text left attachment type. */
53
+ textLeftAttachmentType?: number;
54
+ /** Group code 175: text angle type. */
55
+ textAngleType?: number;
56
+ /** Group code 176: text alignment type. */
57
+ textAlignmentType?: number;
58
+ /** Group code 178: text right attachment type. */
59
+ textRightAttachmentType?: number;
60
+ /** Group code 93: text color (DXF raw int32). */
61
+ textColor?: number;
62
+ /** Group code 45: text height. */
63
+ textHeight?: number;
64
+ /** Group code 292: enable frame text. */
65
+ textFrameEnabled?: boolean;
66
+ /** Group code 297: text align always left. */
67
+ textAlignAlwaysLeft?: boolean;
68
+ /** Group code 46: align space. */
69
+ alignSpace?: number;
70
+ /** Group code 343: block content ID (handle reference). */
71
+ blockContentId?: string;
72
+ /** Group code 94: block content color (DXF raw int32). */
73
+ blockContentColor?: number;
74
+ /** Group codes 47/49/140: block content scale on X/Y/Z axes. */
75
+ blockContentScale?: DwgPoint3D;
76
+ /** Group code 293: enable block content scale. */
77
+ blockContentScaleEnabled?: boolean;
78
+ /** Group code 141: block content rotation. */
79
+ blockContentRotation?: number;
80
+ /** Group code 294: enable block content rotation. */
81
+ blockContentRotationEnabled?: boolean;
82
+ /** Group code 177: block content connection type. */
83
+ blockContentConnectionType?: number;
84
+ /** Group code 142: scale. */
85
+ scale?: number;
86
+ /** Group code 295: overwrite property value flag. */
87
+ overwritePropertyValue?: boolean;
88
+ /** Group code 296: annotative flag. */
89
+ annotative?: boolean;
90
+ /** Group code 143: break gap size. */
91
+ breakGapSize?: number;
92
+ /** Group code 271: text attachment direction for MText content. */
93
+ textAttachmentDirection?: number;
94
+ /** Group code 272: bottom text attachment direction. */
95
+ bottomTextAttachmentDirection?: number;
96
+ /** Group code 273: top text attachment direction. */
97
+ topTextAttachmentDirection?: number;
98
+ /** Group code 298: undocumented flag observed in AutoCAD-generated objects. */
99
+ unknown2?: boolean;
100
+ }
101
+ //# sourceMappingURL=mleaderStyle.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mleaderStyle.js.map
package/lib/libredwg.d.ts CHANGED
@@ -143,6 +143,35 @@ export declare class LibreDwg {
143
143
  * @returns Returns 1 if set absref value correctly. Otherwise, return 0.
144
144
  */
145
145
  dwg_resolve_handleref(ref_ptr: Dwg_Object_Ref_Ptr, obj_ptr: Dwg_Object_Ptr): number;
146
+ /**
147
+ * Returns the absolute handle reference of one Dwg_Object_Ref instance.
148
+ * @group Handle Conversion Methods
149
+ * @returns Returns null when the reference or absolute_ref is absent.
150
+ */
151
+ dwg_ref_get_absref(ref_ptr: Dwg_Object_Ref_Ptr): number | null;
152
+ /**
153
+ * Returns the handle value of one Dwg_Object_Ref instance.
154
+ * @group Handle Conversion Methods
155
+ * @returns Returns null when the reference or handle value is absent.
156
+ */
157
+ dwg_ref_get_handle_value(ref_ptr: Dwg_Object_Ref_Ptr): bigint | null;
158
+ /**
159
+ * Returns the absolute_ref of one Dwg_Object_Ref instance as bigint.
160
+ * @group Handle Conversion Methods
161
+ * @returns Returns null when the reference or absolute_ref is absent.
162
+ */
163
+ dwg_ref_get_handle_absolute_ref(ref_ptr: Dwg_Object_Ref_Ptr): bigint | null;
164
+ /**
165
+ * Returns the handle value of one Dwg_Object instance.
166
+ * @group Handle Conversion Methods
167
+ * @returns Returns null when the object or handle value is absent.
168
+ */
169
+ dwg_obj_get_handle_value(obj_ptr: Dwg_Object_Ptr): bigint | null;
170
+ /**
171
+ * Returns the absolute_ref of one Dwg_Object_Ref as uppercase hex handle id.
172
+ * @group Handle Conversion Methods
173
+ */
174
+ dwg_ref_get_id(ref_ptr: Dwg_Object_Ref_Ptr): string | undefined;
146
175
  /**
147
176
  * Returns object (such as line type, layer name, dimension style, and etc.) name by its handle.
148
177
  * @group Handle Conversion Methods
@@ -504,6 +533,11 @@ export declare class LibreDwg {
504
533
  * @returns Returns the field value of one object or entity.
505
534
  */
506
535
  dwg_dynapi_entity_value(obj: Dwg_Object_Object_TIO_Ptr | Dwg_Object_Entity_TIO_Ptr, field: string): Dwg_Field_Value;
536
+ /**
537
+ * Returns the decoded field data of one object or entity.
538
+ * @group Dynamic API Methods
539
+ */
540
+ dwg_dynapi_entity_data<T>(obj: Dwg_Object_Object_TIO_Ptr | Dwg_Object_Entity_TIO_Ptr, field: string): T;
507
541
  /**
508
542
  * Header field value getter. Used to get the field value of dwg/dxf header.
509
543
  * @group Dynamic API Methods
@@ -512,6 +546,11 @@ export declare class LibreDwg {
512
546
  * @returns Returns the field value of dwg/dxf header.
513
547
  */
514
548
  dwg_dynapi_header_value(data: Dwg_Data_Ptr, field: string): Dwg_Field_Value;
549
+ /**
550
+ * Returns the field data of dwg/dxf header.
551
+ * @group Dynamic API Methods
552
+ */
553
+ dwg_dynapi_header_data<T>(data: Dwg_Data_Ptr, field: string): T;
515
554
  /**
516
555
  * The common field value getter. Used to get the value of object or entity common fields.
517
556
  * @group Dynamic API Methods
@@ -520,6 +559,11 @@ export declare class LibreDwg {
520
559
  * @returns Returns the value of object or entity common fields.
521
560
  */
522
561
  dwg_dynapi_common_value(obj: Dwg_Object_Object_TIO_Ptr | Dwg_Object_Entity_TIO_Ptr, field: string): Dwg_Field_Value;
562
+ /**
563
+ * Returns the field data of object or entity common fields.
564
+ * @group Dynamic API Methods
565
+ */
566
+ dwg_dynapi_common_data<T>(obj: Dwg_Object_Object_TIO_Ptr | Dwg_Object_Entity_TIO_Ptr, field: string): T;
523
567
  /**
524
568
  * The field of one object or entity may not be primitive type. It means one field may consist of
525
569
  * multiple sub-fields. This method is used to get the sub-field value of those complex field.
@@ -530,6 +574,23 @@ export declare class LibreDwg {
530
574
  * @returns Returns the sub-field value of one complex field.
531
575
  */
532
576
  dwg_dynapi_subclass_value(obj: Dwg_Object_Object_TIO_Ptr | Dwg_Object_Entity_TIO_Ptr, subclass: string, field: string): Dwg_Field_Value;
577
+ /**
578
+ * Returns the sub-field data of one complex field.
579
+ * @group Dynamic API Methods
580
+ */
581
+ dwg_dynapi_subclass_data<T>(obj: Dwg_Object_Object_TIO_Ptr | Dwg_Object_Entity_TIO_Ptr, subclass: string, field: string): T;
582
+ /**
583
+ * Returns the struct size of a dynapi subclass.
584
+ */
585
+ dwg_dynapi_subclass_size(subclass: string): number;
586
+ /**
587
+ * Returns the byte offset of a field within an entity struct.
588
+ */
589
+ dwg_dynapi_entity_field_offset(entity: Dwg_Object_Entity_TIO_Ptr, field: string): number;
590
+ /**
591
+ * Returns the byte offset of a field within a dynapi subclass struct.
592
+ */
593
+ dwg_dynapi_subclass_field_offset(subclass: string, field: string): number;
533
594
  /**
534
595
  * Returns the handle of one Dwg_Object instance.
535
596
  * @group Dwg_Object Methods