@mlightcad/data-model 1.10.3 → 1.10.4

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.
Files changed (44) hide show
  1. package/dist/data-model.cjs +11 -10
  2. package/lib/acis/AcDbAcisDecode.d.ts +23 -0
  3. package/lib/acis/AcDbAcisDecode.d.ts.map +1 -0
  4. package/lib/acis/AcDbAcisDecode.js +95 -0
  5. package/lib/acis/AcDbAcisDecode.js.map +1 -0
  6. package/lib/acis/AcDbAcisEntities.d.ts +41 -0
  7. package/lib/acis/AcDbAcisEntities.d.ts.map +1 -0
  8. package/lib/acis/AcDbAcisEntities.js +116 -0
  9. package/lib/acis/AcDbAcisEntities.js.map +1 -0
  10. package/lib/acis/AcDbAcisGeometry.d.ts +264 -0
  11. package/lib/acis/AcDbAcisGeometry.d.ts.map +1 -0
  12. package/lib/acis/AcDbAcisGeometry.js +409 -0
  13. package/lib/acis/AcDbAcisGeometry.js.map +1 -0
  14. package/lib/acis/AcDbAcisSab.d.ts +101 -0
  15. package/lib/acis/AcDbAcisSab.d.ts.map +1 -0
  16. package/lib/acis/AcDbAcisSab.js +250 -0
  17. package/lib/acis/AcDbAcisSab.js.map +1 -0
  18. package/lib/acis/AcDbAcisSatWireframe.d.ts +13 -0
  19. package/lib/acis/AcDbAcisSatWireframe.d.ts.map +1 -0
  20. package/lib/acis/AcDbAcisSatWireframe.js +142 -0
  21. package/lib/acis/AcDbAcisSatWireframe.js.map +1 -0
  22. package/lib/acis/AcDbAcisWireframe.d.ts +20 -0
  23. package/lib/acis/AcDbAcisWireframe.d.ts.map +1 -0
  24. package/lib/acis/AcDbAcisWireframe.js +133 -0
  25. package/lib/acis/AcDbAcisWireframe.js.map +1 -0
  26. package/lib/acis/index.d.ts +15 -0
  27. package/lib/acis/index.d.ts.map +1 -0
  28. package/lib/acis/index.js +12 -0
  29. package/lib/acis/index.js.map +1 -0
  30. package/lib/entity/AcDb3dSolid.d.ts +42 -27
  31. package/lib/entity/AcDb3dSolid.d.ts.map +1 -1
  32. package/lib/entity/AcDb3dSolid.js +150 -54
  33. package/lib/entity/AcDb3dSolid.js.map +1 -1
  34. package/lib/entity/AcDbFcf.d.ts.map +1 -1
  35. package/lib/entity/AcDbFcf.js +2 -3
  36. package/lib/entity/AcDbFcf.js.map +1 -1
  37. package/lib/entity/AcDbTextExtentsHelpers.d.ts +12 -0
  38. package/lib/entity/AcDbTextExtentsHelpers.d.ts.map +1 -1
  39. package/lib/entity/AcDbTextExtentsHelpers.js +34 -0
  40. package/lib/entity/AcDbTextExtentsHelpers.js.map +1 -1
  41. package/lib/entity/index.d.ts +1 -1
  42. package/lib/entity/index.d.ts.map +1 -1
  43. package/lib/entity/index.js.map +1 -1
  44. package/package.json +4 -4
@@ -2,68 +2,83 @@ import { AcGeBox3d, AcGeMatrix3d } from '@mlightcad/geometry-engine';
2
2
  import { AcGiRenderer } from '@mlightcad/graphic-interface';
3
3
  import { AcDbDxfFiler } from '../base/AcDbDxfFiler';
4
4
  import { AcDbEntity } from './AcDbEntity';
