abstract-3d 2.7.14 → 2.7.16
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.
- package/lib/renderers/dxf/dxf-encoding/dxf-dimension.d.ts +1 -1
- package/lib/renderers/dxf/dxf-encoding/dxf-dimension.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-encoding/dxf-dimension.js +9 -23
- package/lib/renderers/dxf/dxf-encoding/dxf-dimension.js.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-dimension.d.ts +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-dimension.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-dimension.js +2 -2
- package/lib/renderers/dxf/dxf-geometries/dxf-dimension.js.map +1 -1
- package/lib/renderers/dxf/dxf.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf.js +4 -4
- package/lib/renderers/dxf/dxf.js.map +1 -1
- package/package.json +2 -2
- package/src/renderers/dxf/dxf-encoding/dxf-dimension.ts +9 -20
- package/src/renderers/dxf/dxf-geometries/dxf-dimension.ts +2 -2
- package/src/renderers/dxf/dxf.ts +4 -5
|
@@ -6,6 +6,6 @@ export type DxfDimensionDefinition = {
|
|
|
6
6
|
readonly block: string;
|
|
7
7
|
readonly blockRecord: string;
|
|
8
8
|
};
|
|
9
|
-
export declare function dxfEncDimension(measurementStart: Vec3, measurementEnd: Vec3, linePosition: Vec3, text: string, col: DxfColor, views: ReadonlyArray<View>, handleRef: Handle): DxfDimensionDefinition;
|
|
9
|
+
export declare function dxfEncDimension(measurementStart: Vec3, measurementEnd: Vec3, linePosition: Vec3, text: string, col: DxfColor, sceneRotation: Vec3, views: ReadonlyArray<View>, handleRef: Handle): DxfDimensionDefinition;
|
|
10
10
|
export declare function encodeDxfFormattedText(text: string): string;
|
|
11
11
|
//# sourceMappingURL=dxf-dimension.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dxf-dimension.d.ts","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-encoding/dxf-dimension.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"dxf-dimension.d.ts","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-encoding/dxf-dimension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmD,KAAK,IAAI,EAAoB,IAAI,EAAkB,MAAM,yBAAyB,CAAC;AAC7I,OAAO,EAAE,KAAK,QAAQ,EAAY,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAkF,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAK9H,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,wBAAgB,eAAe,CAC7B,gBAAgB,EAAE,IAAI,EACtB,cAAc,EAAE,IAAI,EACpB,YAAY,EAAE,IAAI,EAClB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,QAAQ,EACb,aAAa,EAAE,IAAI,EACnB,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,EAC1B,SAAS,EAAE,MAAM,GAChB,sBAAsB,CAQxB;AAsKD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { dimensionMeshifyAlignedDimension,
|
|
1
|
+
import { dimensionMeshifyAlignedDimension, vec3RotCombine } from "../../../abstract-3d.js";
|
|
2
2
|
import { dxfColor } from "./dxf-color.js";
|
|
3
3
|
import { DXF_BLOCK_RECORD_TABLE_HANDLE, DXF_MODEL_SPACE_HANDLE, dxfHandleNext, dxfRound } from "./dxf-common.js";
|
|
4
4
|
import { dxfEncLine } from "./dxf-line.js";
|
|
5
5
|
import { DxfMTextAttachment, dxfEncMText } from "./dxf-mtext.js";
|
|
6
6
|
import { dxfEncSolidTriangle } from "./dxf-triangle.js";
|
|
7
|
-
export function dxfEncDimension(measurementStart, measurementEnd, linePosition, text, col, views, handleRef) {
|
|
7
|
+
export function dxfEncDimension(measurementStart, measurementEnd, linePosition, text, col, sceneRotation, views, handleRef) {
|
|
8
8
|
const blockRecordHandle = dxfHandleNext(handleRef);
|
|
9
9
|
const blockName = `*D${blockRecordHandle}`;
|
|
10
10
|
return {
|
|
11
11
|
entity: dxfEncodeDimensionEntity(blockName, measurementStart, measurementEnd, linePosition, text, col, handleRef),
|
|
12
|
-
block: dxfEncodeDimensionBlock(blockName, blockRecordHandle, measurementStart, measurementEnd, linePosition, text, col, views, handleRef),
|
|
12
|
+
block: dxfEncodeDimensionBlock(blockName, blockRecordHandle, measurementStart, measurementEnd, linePosition, text, col, sceneRotation, views, handleRef),
|
|
13
13
|
blockRecord: dxfEncodeDimensionBlockRecord(blockName, blockRecordHandle)
|
|
14
14
|
};
|
|
15
15
|
}
|
|
@@ -30,17 +30,11 @@ AcDbDimension
|
|
|
30
30
|
2
|
|
31
31
|
${blockName}
|
|
32
32
|
10
|
|
33
|
-
${dxfRound(
|
|
33
|
+
${dxfRound(linePosition.x)}
|
|
34
34
|
20
|
|
35
35
|
${dxfRound(linePosition.y)}
|
|
36
36
|
30
|
|
37
37
|
${dxfRound(linePosition.z)}
|
|
38
|
-
11
|
|
39
|
-
${dxfRound(linePosition.x)}
|
|
40
|
-
21
|
|
41
|
-
${dxfRound(linePosition.y)}
|
|
42
|
-
31
|
|
43
|
-
${dxfRound(linePosition.z)}
|
|
44
38
|
70
|
|
45
39
|
33
|
|
46
40
|
1
|
|
@@ -51,14 +45,6 @@ ${encodeDxfFormattedText(text)}
|
|
|
51
45
|
0
|
|
52
46
|
3
|
|
53
47
|
Standard
|
|
54
|
-
53
|
|
55
|
-
0
|
|
56
|
-
210
|
|
57
|
-
0
|
|
58
|
-
220
|
|
59
|
-
0
|
|
60
|
-
230
|
|
61
|
-
1
|
|
62
48
|
100
|
|
63
49
|
AcDbAlignedDimension
|
|
64
50
|
13
|
|
@@ -90,7 +76,7 @@ AcDbBlockTableRecord
|
|
|
90
76
|
${blockName}
|
|
91
77
|
`;
|
|
92
78
|
}
|
|
93
|
-
function dxfEncodeDimensionBlock(blockName, blockRecordHandle, measurementStart, measurementEnd, linePosition, text, col, views, handleRef) {
|
|
79
|
+
function dxfEncodeDimensionBlock(blockName, blockRecordHandle, measurementStart, measurementEnd, linePosition, text, col, sceneRotation, views, handleRef) {
|
|
94
80
|
return `0
|
|
95
81
|
BLOCK
|
|
96
82
|
5
|
|
@@ -117,7 +103,7 @@ ${blockName}
|
|
|
117
103
|
${blockName}
|
|
118
104
|
1
|
|
119
105
|
|
|
120
|
-
${dxfEncodeDimensionGeometry(blockRecordHandle, measurementStart, measurementEnd, linePosition, text, col, views, handleRef)}0
|
|
106
|
+
${dxfEncodeDimensionGeometry(blockRecordHandle, measurementStart, measurementEnd, linePosition, text, col, sceneRotation, views, handleRef)}0
|
|
121
107
|
ENDBLK
|
|
122
108
|
5
|
|
123
109
|
${dxfHandleNext(handleRef)}
|
|
@@ -133,13 +119,13 @@ AcDbEntity
|
|
|
133
119
|
AcDbBlockEnd
|
|
134
120
|
`;
|
|
135
121
|
}
|
|
136
|
-
function dxfEncodeDimensionGeometry(blockRecordHandle, measurementStart, measurementEnd, linePosition, text, col, views, handleRef) {
|
|
122
|
+
function dxfEncodeDimensionGeometry(blockRecordHandle, measurementStart, measurementEnd, linePosition, text, col, sceneRotation, views, handleRef) {
|
|
137
123
|
let entities = "";
|
|
138
124
|
const onCreateLine = (start, end, _norm, _thickness, _mat) => {
|
|
139
125
|
entities += dxfEncLine(start, end, col, handleRef, blockRecordHandle);
|
|
140
126
|
};
|
|
141
127
|
const onCreateText = (pos, measurement, fontSize, _mat, rot) => {
|
|
142
|
-
entities += dxfEncMText(pos, measurement, rot.z, fontSize, handleRef, DxfMTextAttachment.MiddleCenter, blockRecordHandle);
|
|
128
|
+
entities += dxfEncMText(pos, measurement, vec3RotCombine(rot, sceneRotation).z, fontSize, handleRef, DxfMTextAttachment.MiddleCenter, blockRecordHandle);
|
|
143
129
|
};
|
|
144
130
|
const onCreatePolygon = (p1, p2, p3, _mat) => {
|
|
145
131
|
entities += dxfEncSolidTriangle(p1, p2, p3, col, handleRef, blockRecordHandle);
|
|
@@ -151,7 +137,7 @@ function dxfEncodeDimensionGeometry(blockRecordHandle, measurementStart, measure
|
|
|
151
137
|
text,
|
|
152
138
|
views
|
|
153
139
|
};
|
|
154
|
-
dimensionMeshifyAlignedDimension(dimension,
|
|
140
|
+
dimensionMeshifyAlignedDimension(dimension, sceneRotation, onCreateLine, onCreateText, onCreatePolygon);
|
|
155
141
|
return entities;
|
|
156
142
|
}
|
|
157
143
|
export function encodeDxfFormattedText(text) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dxf-dimension.js","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-encoding/dxf-dimension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,
|
|
1
|
+
{"version":3,"file":"dxf-dimension.js","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-encoding/dxf-dimension.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Dimension, type Vec3 } from "../../../abstract-3d.js";
|
|
2
2
|
import type { Handle } from "../dxf-encoding/dxf-common.js";
|
|
3
3
|
import { type DxfDimensionDefinition } from "../dxf-encoding/dxf-dimension.js";
|
|
4
|
-
export declare function dxfDimension(dimension: Dimension, parentPos: Vec3, parentRot: Vec3, handleRef: Handle): DxfDimensionDefinition;
|
|
4
|
+
export declare function dxfDimension(dimension: Dimension, parentPos: Vec3, parentRot: Vec3, sceneRotation: Vec3, handleRef: Handle): DxfDimensionDefinition;
|
|
5
5
|
//# sourceMappingURL=dxf-dimension.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dxf-dimension.d.ts","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-geometries/dxf-dimension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAyB,KAAK,IAAI,EAAqC,MAAM,yBAAyB,CAAC;AAC9H,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,KAAK,sBAAsB,EAAmB,MAAM,kCAAkC,CAAC;AAEhG,wBAAgB,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,sBAAsB,
|
|
1
|
+
{"version":3,"file":"dxf-dimension.d.ts","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-geometries/dxf-dimension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAyB,KAAK,IAAI,EAAqC,MAAM,yBAAyB,CAAC;AAC9H,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,KAAK,sBAAsB,EAAmB,MAAM,kCAAkC,CAAC;AAEhG,wBAAgB,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,sBAAsB,CAanJ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { dimensionIsOfTypeMesh, vec3Length, vec3Sub, vec3TransRot } from "../../../abstract-3d.js";
|
|
2
2
|
import { dxfEncDimension } from "../dxf-encoding/dxf-dimension.js";
|
|
3
|
-
export function dxfDimension(dimension, parentPos, parentRot, handleRef) {
|
|
3
|
+
export function dxfDimension(dimension, parentPos, parentRot, sceneRotation, handleRef) {
|
|
4
4
|
if (dimensionIsOfTypeMesh(dimension)) {
|
|
5
5
|
return {
|
|
6
6
|
block: "",
|
|
@@ -12,6 +12,6 @@ export function dxfDimension(dimension, parentPos, parentRot, handleRef) {
|
|
|
12
12
|
const me = vec3TransRot(dimension.measurementEnd, parentPos, parentRot);
|
|
13
13
|
const lp = vec3TransRot(dimension.linePosition, parentPos, parentRot);
|
|
14
14
|
const text = dimension.text ?? `${vec3Length(vec3Sub(me, ms))}`;
|
|
15
|
-
return dxfEncDimension(ms, me, lp, text, 7, dimension.views ?? ["front"], handleRef);
|
|
15
|
+
return dxfEncDimension(ms, me, lp, text, 7, sceneRotation, dimension.views ?? ["front"], handleRef);
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=dxf-dimension.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dxf-dimension.js","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-geometries/dxf-dimension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,qBAAqB,EAAa,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE9H,OAAO,EAA+B,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEhG,MAAM,UAAU,YAAY,CAAC,SAAoB,EAAE,SAAe,EAAE,SAAe,EAAE,SAAiB;
|
|
1
|
+
{"version":3,"file":"dxf-dimension.js","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-geometries/dxf-dimension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,qBAAqB,EAAa,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE9H,OAAO,EAA+B,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEhG,MAAM,UAAU,YAAY,CAAC,SAAoB,EAAE,SAAe,EAAE,SAAe,EAAE,aAAmB,EAAE,SAAiB;IACzH,IAAG,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;QACpC,OAAO;YACL,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,WAAW,EAAE,EAAE;SAChB,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC,gBAAgB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC1E,MAAM,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACxE,MAAM,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACtE,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;IAChE,OAAO,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,aAAa,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;AACtG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dxf.d.ts","sourceRoot":"","sources":["../../../src/renderers/dxf/dxf.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,KAAK,EACV,KAAK,IAAI,EACT,KAAK,IAAI,EAeV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAA6B,KAAK,SAAS,EAAwC,MAAM,8BAA8B,CAAC;AAC/H,OAAO,EAAE,KAAK,QAAQ,EAAyB,MAAM,gBAAgB,CAAC;AAUtE,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;CAAE,CAAC;AAEvH,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;CACpB,CAAC;AAEF,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,MAAM,CA4BlH;AAED,eAAO,MAAM,MAAM,GAAI,OAAO,KAAK,EAAE,UAAU,QAAQ,CAAC,UAAU,CAAC,KAAG,MAKrE,CAAC;
|
|
1
|
+
{"version":3,"file":"dxf.d.ts","sourceRoot":"","sources":["../../../src/renderers/dxf/dxf.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,KAAK,EACV,KAAK,IAAI,EACT,KAAK,IAAI,EAeV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAA6B,KAAK,SAAS,EAAwC,MAAM,8BAA8B,CAAC;AAC/H,OAAO,EAAE,KAAK,QAAQ,EAAyB,MAAM,gBAAgB,CAAC;AAUtE,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;CAAE,CAAC;AAEvH,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;CACpB,CAAC;AAEF,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,MAAM,CA4BlH;AAED,eAAO,MAAM,MAAM,GAAI,OAAO,KAAK,EAAE,UAAU,QAAQ,CAAC,UAAU,CAAC,KAAG,MAKrE,CAAC;AAwHF,eAAO,MAAM,SAAS,GAAI,OAAO,KAAK,EAAE,UAAU,QAAQ,CAAC,UAAU,CAAC,KAAG,MAiBxE,CAAC"}
|
package/lib/renderers/dxf/dxf.js
CHANGED
|
@@ -47,7 +47,7 @@ const renderInternal = (scene, options, offset, handleRef) => {
|
|
|
47
47
|
const visibleViews = calculateVisibleViews(options.view, scene.rotation_deprecated);
|
|
48
48
|
return {
|
|
49
49
|
groups: scene.groups.reduce((a, c) => a + dxfGroup(c, pos, unitRot, options, handleRef), ""),
|
|
50
|
-
dimensions: dxfDimensions(scene.dimensions_deprecated, pos, unitRot, visibleViews, options, handleRef),
|
|
50
|
+
dimensions: dxfDimensions(scene.dimensions_deprecated, pos, unitRot, scene.rotation_deprecated ?? vec3Zero, visibleViews, options, handleRef),
|
|
51
51
|
size,
|
|
52
52
|
center: pos,
|
|
53
53
|
};
|
|
@@ -117,7 +117,7 @@ function dxfGroup(g, parentPos, parentRot, options, handleRef) {
|
|
|
117
117
|
}
|
|
118
118
|
return dxf;
|
|
119
119
|
}
|
|
120
|
-
function dxfDimensions(d, parentPos, parentRot, visibleViews, options, handleRef) {
|
|
120
|
+
function dxfDimensions(d, parentPos, parentRot, sceneRotation, visibleViews, options, handleRef) {
|
|
121
121
|
if (!d || !options.showDimensions) {
|
|
122
122
|
return {
|
|
123
123
|
entity: "",
|
|
@@ -127,7 +127,7 @@ function dxfDimensions(d, parentPos, parentRot, visibleViews, options, handleRef
|
|
|
127
127
|
}
|
|
128
128
|
return d.dimensions
|
|
129
129
|
.filter((d) => d.views?.[0] && visibleViews[d.views[0]] === true)
|
|
130
|
-
.map((d) => dxfDimension(d, parentPos, parentRot, handleRef))
|
|
130
|
+
.map((d) => dxfDimension(d, parentPos, parentRot, sceneRotation, handleRef))
|
|
131
131
|
.reduce((prev, curr) => ({ block: prev.block + curr.block, entity: prev.entity + curr.entity, blockRecord: prev.blockRecord + curr.blockRecord }), { block: "", entity: "", blockRecord: "" });
|
|
132
132
|
}
|
|
133
133
|
function optionsDef(options) {
|
|
@@ -150,7 +150,7 @@ export const renderOld = (scene, options) => {
|
|
|
150
150
|
const bounds2 = bounds3FromPosAndSize(offset, scene.size_deprecated);
|
|
151
151
|
const groupRoot = group([], offset, vec3Zero, scene.groups);
|
|
152
152
|
const handleRef = dxfHandleInit();
|
|
153
|
-
const dimensions = dxfDimensions(scene.dimensions_deprecated, dimensionsPos, unitRot, visibleViews, opts, handleRef);
|
|
153
|
+
const dimensions = dxfDimensions(scene.dimensions_deprecated, dimensionsPos, unitRot, scene.rotation_deprecated ?? vec3Zero, visibleViews, opts, handleRef);
|
|
154
154
|
return dxfBuild(dxfGroup(groupRoot, center, unitRot, opts, handleRef), dimensions, bounds2, scene.size_deprecated, center);
|
|
155
155
|
};
|
|
156
156
|
//# sourceMappingURL=dxf.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dxf.js","sourceRoot":"","sources":["../../../src/renderers/dxf/dxf.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,KAAK,EACL,oBAAoB,EACpB,sBAAsB,EACtB,IAAI,EACJ,OAAO,EACP,cAAc,EACd,OAAO,EACP,YAAY,EACZ,QAAQ,EACT,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,yBAAyB,EAA+B,QAAQ,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC/H,OAAO,EAAiB,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAkBjE,MAAM,UAAU,YAAY,CAAC,MAA+B,EAAE,WAA4C;IACxG,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,aAAa,GAA2B;QAC1C,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,WAAW,EAAE,EAAE;KAChB,CAAC;IAEF,MAAM,SAAS,GAAG,KAAK,EAAW,CAAC;IACnC,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAG,sBAAsB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,IAAI,QAAQ,CAAC,CAAC;IACrF,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CACzD,IAAI,CAAC,KAAK,EACV,UAAU,CAAC,EAAE,GAAG,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EACjE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAC/B,MAAM,CACP,CAAC;QACF,SAAS,IAAI,MAAM,CAAC;QACpB,aAAa,GAAG;YACd,MAAM,EAAE,aAAa,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM;YAChD,KAAK,EAAE,aAAa,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK;YAC7C,WAAW,EAAE,aAAa,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW;SAChE,CAAC;QACF,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC;IAC1C,OAAO,QAAQ,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAY,EAAE,OAA8B,EAAU,EAAE;IAC7E,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;IACpG,OAAO,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACrB,KAAY,EACZ,OAAmB,EACnB,MAAY,EACZ,SAAiB,EACqG,EAAE;IACxH,MAAM,OAAO,GAAG,cAAc,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,mBAAmB,IAAI,QAAQ,CAAC,CAAC;IAC1G,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,IAAI,QAAQ,CAAC;IACvD,MAAM,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,KAAK,CAAC,eAAe,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAClF,MAAM,MAAM,GAAG,qBAAqB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,MAAM,GAAG,GACP,OAAO,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACnH,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"dxf.js","sourceRoot":"","sources":["../../../src/renderers/dxf/dxf.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "abstract-3d",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.16",
|
|
4
4
|
"description": "Abstract 3D",
|
|
5
5
|
"author": "Divid AB <info@divid.se>",
|
|
6
6
|
"repository": "https://github.com/dividab/abstract-visuals/tree/master/packages/abstract-3d",
|
|
@@ -65,5 +65,5 @@
|
|
|
65
65
|
"@types/three": "^0.180.0",
|
|
66
66
|
"react": "^19.2.6"
|
|
67
67
|
},
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "33654462a4b8b7da42c0d6c382f789b09ac6e789"
|
|
69
69
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { dimensionMeshifyAlignedDimension, type Material,
|
|
1
|
+
import { dimensionMeshifyAlignedDimension, type Material, type Vec3, DimensionAligned, View, vec3RotCombine } from "../../../abstract-3d.js";
|
|
2
2
|
import { type DxfColor, dxfColor } from "./dxf-color.js";
|
|
3
3
|
import { DXF_BLOCK_RECORD_TABLE_HANDLE, DXF_MODEL_SPACE_HANDLE, dxfHandleNext, dxfRound, type Handle } from "./dxf-common.js";
|
|
4
4
|
import { dxfEncLine } from "./dxf-line.js";
|
|
@@ -17,6 +17,7 @@ export function dxfEncDimension(
|
|
|
17
17
|
linePosition: Vec3,
|
|
18
18
|
text: string,
|
|
19
19
|
col: DxfColor,
|
|
20
|
+
sceneRotation: Vec3,
|
|
20
21
|
views: ReadonlyArray<View>,
|
|
21
22
|
handleRef: Handle
|
|
22
23
|
): DxfDimensionDefinition {
|
|
@@ -24,7 +25,7 @@ export function dxfEncDimension(
|
|
|
24
25
|
const blockName = `*D${blockRecordHandle}`;
|
|
25
26
|
return {
|
|
26
27
|
entity: dxfEncodeDimensionEntity(blockName, measurementStart, measurementEnd, linePosition, text, col, handleRef),
|
|
27
|
-
block: dxfEncodeDimensionBlock(blockName, blockRecordHandle, measurementStart, measurementEnd, linePosition, text, col, views, handleRef),
|
|
28
|
+
block: dxfEncodeDimensionBlock(blockName, blockRecordHandle, measurementStart, measurementEnd, linePosition, text, col, sceneRotation, views, handleRef),
|
|
28
29
|
blockRecord: dxfEncodeDimensionBlockRecord(blockName, blockRecordHandle)
|
|
29
30
|
};
|
|
30
31
|
}
|
|
@@ -54,17 +55,11 @@ AcDbDimension
|
|
|
54
55
|
2
|
|
55
56
|
${blockName}
|
|
56
57
|
10
|
|
57
|
-
${dxfRound(
|
|
58
|
+
${dxfRound(linePosition.x)}
|
|
58
59
|
20
|
|
59
60
|
${dxfRound(linePosition.y)}
|
|
60
61
|
30
|
|
61
62
|
${dxfRound(linePosition.z)}
|
|
62
|
-
11
|
|
63
|
-
${dxfRound(linePosition.x)}
|
|
64
|
-
21
|
|
65
|
-
${dxfRound(linePosition.y)}
|
|
66
|
-
31
|
|
67
|
-
${dxfRound(linePosition.z)}
|
|
68
63
|
70
|
|
69
64
|
33
|
|
70
65
|
1
|
|
@@ -75,14 +70,6 @@ ${encodeDxfFormattedText(text)}
|
|
|
75
70
|
0
|
|
76
71
|
3
|
|
77
72
|
Standard
|
|
78
|
-
53
|
|
79
|
-
0
|
|
80
|
-
210
|
|
81
|
-
0
|
|
82
|
-
220
|
|
83
|
-
0
|
|
84
|
-
230
|
|
85
|
-
1
|
|
86
73
|
100
|
|
87
74
|
AcDbAlignedDimension
|
|
88
75
|
13
|
|
@@ -127,6 +114,7 @@ function dxfEncodeDimensionBlock(
|
|
|
127
114
|
linePosition: Vec3,
|
|
128
115
|
text: string,
|
|
129
116
|
col: DxfColor,
|
|
117
|
+
sceneRotation: Vec3,
|
|
130
118
|
views: ReadonlyArray<View>,
|
|
131
119
|
handleRef: Handle
|
|
132
120
|
): string {
|
|
@@ -156,7 +144,7 @@ ${blockName}
|
|
|
156
144
|
${blockName}
|
|
157
145
|
1
|
|
158
146
|
|
|
159
|
-
${dxfEncodeDimensionGeometry(blockRecordHandle, measurementStart, measurementEnd, linePosition, text, col, views, handleRef)}0
|
|
147
|
+
${dxfEncodeDimensionGeometry(blockRecordHandle, measurementStart, measurementEnd, linePosition, text, col, sceneRotation, views, handleRef)}0
|
|
160
148
|
ENDBLK
|
|
161
149
|
5
|
|
162
150
|
${dxfHandleNext(handleRef)}
|
|
@@ -180,6 +168,7 @@ function dxfEncodeDimensionGeometry(
|
|
|
180
168
|
linePosition: Vec3,
|
|
181
169
|
text: string,
|
|
182
170
|
col: DxfColor,
|
|
171
|
+
sceneRotation: Vec3,
|
|
183
172
|
views: ReadonlyArray<View>,
|
|
184
173
|
handleRef: Handle
|
|
185
174
|
): string {
|
|
@@ -189,7 +178,7 @@ function dxfEncodeDimensionGeometry(
|
|
|
189
178
|
entities += dxfEncLine(start, end, col, handleRef, blockRecordHandle);
|
|
190
179
|
};
|
|
191
180
|
const onCreateText = (pos: Vec3, measurement: string, fontSize: number, _mat: Material, rot: Vec3): void => {
|
|
192
|
-
entities += dxfEncMText(pos, measurement, rot.z, fontSize, handleRef, DxfMTextAttachment.MiddleCenter, blockRecordHandle);
|
|
181
|
+
entities += dxfEncMText(pos, measurement, vec3RotCombine(rot, sceneRotation).z, fontSize, handleRef, DxfMTextAttachment.MiddleCenter, blockRecordHandle);
|
|
193
182
|
};
|
|
194
183
|
const onCreatePolygon = (p1: Vec3, p2: Vec3, p3: Vec3, _mat: Material): void => {
|
|
195
184
|
entities += dxfEncSolidTriangle(p1, p2, p3, col, handleRef, blockRecordHandle);
|
|
@@ -201,7 +190,7 @@ function dxfEncodeDimensionGeometry(
|
|
|
201
190
|
text,
|
|
202
191
|
views
|
|
203
192
|
};
|
|
204
|
-
dimensionMeshifyAlignedDimension(dimension,
|
|
193
|
+
dimensionMeshifyAlignedDimension(dimension, sceneRotation, onCreateLine, onCreateText, onCreatePolygon);
|
|
205
194
|
return entities;
|
|
206
195
|
}
|
|
207
196
|
|
|
@@ -2,7 +2,7 @@ import { type Dimension, dimensionIsOfTypeMesh, type Vec3, vec3Length, vec3Sub,
|
|
|
2
2
|
import type { Handle } from "../dxf-encoding/dxf-common.js";
|
|
3
3
|
import { type DxfDimensionDefinition, dxfEncDimension } from "../dxf-encoding/dxf-dimension.js";
|
|
4
4
|
|
|
5
|
-
export function dxfDimension(dimension: Dimension, parentPos: Vec3, parentRot: Vec3, handleRef: Handle): DxfDimensionDefinition {
|
|
5
|
+
export function dxfDimension(dimension: Dimension, parentPos: Vec3, parentRot: Vec3, sceneRotation: Vec3, handleRef: Handle): DxfDimensionDefinition {
|
|
6
6
|
if(dimensionIsOfTypeMesh(dimension)) {
|
|
7
7
|
return {
|
|
8
8
|
block: "",
|
|
@@ -14,5 +14,5 @@ export function dxfDimension(dimension: Dimension, parentPos: Vec3, parentRot: V
|
|
|
14
14
|
const me = vec3TransRot(dimension.measurementEnd, parentPos, parentRot);
|
|
15
15
|
const lp = vec3TransRot(dimension.linePosition, parentPos, parentRot);
|
|
16
16
|
const text = dimension.text ?? `${vec3Length(vec3Sub(me, ms))}`;
|
|
17
|
-
return dxfEncDimension(ms, me, lp, text, 7, dimension.views ?? ["front"], handleRef);
|
|
17
|
+
return dxfEncDimension(ms, me, lp, text, 7, sceneRotation, dimension.views ?? ["front"], handleRef);
|
|
18
18
|
}
|
package/src/renderers/dxf/dxf.ts
CHANGED
|
@@ -97,10 +97,9 @@ const renderInternal = (
|
|
|
97
97
|
const pos =
|
|
98
98
|
options.origin === "SameAsScene" ? vec3Zero : vec3NegateY(vec3Add(unitCenter, vec3Add(offset, dxfOriginOffset)));
|
|
99
99
|
const visibleViews = calculateVisibleViews(options.view, scene.rotation_deprecated);
|
|
100
|
-
|
|
101
100
|
return {
|
|
102
101
|
groups: scene.groups.reduce((a, c) => a + dxfGroup(c, pos, unitRot, options, handleRef), ""),
|
|
103
|
-
dimensions: dxfDimensions(scene.dimensions_deprecated, pos, unitRot, visibleViews, options, handleRef),
|
|
102
|
+
dimensions: dxfDimensions(scene.dimensions_deprecated, pos, unitRot, scene.rotation_deprecated ?? vec3Zero, visibleViews, options, handleRef),
|
|
104
103
|
size,
|
|
105
104
|
center: pos,
|
|
106
105
|
};
|
|
@@ -178,7 +177,7 @@ function dxfGroup(g: Group, parentPos: Vec3, parentRot: Vec3, options: DxfOption
|
|
|
178
177
|
return dxf;
|
|
179
178
|
}
|
|
180
179
|
|
|
181
|
-
function dxfDimensions(d: Dimensions | undefined, parentPos: Vec3, parentRot: Vec3, visibleViews: Record<string, boolean>, options: DxfOptions, handleRef: Handle): DxfDimensionDefinition {
|
|
180
|
+
function dxfDimensions(d: Dimensions | undefined, parentPos: Vec3, parentRot: Vec3, sceneRotation: Vec3, visibleViews: Record<string, boolean>, options: DxfOptions, handleRef: Handle): DxfDimensionDefinition {
|
|
182
181
|
if(!d || !options.showDimensions) {
|
|
183
182
|
return {
|
|
184
183
|
entity: "",
|
|
@@ -188,7 +187,7 @@ function dxfDimensions(d: Dimensions | undefined, parentPos: Vec3, parentRot: Ve
|
|
|
188
187
|
}
|
|
189
188
|
return d.dimensions
|
|
190
189
|
.filter((d) => d.views?.[0] && visibleViews[d.views[0]] === true)
|
|
191
|
-
.map((d) => dxfDimension(d, parentPos, parentRot, handleRef))
|
|
190
|
+
.map((d) => dxfDimension(d, parentPos, parentRot, sceneRotation, handleRef))
|
|
192
191
|
.reduce<DxfDimensionDefinition>((prev, curr) => ({ block: prev.block + curr.block, entity: prev.entity + curr.entity, blockRecord: prev.blockRecord + curr.blockRecord }), {block: "", entity: "", blockRecord: ""});
|
|
193
192
|
}
|
|
194
193
|
|
|
@@ -217,6 +216,6 @@ export const renderOld = (scene: Scene, options?: Optional<DxfOptions>): string
|
|
|
217
216
|
const bounds2 = bounds3FromPosAndSize(offset, scene.size_deprecated);
|
|
218
217
|
const groupRoot = group([], offset, vec3Zero, scene.groups);
|
|
219
218
|
const handleRef = dxfHandleInit();
|
|
220
|
-
const dimensions = dxfDimensions(scene.dimensions_deprecated, dimensionsPos, unitRot, visibleViews, opts, handleRef);
|
|
219
|
+
const dimensions = dxfDimensions(scene.dimensions_deprecated, dimensionsPos, unitRot, scene.rotation_deprecated ?? vec3Zero, visibleViews, opts, handleRef);
|
|
221
220
|
return dxfBuild(dxfGroup(groupRoot, center, unitRot, opts, handleRef), dimensions, bounds2, scene.size_deprecated, center);
|
|
222
221
|
};
|