5
+ /**
6
+ * Construction options for {@link AcDb3dSolid} when geometry is supplied as
7
+ * binary SAB and/or plain SAT/ASM text rather than a single string argument.
8
+ */
9
+ export interface AcDb3dSolidOptions {
10
+ /** Binary SAB payload from ACDSDATA or inline modeler geometry. */
11
+ sabBytes?: Uint8Array;
12
+ /** Plain SAT/ASM text from inline groups 1/3 or ACSH BREP. */
13
+ satText?: string;
14
+ /** Legacy alias for {@link satText}. */
15
+ acisData?: string;
16
+ /** DXF group 70 ACIS version number, when present. */
17
+ version?: number;
18
+ }
5
19
  /**
6
20
  * Represents a 3D solid (ACIS/ASM B-rep) entity, such as those created by
7
21
  * AutoCAD's BOX, WEDGE, EXTRUDE, or boolean solid-modeling commands.
8
22
  *
9
- * Full B-rep tessellation (rendering the solid's actual trimmed
10
- * NURBS/planar faces) is not yet supported that requires implementing (or
11
- * embedding) a real ACIS/ASM geometry kernel, which is out of scope here.
12
- *
13
- * Instead, this renders a wireframe bounding box derived from every vertex
14
- * position embedded in the entity's raw ACIS SAT data, so the solid is at
15
- * least visible at its correct location and approximate size rather than
16
- * silently missing from the drawing. The `point` record format is stable
17
- * across ACIS SAT versions and independent of the (much more variable)
18
- * topology record layouts, which is why this approach works without a full
19
- * B-rep parser. When `acisData` holds binary ASM/SAB data instead of SAT
20
- * text (common in DWG 2013+), no points are found and this renders nothing.
23
+ * Full B-rep tessellation is not yet supported. When binary SAB or SAT text is
24
+ * available, this entity renders a best-effort wireframe derived from decoded
25
+ * edges and curves; otherwise it falls back to a bounding-box wireframe built
26
+ * from embedded `point` records in the SAT stream.
21
27
  */
22
28
  export declare class AcDb3dSolid extends AcDbEntity {
23
29
  /** The entity type name */
24
30
  static typeName: string;
25
31
  get dxfTypeName(): string;
26
- /** Raw ACIS SAT text (or ASM/SAB binary payload) for this solid. */
32
+ /** Raw ACIS SAT text preserved for DXF round-trip and future B-rep parsing. */
27
33
  private _acisData;
28
34
  /** DXF group 70 ACIS version number, when present. */
29
35
  private _version?;
30
- /** Vertex positions extracted from `point` records in {@link _acisData}. */
36
+ /** Vertex positions used for extents and fallback bounding-box rendering. */
31
37
  private _points;
38
+ /** Line-segment endpoint pairs for wireframe rendering (`[x,y,z,...]`). */
39
+ private _wireframe;
32
40
  /**
33
41
  * Creates a new 3D solid entity from raw ACIS data.
34
42
  *
35
- * @param acisData - Raw ACIS SAT text (group 1/3 lines) or ASM/SAB binary payload.
43
+ * @param acisData - Raw ACIS SAT text (group 1/3 lines).
36
44
  * @param version - DXF group 70 ACIS version number, when present.
37
45
  */
38
46
  constructor(acisData: string, version?: number);
39
47
  /**
40
- * Raw ACIS SAT text (or ASM/SAB binary payload) for this solid, preserved
41
- * for future full B-rep parsing support.
48
+ * Creates a new 3D solid entity from binary SAB and/or SAT text payloads.
49
+ *
50
+ * @param options - Construction options with optional SAB bytes and SAT text.
51
+ */
52
+ constructor(options: AcDb3dSolidOptions);
53
+ /**
54
+ * Raw ACIS SAT text for this solid, preserved for future full B-rep parsing.
42
55
  */
43
56
  get acisData(): string;
44
57
  /** DXF group 70 ACIS version number, when present. */
45
58
  get version(): number | undefined;
46
59
  /**
47
- * Whether any vertex positions could be extracted from {@link acisData}.
48
- * False when the data is binary (ASM/SAB) rather than SAT text.
60
+ * Whether wireframe segments or fallback point data could be extracted from
61
+ * the supplied SAB/SAT payload.
49
62
  */
50
63
  get hasRenderableGeometry(): boolean;
51
64
  /** @inheritdoc */
52
65
  get geometricExtents(): AcGeBox3d;
53
66
  /**
54
- * Transforms this solid by the specified matrix.
67
+ * Transforms the extracted wireframe and point cloud by the specified matrix.
68
+ *
69
+ * {@link acisData} itself is left untouched since it isn't fully parsed.
55
70
  *
56
- * Only the extracted point cloud (and thus the wireframe bounding box) is
57
- * transformed; {@link acisData} itself is left untouched since it isn't
58
- * fully parsed.
71
+ * @param matrix - 4×4 transformation matrix.
72
+ * @returns This instance (for chaining).
59
73
  */
60
74
  transformBy(matrix: AcGeMatrix3d): this;
61
75
  /**
62
- * Draws a wireframe bounding box around the solid's extracted point cloud.
76
+ * Draws decoded wireframe segments when available; otherwise draws a bounding
77
+ * box around extracted `point` records.
63
78
  *
64
- * @param renderer - The renderer to use for drawing
65
- * @returns The rendered wireframe entity, or `undefined` when no points
66
- * could be extracted from {@link acisData}.
79
+ * @param renderer - The renderer to use for drawing.
80
+ * @returns The rendered wireframe entity, or `undefined` when no geometry
81
+ * could be extracted.
67
82
  */
68
83
  subWorldDraw(renderer: AcGiRenderer): import("@mlightcad/graphic-interface").AcGiEntity | undefined;
69
84
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AcDb3dSolid.d.ts","sourceRoot":"","sources":["../../src/entity/AcDb3dSolid.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,EAEb,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAmCzC;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,WAAY,SAAQ,UAAU;IACzC,2BAA2B;IAC3B,OAAgB,QAAQ,EAAE,MAAM,CAAY;IAE5C,IAAa,WAAW,WAEvB;IAED,oEAAoE;IACpE,OAAO,CAAC,SAAS,CAAQ;IACzB,sDAAsD;IACtD,OAAO,CAAC,QAAQ,CAAC,CAAQ;IACzB,4EAA4E;IAC5E,OAAO,CAAC,OAAO,CAAe;IAE9B;;;;;OAKG;gBACS,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAO9C;;;OAGG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,sDAAsD;IACtD,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED;;;OAGG;IACH,IAAI,qBAAqB,IAAI,OAAO,CAEnC;IAED,kBAAkB;IAClB,IAAI,gBAAgB,IAAI,SAAS,CAKhC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,MAAM,EAAE,YAAY;IAKhC;;;;;;OAMG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY;IAgCnC;;;;;OAKG;IACM,YAAY,CAAC,KAAK,EAAE,YAAY;CAqB1C"}
1
+ {"version":3,"file":"AcDb3dSolid.d.ts","sourceRoot":"","sources":["../../src/entity/AcDb3dSolid.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,EAEb,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAM3D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,QAAQ,CAAC,EAAE,UAAU,CAAA;IACrB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAkHD;;;;;;;;GAQG;AACH,qBAAa,WAAY,SAAQ,UAAU;IACzC,2BAA2B;IAC3B,OAAgB,QAAQ,EAAE,MAAM,CAAY;IAE5C,IAAa,WAAW,WAEvB;IAED,+EAA+E;IAC/E,OAAO,CAAC,SAAS,CAAQ;IACzB,sDAAsD;IACtD,OAAO,CAAC,QAAQ,CAAC,CAAQ;IACzB,6EAA6E;IAC7E,OAAO,CAAC,OAAO,CAAe;IAC9B,2EAA2E;IAC3E,OAAO,CAAC,UAAU,CAAc;IAEhC;;;;;OAKG;gBACS,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAC9C;;;;OAIG;gBACS,OAAO,EAAE,kBAAkB;IA0BvC;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,sDAAsD;IACtD,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED;;;OAGG;IACH,IAAI,qBAAqB,IAAI,OAAO,CAEnC;IAED,kBAAkB;IAClB,IAAI,gBAAgB,IAAI,SAAS,CAKhC;IAED;;;;;;;OAOG;IACH,WAAW,CAAC,MAAM,EAAE,YAAY;IAoBhC;;;;;;;OAOG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY;IAyCnC;;;;;OAKG;IACM,YAAY,CAAC,KAAK,EAAE,YAAY;CAmB1C"}
@@ -25,17 +25,42 @@ var __values = (this && this.__values) || function(o) {
25
25
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
26
26
  };
27
27
  import { AcGeBox3d, AcGePoint3d } from '@mlightcad/geometry-engine';
28
+ import { acDbAcisWireframeSegmentsFromSab, acDbAcisWireframeSegmentsFromSatText } from '../acis';
28
29
  import { AcDbEntity } from './AcDbEntity';
29
30
  /**
30
- * Matches every `point` record in an ACIS SAT text stream, e.g.
31
- * `point $-1 10 0 -10 #`. The `point` record format (attribute pointer
32
- * followed by x/y/z) has been stable across ACIS SAT versions, unlike the
33
- * topology records (`face`/`loop`/`coedge`/`edge`), whose field layout and
34
- * count vary by surface/curve type and ACIS version. Extracting every point
35
- * this way, independent of the body's topology, is a format detail that's
36
- * safe to rely on regardless of which faces/edges reference it.
31
+ * Matches classic SAT `point` records (`point $-1 x y z`) and ASM-style records
32
+ * with additional pointer fields (`point $-1 -1 $-1 x y z`).
37
33
  */
38
- var ACIS_POINT_RECORD = /\bpoint\s+\$-?\d+\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)/g;
34
+ var ACIS_POINT_RECORD = /\bpoint\s+(?:\$-?\d+\s+){1,4}([-\d.eE+]+)\s+([-\d.eE+]+)\s+([-\d.eE+]+)/g;
35
+ /** Splits SAT text into individual `#`-delimited entity records. */
36
+ function splitAcisRecords(acisData) {
37
+ return acisData
38
+ .split('#')
39
+ .map(function (record) { return record.trim(); })
40
+ .filter(function (record) { return record.length > 0; });
41
+ }
42
+ /**
43
+ * Reads numeric tokens from one SAT record, skipping pointer and sentinel tokens.
44
+ *
45
+ * @param record - One SAT entity record line.
46
+ * @param skip - Number of leading tokens to skip before scanning (default 1).
47
+ */
48
+ function readNumericTokens(record, skip) {
49
+ if (skip === void 0) { skip = 1; }
50
+ var parts = record.split(/\s+/);
51
+ var values = [];
52
+ for (var i = skip; i < parts.length; i++) {
53
+ var token = parts[i];
54
+ if (token.startsWith('$') || token === 'I' || token === 'F') {
55
+ continue;
56
+ }
57
+ var value = Number.parseFloat(token);
58
+ if (Number.isFinite(value)) {
59
+ values.push(value);
60
+ }
61
+ }
62
+ return values;
63
+ }
39
64
  /**
40
65
  * Extracts every vertex position referenced by `point` records in an ACIS
41
66
  * SAT text stream.
@@ -43,14 +68,14 @@ var ACIS_POINT_RECORD = /\bpoint\s+\$-?\d+\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)/g;
43
68
  * @param acisData - Raw ACIS SAT text (the concatenated group 1/3 lines of a
44
69
  * DXF `3DSOLID`/`REGION`/`BODY` entity).
45
70
  * @returns Every point found, in file order. Empty when `acisData` doesn't
46
- * contain any recognizable `point` records (e.g. binary ASM/SAB data).
71
+ * contain any recognizable `point` records.
47
72
  */
48
73
  function extractAcisPointCloud(acisData) {
49
- var e_1, _a;
74
+ var e_1, _a, e_2, _b;
50
75
  var points = [];
51
76
  try {
52
- for (var _b = __values(acisData.matchAll(ACIS_POINT_RECORD)), _c = _b.next(); !_c.done; _c = _b.next()) {
53
- var match = _c.value;
77
+ for (var _c = __values(acisData.matchAll(ACIS_POINT_RECORD)), _d = _c.next(); !_d.done; _d = _c.next()) {
78
+ var match = _d.value;
54
79
  var x = Number.parseFloat(match[1]);
55
80
  var y = Number.parseFloat(match[2]);
56
81
  var z = Number.parseFloat(match[3]);
@@ -62,42 +87,96 @@ function extractAcisPointCloud(acisData) {
62
87
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
63
88
  finally {
64
89
  try {
65
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
90
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
66
91
  }
67
92
  finally { if (e_1) throw e_1.error; }
68
93
  }
94
+ if (points.length > 0) {
95
+ return points;
96
+ }
97
+ try {
98
+ for (var _e = __values(splitAcisRecords(acisData)), _f = _e.next(); !_f.done; _f = _e.next()) {
99
+ var record = _f.value;
100
+ if (!record.startsWith('point ')) {
101
+ continue;
102
+ }
103
+ var values = readNumericTokens(record);
104
+ if (values.length >= 3) {
105
+ var x = values[values.length - 3];
106
+ var y = values[values.length - 2];
107
+ var z = values[values.length - 1];
108
+ points.push(new AcGePoint3d(x, y, z));
109
+ }
110
+ }
111
+ }
112
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
113
+ finally {
114
+ try {
115
+ if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
116
+ }
117
+ finally { if (e_2) throw e_2.error; }
118
+ }
119
+ return points;
120
+ }
121
+ /** Collects unique segment endpoints from a wireframe buffer (`[x,y,z,...]`). */
122
+ function pointsFromWireframe(wireframe) {
123
+ var points = [];
124
+ for (var i = 0; i < wireframe.length; i += 3) {
125
+ var x = wireframe[i];
126
+ var y = wireframe[i + 1];
127
+ var z = wireframe[i + 2];
128
+ points.push(new AcGePoint3d(x, y, z));
129
+ }
69
130
  return points;
70
131
  }
132
+ /**
133
+ * Normalizes constructor input into SAB bytes, SAT text, and version fields.
134
+ *
135
+ * @param input - Raw SAT string or {@link AcDb3dSolidOptions}.
136
+ * @param version - DXF group 70 version used when `input` is a string.
137
+ */
138
+ function resolveSolidPayload(input, version) {
139
+ var _a, _b, _c;
140
+ if (typeof input === 'string') {
141
+ return { satText: input, version: version };
142
+ }
143
+ return {
144
+ sabBytes: input.sabBytes,
145
+ satText: (_b = (_a = input.satText) !== null && _a !== void 0 ? _a : input.acisData) !== null && _b !== void 0 ? _b : '',
146
+ version: (_c = input.version) !== null && _c !== void 0 ? _c : version,
147
+ };
148
+ }
71
149
  /**
72
150
  * Represents a 3D solid (ACIS/ASM B-rep) entity, such as those created by
73
151
  * AutoCAD's BOX, WEDGE, EXTRUDE, or boolean solid-modeling commands.
74
152
  *
75
- * Full B-rep tessellation (rendering the solid's actual trimmed
76
- * NURBS/planar faces) is not yet supported that requires implementing (or
77
- * embedding) a real ACIS/ASM geometry kernel, which is out of scope here.
78
- *
79
- * Instead, this renders a wireframe bounding box derived from every vertex
80
- * position embedded in the entity's raw ACIS SAT data, so the solid is at
81
- * least visible at its correct location and approximate size rather than
82
- * silently missing from the drawing. The `point` record format is stable
83
- * across ACIS SAT versions and independent of the (much more variable)
84
- * topology record layouts, which is why this approach works without a full
85
- * B-rep parser. When `acisData` holds binary ASM/SAB data instead of SAT
86
- * text (common in DWG 2013+), no points are found and this renders nothing.
153
+ * Full B-rep tessellation is not yet supported. When binary SAB or SAT text is
154
+ * available, this entity renders a best-effort wireframe derived from decoded
155
+ * edges and curves; otherwise it falls back to a bounding-box wireframe built
156
+ * from embedded `point` records in the SAT stream.
87
157
  */
88
158
  var AcDb3dSolid = /** @class */ (function (_super) {
89
159
  __extends(AcDb3dSolid, _super);
90
- /**
91
- * Creates a new 3D solid entity from raw ACIS data.
92
- *
93
- * @param acisData - Raw ACIS SAT text (group 1/3 lines) or ASM/SAB binary payload.
94
- * @param version - DXF group 70 ACIS version number, when present.
95
- */
96
- function AcDb3dSolid(acisData, version) {
160
+ function AcDb3dSolid(acisDataOrOptions, version) {
161
+ var _a;
97
162
  var _this = _super.call(this) || this;
98
- _this._acisData = acisData;
99
- _this._version = version;
100
- _this._points = extractAcisPointCloud(acisData);
163
+ var payload = resolveSolidPayload(acisDataOrOptions, version);
164
+ _this._acisData = payload.satText;
165
+ _this._version = payload.version;
166
+ var wireframe = new Float32Array(0);
167
+ if (payload.sabBytes && payload.sabBytes.length > 0) {
168
+ wireframe = (_a = acDbAcisWireframeSegmentsFromSab(payload.sabBytes)) !== null && _a !== void 0 ? _a : new Float32Array(0);
169
+ }
170
+ if (wireframe.length === 0 && payload.satText) {
171
+ wireframe = acDbAcisWireframeSegmentsFromSatText(payload.satText);
172
+ }
173
+ _this._wireframe = wireframe;
174
+ if (wireframe.length > 0) {
175
+ _this._points = pointsFromWireframe(wireframe);
176
+ }
177
+ else {
178
+ _this._points = extractAcisPointCloud(payload.satText);
179
+ }
101
180
  return _this;
102
181
  }
103
182
  Object.defineProperty(AcDb3dSolid.prototype, "dxfTypeName", {
@@ -109,8 +188,7 @@ var AcDb3dSolid = /** @class */ (function (_super) {
109
188
  });
110
189
  Object.defineProperty(AcDb3dSolid.prototype, "acisData", {
111
190
  /**
112
- * Raw ACIS SAT text (or ASM/SAB binary payload) for this solid, preserved
113
- * for future full B-rep parsing support.
191
+ * Raw ACIS SAT text for this solid, preserved for future full B-rep parsing.
114
192
  */
115
193
  get: function () {
116
194
  return this._acisData;
@@ -128,11 +206,11 @@ var AcDb3dSolid = /** @class */ (function (_super) {
128
206
  });
129
207
  Object.defineProperty(AcDb3dSolid.prototype, "hasRenderableGeometry", {
130
208
  /**
131
- * Whether any vertex positions could be extracted from {@link acisData}.
132
- * False when the data is binary (ASM/SAB) rather than SAT text.
209
+ * Whether wireframe segments or fallback point data could be extracted from
210
+ * the supplied SAB/SAT payload.
133
211
  */
134
212
  get: function () {
135
- return this._points.length > 0;
213
+ return this._wireframe.length > 0 || this._points.length > 0;
136
214
  },
137
215
  enumerable: false,
138
216
  configurable: true
@@ -149,24 +227,45 @@ var AcDb3dSolid = /** @class */ (function (_super) {
149
227
  configurable: true
150
228
  });
151
229
  /**
152
- * Transforms this solid by the specified matrix.
230
+ * Transforms the extracted wireframe and point cloud by the specified matrix.
153
231
  *
154
- * Only the extracted point cloud (and thus the wireframe bounding box) is
155
- * transformed; {@link acisData} itself is left untouched since it isn't
156
- * fully parsed.
232
+ * {@link acisData} itself is left untouched since it isn't fully parsed.
233
+ *
234
+ * @param matrix - 4×4 transformation matrix.
235
+ * @returns This instance (for chaining).
157
236
  */
158
237
  AcDb3dSolid.prototype.transformBy = function (matrix) {
159
238
  this._points.forEach(function (point) { return point.applyMatrix4(matrix); });
239
+ if (this._wireframe.length > 0) {
240
+ var transformed = new Float32Array(this._wireframe.length);
241
+ for (var i = 0; i < this._wireframe.length; i += 3) {
242
+ var point = new AcGePoint3d(this._wireframe[i], this._wireframe[i + 1], this._wireframe[i + 2]);
243
+ point.applyMatrix4(matrix);
244
+ transformed[i] = point.x;
245
+ transformed[i + 1] = point.y;
246
+ transformed[i + 2] = point.z;
247
+ }
248
+ this._wireframe = transformed;
249
+ }
160
250
  return this;
161
251
  };
162
252
  /**
163
- * Draws a wireframe bounding box around the solid's extracted point cloud.
253
+ * Draws decoded wireframe segments when available; otherwise draws a bounding
254
+ * box around extracted `point` records.
164
255
  *
165
- * @param renderer - The renderer to use for drawing
166
- * @returns The rendered wireframe entity, or `undefined` when no points
167
- * could be extracted from {@link acisData}.
256
+ * @param renderer - The renderer to use for drawing.
257
+ * @returns The rendered wireframe entity, or `undefined` when no geometry
258
+ * could be extracted.
168
259
  */
169
260
  AcDb3dSolid.prototype.subWorldDraw = function (renderer) {
261
+ if (this._wireframe.length >= 6) {
262
+ var vertexCount = this._wireframe.length / 3;
263
+ var indices_1 = new Uint16Array(vertexCount);
264
+ for (var i = 0; i < vertexCount; i++) {
265
+ indices_1[i] = i;
266
+ }
267
+ return renderer.lineSegments(this._wireframe, 3, indices_1);
268
+ }
170
269
  if (this._points.length === 0) {
171
270
  return undefined;
172
271
  }
@@ -189,11 +288,10 @@ var AcDb3dSolid = /** @class */ (function (_super) {
189
288
  buffer[i * 3 + 1] = corner.y;
190
289
  buffer[i * 3 + 2] = corner.z;
191
290
  });
192
- // 12 edges of a box, referencing the 8 corners above.
193
291
  var indices = new Uint16Array([
194
- 0, 1, 1, 2, 2, 3, 3, 0, // bottom face
195
- 4, 5, 5, 6, 6, 7, 7, 4, // top face
196
- 0, 4, 1, 5, 2, 6, 3, 7 // vertical edges
292
+ 0, 1, 1, 2, 2, 3, 3, 0,
293
+ 4, 5, 5, 6, 6, 7, 7, 4,
294
+ 0, 4, 1, 5, 2, 6, 3, 7
197
295
  ]);
198
296
  return renderer.lineSegments(buffer, 3, indices);
199
297
  };
@@ -209,8 +307,6 @@ var AcDb3dSolid = /** @class */ (function (_super) {
209
307
  if (this._version != null) {
210
308
  filer.writeInt16(70, this._version);
211
309
  }
212
- // ACIS text is written as chunked group-3 continuation lines (max 255
213
- // chars each per the DXF spec), terminated by a final group-1 line.
214
310
  var maxChunkLength = 255;
215
311
  var lines = this._acisData.split('\n');
216
312
  for (var i = 0; i < lines.length; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"AcDb3dSolid.js","sourceRoot":"","sources":["../../src/entity/AcDb3dSolid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcDb3dSolid.js","sourceRoot":"","sources":["../../src/entity/AcDb3dSolid.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbFcf.d.ts","sourceRoot":"","sources":["../../src/entity/AcDbFcf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcDbFcf.d.ts","sourceRoot":"","sources":["../../src/entity/AcDbFcf.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,WAAW,EACX,eAAe,EACf,YAAY,EACZ,gBAAgB,EACjB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,UAAU,EAIV,YAAY,EAEb,MAAM,8BAA8B,CAAA;AAErC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAqB7D;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,OAAQ,SAAQ,UAAU;IACrC,2BAA2B;IAC3B,OAAgB,QAAQ,EAAE,MAAM,CAAQ;IAExC,IAAa,WAAW,WAEvB;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,SAAS,CAAa;IAC9B,mEAAmE;IACnE,OAAO,CAAC,KAAK,CAAQ;IACrB,sEAAsE;IACtE,OAAO,CAAC,eAAe,CAAQ;IAC/B,kDAAkD;IAClD,OAAO,CAAC,OAAO,CAAc;IAC7B,oFAAoF;IACpF,OAAO,CAAC,UAAU,CAAc;IAEhC;;OAEG;;IAUH;;;;OAIG;IACH,IAAI,QAAQ,IAAI,WAAW,CAE1B;IAED;;;;OAIG;IACH,IAAI,QAAQ,CAAC,KAAK,EAAE,eAAe,EAElC;IAED;;;;OAIG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;OAIG;IACH,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAErB;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED;;OAEG;IACH,IAAI,cAAc,CAAC,KAAK,EAAE,MAAM,EAE/B;IAED;;;;OAIG;IACH,IAAI,MAAM,IAAI,YAAY,CAEzB;IAED;;OAEG;IACH,IAAI,MAAM,CAAC,KAAK,EAAE,gBAAgB,EAKjC;IAED;;;;OAIG;IACH,IAAI,SAAS,IAAI,YAAY,CAE5B;IAED;;OAEG;IACH,IAAI,SAAS,CAAC,KAAK,EAAE,gBAAgB,EAKpC;IAED;;;;OAIG;IACH,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,gBAAgB;IAMpE;;;;OAIG;IACH,iBAAiB,IAAI,WAAW,EAAE;IAIlC;;;;OAIG;IACH,mBAAmB,IAAI,WAAW,EAAE;IAepC,IAAI,gBAAgB,IAAI,SAAS,CAShC;IAED,gBAAgB;IAIhB,kBAAkB;IAClB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,gBAAgB;IAK/D,iBAAiB,CACf,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,eAAe,EAAE;IAO/B,WAAW,CAAC,MAAM,EAAE,YAAY;IAiChC,IAAI,UAAU,IAAI,oBAAoB,CAgFrC;IAED,YAAY,CACV,QAAQ,EAAE,YAAY,EACtB,KAAK,CAAC,EAAE,OAAO,GACd,UAAU,GAAG,SAAS;IAkBhB,YAAY,CAAC,KAAK,EAAE,YAAY;IAiBzC;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,CAQvB;IAED,OAAO,CAAC,iBAAiB;IAmDzB,OAAO,CAAC,wBAAwB;IA+ChC,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,kBAAkB;IAyD1B,OAAO,CAAC,mBAAmB;IAwC3B,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,oBAAoB;IA+B5B,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,YAAY;CAYrB"}
@@ -55,7 +55,7 @@ import { AcDbDimStyleTableRecord } from '../database';
55
55
  import { AcDbOsnapMode } from '../misc/AcDbOsnapMode';
56
56
  import { AcDbEntity } from './AcDbEntity';
57
57
  import { acdbMovePrimaryGripPointAt } from './AcDbGripHelpers';
58
- import { acdbEstimatePlainTextWidth, acdbStripMTextControlCodes } from './AcDbTextExtentsHelpers';
58
+ import { acdbEstimateToleranceCellWidth } from './AcDbTextExtentsHelpers';
59
59
  var TOLERANCE_SLOT_COUNT = 6;
60
60
  /**
61
61
  * Represents a feature control frame (FCF) entity in AutoCAD.
@@ -548,8 +548,7 @@ var AcDbFcf = /** @class */ (function (_super) {
548
548
  if (!cell.trim()) {
549
549
  continue;
550
550
  }
551
- var plainText = acdbStripMTextControlCodes(cell).trim();
552
- var estimatedWidth = acdbEstimatePlainTextWidth(plainText, textHeight);
551
+ var estimatedWidth = acdbEstimateToleranceCellWidth(cell, textHeight);
553
552
  maxWidth = Math.max(maxWidth, estimatedWidth);
554
553
  }
555
554
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbFcf.js","sourceRoot":"","sources":["../../src/entity/AcDbFcf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcDbFcf.js","sourceRoot":"","sources":["../../src/entity/AcDbFcf.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,18 @@ import { AcGiMTextAttachmentPoint } from '@mlightcad/graphic-interface';
4
4
  * Strips MTEXT control codes and returns plain text for width/line estimation.
5
5
  */
6
6
  export declare function acdbStripMTextControlCodes(text: string): string;
7
+ /**
8
+ * Strips tolerance cell formatting and returns measurable plain text.
9
+ *
10
+ * GDT font codes such as `{\Fgdt;r}` or `{\Fgdt;n}0.05` embed a single symbol
11
+ * character after the font name. That glyph must not contribute to ASCII width
12
+ * estimation because it is rendered from the GDT SHX font, not the text style.
13
+ */
14
+ export declare function acdbStripToleranceCellTextForWidth(text: string): string;
15
+ /**
16
+ * Estimates the rendered width of one tolerance frame cell.
17
+ */
18
+ export declare function acdbEstimateToleranceCellWidth(cellText: string, textHeight: number, widthFactor?: number): number;
7
19
  /**
8
20
  * Estimates rendered text width from plain text length and height.
9
21
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbTextExtentsHelpers.d.ts","sourceRoot":"","sources":["../../src/entity/AcDbTextExtentsHelpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcDbTextExtentsHelpers.d.ts","sourceRoot":"","sources":["../../src/entity/AcDbTextExtentsHelpers.ts"],"names":[],"mappings":"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"}