abstract-3d 2.7.16 → 2.7.18
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/abstract-3d.d.ts +1 -1
- package/lib/abstract-3d.d.ts.map +1 -1
- package/lib/abstract-3d.js +7 -3
- package/lib/abstract-3d.js.map +1 -1
- 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 -9
- package/lib/renderers/dxf/dxf-encoding/dxf-dimension.js.map +1 -1
- package/lib/renderers/dxf/dxf-encoding/dxf-mtext.d.ts +1 -1
- package/lib/renderers/dxf/dxf-encoding/dxf-mtext.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-encoding/dxf-mtext.js +13 -3
- package/lib/renderers/dxf/dxf-encoding/dxf-mtext.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 +8 -6
- package/lib/renderers/dxf/dxf.js.map +1 -1
- package/package.json +2 -2
- package/src/abstract-3d.ts +23 -3
- package/src/renderers/dxf/dxf-encoding/dxf-dimension.ts +9 -6
- package/src/renderers/dxf/dxf-encoding/dxf-mtext.ts +13 -3
- package/src/renderers/dxf/dxf-geometries/dxf-dimension.ts +2 -2
- package/src/renderers/dxf/dxf.ts +8 -6
package/lib/abstract-3d.d.ts
CHANGED
|
@@ -366,7 +366,7 @@ export declare const splineCurve: (points: ReadonlyArray<Vec3>) => SplineCurve;
|
|
|
366
366
|
export declare const alignedDimension: (measurementStart: Vec3, measurementEnd: Vec3, linePosition: Vec3, text: string, views?: ReadonlyArray<View>, material?: Material) => DimensionAligned;
|
|
367
367
|
export declare function dimensionIsOfTypeAligned(dimension: Dimension): dimension is DimensionAligned;
|
|
368
368
|
export declare function dimensionIsOfTypeMesh(dimension: Dimension): dimension is DimensionMesh;
|
|
369
|
-
export declare function dimensionMeshifyAlignedDimension(dimension: DimensionAligned, sceneRotation: Vec3, onCreateLine: (start: Vec3, end: Vec3, norm: Vec3, thickness: number, mat: Material) => void, onCreateText: (pos: Vec3, measurement: string, fontSize: number, mat: Material, rot: Vec3) => void, onCreatePolygon: (p1: Vec3, p2: Vec3, p3: Vec3, mat: Material) => void, dimensionsMaterial?: Material): void;
|
|
369
|
+
export declare function dimensionMeshifyAlignedDimension(dimension: DimensionAligned, sceneRotation: Vec3, viewRotation: Vec3, onCreateLine: (start: Vec3, end: Vec3, norm: Vec3, thickness: number, mat: Material) => void, onCreateText: (pos: Vec3, measurement: string, fontSize: number, mat: Material, rot: Vec3, dir: Vec3, normal: Vec3) => void, onCreatePolygon: (p1: Vec3, p2: Vec3, p3: Vec3, mat: Material) => void, dimensionsMaterial?: Material): void;
|
|
370
370
|
export declare function dimensionConvertToTypeMesh(dimension: Dimension, sceneRotation: Vec3, dimensionsMaterial?: Material): DimensionMesh;
|
|
371
371
|
export declare function sizeBoundsForCameraPos(size: Vec3, center: Vec3, rotation: Vec3): readonly [Vec3, Bounds3];
|
|
372
372
|
export declare function rotationForCameraPos(view: View): Vec3;
|
package/lib/abstract-3d.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-3d.d.ts","sourceRoot":"","sources":["../src/abstract-3d.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"abstract-3d.d.ts","sourceRoot":"","sources":["../src/abstract-3d.ts"],"names":[],"mappings":"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"}
|
package/lib/abstract-3d.js
CHANGED
|
@@ -559,7 +559,7 @@ export function dimensionIsOfTypeAligned(dimension) {
|
|
|
559
559
|
export function dimensionIsOfTypeMesh(dimension) {
|
|
560
560
|
return "meshes" in dimension;
|
|
561
561
|
}
|
|
562
|
-
export function dimensionMeshifyAlignedDimension(dimension, sceneRotation, onCreateLine, onCreateText, onCreatePolygon, dimensionsMaterial) {
|
|
562
|
+
export function dimensionMeshifyAlignedDimension(dimension, sceneRotation, viewRotation, onCreateLine, onCreateText, onCreatePolygon, dimensionsMaterial) {
|
|
563
563
|
const defaultMaterial = { normal: "rgb(0, 0, 0)", opacity: 1.0, roughness: 1.0, metalness: 0.0 };
|
|
564
564
|
const material = dimension.material ?? (dimensionsMaterial ?? defaultMaterial);
|
|
565
565
|
const fontGlyphWidthRatio = 0.4815;
|
|
@@ -604,7 +604,11 @@ export function dimensionMeshifyAlignedDimension(dimension, sceneRotation, onCre
|
|
|
604
604
|
const inverseSceneRotation = vec3RotInverse(sceneRotation);
|
|
605
605
|
const textDir = vec3TransRot(desiredRenderedTextDir, vec3Zero, inverseSceneRotation);
|
|
606
606
|
const textRot = vec3BasisToEuler(textDir, basis.normal);
|
|
607
|
-
|
|
607
|
+
const worldRot = vec3RotCombine(viewRotation, sceneRotation);
|
|
608
|
+
const finalRot = vec3RotCombine(textRot, worldRot);
|
|
609
|
+
const dir = vec3Rot(vec3(1, 0, 0), vec3Zero, finalRot);
|
|
610
|
+
const norm = vec3Rot(basis.normal, vec3Zero, worldRot);
|
|
611
|
+
onCreateText(lcDisplaced, measurement, textSize, material, textRot, dir, norm);
|
|
608
612
|
if (measurementLength > textThreshold) {
|
|
609
613
|
const textWidth = Math.max(...measurementRows.map((t) => t.length)) * (textSize * fontGlyphWidthRatio);
|
|
610
614
|
const lineDir = vec3Normalize(vec3Sub(leDisplaced, lsDisplaced));
|
|
@@ -650,7 +654,7 @@ export function dimensionConvertToTypeMesh(dimension, sceneRotation, dimensionsM
|
|
|
650
654
|
const onCreatePolygon = (p1, p2, p3, mat) => {
|
|
651
655
|
meshes.push(polygon([p1, p2, p3], mat));
|
|
652
656
|
};
|
|
653
|
-
dimensionMeshifyAlignedDimension(dimension, sceneRotation, onCreateLine, onCreateText, onCreatePolygon, dimensionsMaterial);
|
|
657
|
+
dimensionMeshifyAlignedDimension(dimension, sceneRotation, vec3Zero, onCreateLine, onCreateText, onCreatePolygon, dimensionsMaterial);
|
|
654
658
|
return {
|
|
655
659
|
meshes,
|
|
656
660
|
pos: vec3Zero,
|
package/lib/abstract-3d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-3d.js","sourceRoot":"","sources":["../src/abstract-3d.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"abstract-3d.js","sourceRoot":"","sources":["../src/abstract-3d.ts"],"names":[],"mappings":"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"}
|
|
@@ -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, sceneRotation: Vec3, views: ReadonlyArray<View>, handleRef: Handle): DxfDimensionDefinition;
|
|
9
|
+
export declare function dxfEncDimension(measurementStart: Vec3, measurementEnd: Vec3, linePosition: Vec3, text: string, col: DxfColor, sceneRotation: Vec3, viewRotation: 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,EAAmD,KAAK,IAAI,EAAoB,IAAI,
|
|
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,EAAmC,MAAM,yBAAyB,CAAC;AAC9J,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,YAAY,EAAE,IAAI,EAClB,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,EAC1B,SAAS,EAAE,MAAM,GAChB,sBAAsB,CAQxB;AAwKD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { dimensionMeshifyAlignedDimension
|
|
1
|
+
import { dimensionMeshifyAlignedDimension } 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, sceneRotation, views, handleRef) {
|
|
7
|
+
export function dxfEncDimension(measurementStart, measurementEnd, linePosition, text, col, sceneRotation, viewRotation, 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, sceneRotation, views, handleRef),
|
|
12
|
+
block: dxfEncodeDimensionBlock(blockName, blockRecordHandle, measurementStart, measurementEnd, linePosition, text, col, sceneRotation, viewRotation, views, handleRef),
|
|
13
13
|
blockRecord: dxfEncodeDimensionBlockRecord(blockName, blockRecordHandle)
|
|
14
14
|
};
|
|
15
15
|
}
|
|
@@ -76,7 +76,7 @@ AcDbBlockTableRecord
|
|
|
76
76
|
${blockName}
|
|
77
77
|
`;
|
|
78
78
|
}
|
|
79
|
-
function dxfEncodeDimensionBlock(blockName, blockRecordHandle, measurementStart, measurementEnd, linePosition, text, col, sceneRotation, views, handleRef) {
|
|
79
|
+
function dxfEncodeDimensionBlock(blockName, blockRecordHandle, measurementStart, measurementEnd, linePosition, text, col, sceneRotation, viewRotation, views, handleRef) {
|
|
80
80
|
return `0
|
|
81
81
|
BLOCK
|
|
82
82
|
5
|
|
@@ -103,7 +103,7 @@ ${blockName}
|
|
|
103
103
|
${blockName}
|
|
104
104
|
1
|
|
105
105
|
|
|
106
|
-
${dxfEncodeDimensionGeometry(blockRecordHandle, measurementStart, measurementEnd, linePosition, text, col, sceneRotation, views, handleRef)}0
|
|
106
|
+
${dxfEncodeDimensionGeometry(blockRecordHandle, measurementStart, measurementEnd, linePosition, text, col, sceneRotation, viewRotation, views, handleRef)}0
|
|
107
107
|
ENDBLK
|
|
108
108
|
5
|
|
109
109
|
${dxfHandleNext(handleRef)}
|
|
@@ -119,13 +119,13 @@ AcDbEntity
|
|
|
119
119
|
AcDbBlockEnd
|
|
120
120
|
`;
|
|
121
121
|
}
|
|
122
|
-
function dxfEncodeDimensionGeometry(blockRecordHandle, measurementStart, measurementEnd, linePosition, text, col, sceneRotation, views, handleRef) {
|
|
122
|
+
function dxfEncodeDimensionGeometry(blockRecordHandle, measurementStart, measurementEnd, linePosition, text, col, sceneRotation, viewRotation, views, handleRef) {
|
|
123
123
|
let entities = "";
|
|
124
124
|
const onCreateLine = (start, end, _norm, _thickness, _mat) => {
|
|
125
125
|
entities += dxfEncLine(start, end, col, handleRef, blockRecordHandle);
|
|
126
126
|
};
|
|
127
|
-
const onCreateText = (pos, measurement, fontSize, _mat,
|
|
128
|
-
entities += dxfEncMText(pos, measurement,
|
|
127
|
+
const onCreateText = (pos, measurement, fontSize, _mat, _rot, dir, norm) => {
|
|
128
|
+
entities += dxfEncMText(pos, measurement, dir, norm, fontSize, handleRef, DxfMTextAttachment.MiddleCenter, blockRecordHandle);
|
|
129
129
|
};
|
|
130
130
|
const onCreatePolygon = (p1, p2, p3, _mat) => {
|
|
131
131
|
entities += dxfEncSolidTriangle(p1, p2, p3, col, handleRef, blockRecordHandle);
|
|
@@ -137,7 +137,7 @@ function dxfEncodeDimensionGeometry(blockRecordHandle, measurementStart, measure
|
|
|
137
137
|
text,
|
|
138
138
|
views
|
|
139
139
|
};
|
|
140
|
-
dimensionMeshifyAlignedDimension(dimension, sceneRotation, onCreateLine, onCreateText, onCreatePolygon);
|
|
140
|
+
dimensionMeshifyAlignedDimension(dimension, sceneRotation, viewRotation, onCreateLine, onCreateText, onCreatePolygon);
|
|
141
141
|
return entities;
|
|
142
142
|
}
|
|
143
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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"}
|
|
@@ -11,5 +11,5 @@ export declare enum DxfMTextAttachment {
|
|
|
11
11
|
BottomCenter = 8,
|
|
12
12
|
BottomRight = 9
|
|
13
13
|
}
|
|
14
|
-
export declare function dxfEncMText(pos: Vec3, text: string,
|
|
14
|
+
export declare function dxfEncMText(pos: Vec3, text: string, dir: Vec3, normal: Vec3, fontSize: number, handleRef: Handle, attachment?: DxfMTextAttachment, blockRefHandle?: string): string;
|
|
15
15
|
//# sourceMappingURL=dxf-mtext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dxf-mtext.d.ts","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-encoding/dxf-mtext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAwE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEpH,oBAAY,kBAAkB;IAC5B,OAAO,IAAI;IACX,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,UAAU,IAAI;IACd,YAAY,IAAI;IAChB,WAAW,IAAI;IACf,UAAU,IAAI;IACd,YAAY,IAAI;IAChB,WAAW,IAAI;CAChB;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"dxf-mtext.d.ts","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-encoding/dxf-mtext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAwE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEpH,oBAAY,kBAAkB;IAC5B,OAAO,IAAI;IACX,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,UAAU,IAAI;IACd,YAAY,IAAI;IAChB,WAAW,IAAI;IACf,UAAU,IAAI;IACd,YAAY,IAAI;IAChB,WAAW,IAAI;CAChB;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAE,kBAAoD,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAsCpN"}
|
|
@@ -12,7 +12,7 @@ export var DxfMTextAttachment;
|
|
|
12
12
|
DxfMTextAttachment[DxfMTextAttachment["BottomRight"] = 9] = "BottomRight";
|
|
13
13
|
})(DxfMTextAttachment || (DxfMTextAttachment = {}));
|
|
14
14
|
;
|
|
15
|
-
export function dxfEncMText(pos, text,
|
|
15
|
+
export function dxfEncMText(pos, text, dir, normal, fontSize, handleRef, attachment = DxfMTextAttachment.MiddleCenter, blockRefHandle) {
|
|
16
16
|
return `0
|
|
17
17
|
MTEXT
|
|
18
18
|
5
|
|
@@ -35,8 +35,18 @@ ${dxfRound(pos.z)}
|
|
|
35
35
|
${(fontSize * DXF_FONT_SIZE_RATIO).toString()}
|
|
36
36
|
71
|
|
37
37
|
${attachment}
|
|
38
|
-
|
|
39
|
-
${dxfRound(
|
|
38
|
+
11
|
|
39
|
+
${dxfRound(dir.x)}
|
|
40
|
+
21
|
|
41
|
+
${dxfRound(dir.y)}
|
|
42
|
+
31
|
|
43
|
+
${dxfRound(dir.z)}
|
|
44
|
+
210
|
|
45
|
+
${dxfRound(normal.x)}
|
|
46
|
+
220
|
|
47
|
+
${dxfRound(normal.y)}
|
|
48
|
+
230
|
|
49
|
+
${dxfRound(normal.z)}
|
|
40
50
|
1
|
|
41
51
|
${text}
|
|
42
52
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dxf-mtext.js","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-encoding/dxf-mtext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,aAAa,EAAE,QAAQ,EAAe,MAAM,iBAAiB,CAAC;AAEpH,MAAM,CAAN,IAAY,kBAUX;AAVD,WAAY,kBAAkB;IAC5B,iEAAW,CAAA;IACX,qEAAa,CAAA;IACb,mEAAY,CAAA;IACZ,uEAAc,CAAA;IACd,2EAAgB,CAAA;IAChB,yEAAe,CAAA;IACf,uEAAc,CAAA;IACd,2EAAgB,CAAA;IAChB,yEAAe,CAAA;AACjB,CAAC,EAVW,kBAAkB,KAAlB,kBAAkB,QAU7B;AAAA,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,GAAS,EAAE,IAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"dxf-mtext.js","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-encoding/dxf-mtext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,aAAa,EAAE,QAAQ,EAAe,MAAM,iBAAiB,CAAC;AAEpH,MAAM,CAAN,IAAY,kBAUX;AAVD,WAAY,kBAAkB;IAC5B,iEAAW,CAAA;IACX,qEAAa,CAAA;IACb,mEAAY,CAAA;IACZ,uEAAc,CAAA;IACd,2EAAgB,CAAA;IAChB,yEAAe,CAAA;IACf,uEAAc,CAAA;IACd,2EAAgB,CAAA;IAChB,yEAAe,CAAA;AACjB,CAAC,EAVW,kBAAkB,KAAlB,kBAAkB,QAU7B;AAAA,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,GAAS,EAAE,IAAY,EAAE,GAAS,EAAE,MAAY,EAAE,QAAgB,EAAE,SAAiB,EAAE,aAAiC,kBAAkB,CAAC,YAAY,EAAE,cAAuB;IAC1M,OAAO;;;EAGP,aAAa,CAAC,SAAS,CAAC;;EAExB,cAAc,IAAI,sBAAsB;;;;;;;;EAQxC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;;EAEf,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;;EAEf,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;;EAEf,CAAC,QAAQ,GAAG,mBAAmB,CAAC,CAAC,QAAQ,EAAE;;EAE3C,UAAU;;EAEV,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;;EAEf,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;;EAEf,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;;EAEf,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;;EAElB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;;EAElB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;;EAElB,IAAI;CACL,CAAC;AACF,CAAC"}
|
|
@@ -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, sceneRotation: Vec3, handleRef: Handle): DxfDimensionDefinition;
|
|
4
|
+
export declare function dxfDimension(dimension: Dimension, parentPos: Vec3, parentRot: Vec3, sceneRotation: Vec3, viewRotation: 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,aAAa,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,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,sBAAsB,CAavK"}
|
|
@@ -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, sceneRotation, handleRef) {
|
|
3
|
+
export function dxfDimension(dimension, parentPos, parentRot, sceneRotation, viewRotation, handleRef) {
|
|
4
4
|
if (dimensionIsOfTypeMesh(dimension)) {
|
|
5
5
|
return {
|
|
6
6
|
block: "",
|
|
@@ -12,6 +12,6 @@ export function dxfDimension(dimension, parentPos, parentRot, sceneRotation, han
|
|
|
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, sceneRotation, dimension.views ?? ["front"], handleRef);
|
|
15
|
+
return dxfEncDimension(ms, me, lp, text, 7, sceneRotation, viewRotation, 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,aAAmB,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,YAAkB,EAAE,SAAiB;IAC7I,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,YAAY,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;AACpH,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;AAyHF,eAAO,MAAM,SAAS,GAAI,OAAO,KAAK,EAAE,UAAU,QAAQ,CAAC,UAAU,CAAC,KAAG,MAkBxE,CAAC"}
|
package/lib/renderers/dxf/dxf.js
CHANGED
|
@@ -38,7 +38,8 @@ export const render = (scene, options) => {
|
|
|
38
38
|
return dxfBuild(groups, dimensions, bounds, size, center);
|
|
39
39
|
};
|
|
40
40
|
const renderInternal = (scene, options, offset, handleRef) => {
|
|
41
|
-
const
|
|
41
|
+
const viewRotation = rotationForCameraPos(options.view);
|
|
42
|
+
const unitRot = vec3RotCombine(viewRotation, scene.rotation_deprecated ?? vec3Zero);
|
|
42
43
|
const unitCenter = scene.center_deprecated ?? vec3Zero;
|
|
43
44
|
const [size] = sizeBoundsForCameraPos(scene.size_deprecated, unitCenter, unitRot);
|
|
44
45
|
const bounds = bounds3FromPosAndSize(unitCenter, size);
|
|
@@ -47,7 +48,7 @@ const renderInternal = (scene, options, offset, handleRef) => {
|
|
|
47
48
|
const visibleViews = calculateVisibleViews(options.view, scene.rotation_deprecated);
|
|
48
49
|
return {
|
|
49
50
|
groups: scene.groups.reduce((a, c) => a + dxfGroup(c, pos, unitRot, options, handleRef), ""),
|
|
50
|
-
dimensions: dxfDimensions(scene.dimensions_deprecated, pos, unitRot, scene.rotation_deprecated ?? vec3Zero, visibleViews, options, handleRef),
|
|
51
|
+
dimensions: dxfDimensions(scene.dimensions_deprecated, pos, unitRot, scene.rotation_deprecated ?? vec3Zero, viewRotation, visibleViews, options, handleRef),
|
|
51
52
|
size,
|
|
52
53
|
center: pos,
|
|
53
54
|
};
|
|
@@ -117,7 +118,7 @@ function dxfGroup(g, parentPos, parentRot, options, handleRef) {
|
|
|
117
118
|
}
|
|
118
119
|
return dxf;
|
|
119
120
|
}
|
|
120
|
-
function dxfDimensions(d, parentPos, parentRot, sceneRotation, visibleViews, options, handleRef) {
|
|
121
|
+
function dxfDimensions(d, parentPos, parentRot, viewRotation, sceneRotation, visibleViews, options, handleRef) {
|
|
121
122
|
if (!d || !options.showDimensions) {
|
|
122
123
|
return {
|
|
123
124
|
entity: "",
|
|
@@ -127,7 +128,7 @@ function dxfDimensions(d, parentPos, parentRot, sceneRotation, visibleViews, opt
|
|
|
127
128
|
}
|
|
128
129
|
return d.dimensions
|
|
129
130
|
.filter((d) => d.views?.[0] && visibleViews[d.views[0]] === true)
|
|
130
|
-
.map((d) => dxfDimension(d, parentPos, parentRot, sceneRotation, handleRef))
|
|
131
|
+
.map((d) => dxfDimension(d, parentPos, parentRot, sceneRotation, viewRotation, handleRef))
|
|
131
132
|
.reduce((prev, curr) => ({ block: prev.block + curr.block, entity: prev.entity + curr.entity, blockRecord: prev.blockRecord + curr.blockRecord }), { block: "", entity: "", blockRecord: "" });
|
|
132
133
|
}
|
|
133
134
|
function optionsDef(options) {
|
|
@@ -142,7 +143,8 @@ function optionsDef(options) {
|
|
|
142
143
|
export const renderOld = (scene, options) => {
|
|
143
144
|
const opts = optionsDef(options);
|
|
144
145
|
const center = scene.center_deprecated ?? vec3Zero;
|
|
145
|
-
const
|
|
146
|
+
const viewRotation = rotationForCameraPos(opts.view);
|
|
147
|
+
const unitRot = vec3RotCombine(viewRotation, scene.rotation_deprecated ?? vec3Zero);
|
|
146
148
|
const bounds = bounds3FromPosAndSize(center, scene.size_deprecated);
|
|
147
149
|
const offset = vec3Sub(opts.origin === "Center" ? vec3Zero : vec3(Math.abs(bounds.min.x), Math.abs(bounds.min.y), -bounds.max.z), center);
|
|
148
150
|
const dimensionsPos = vec3TransRot(center, offset, unitRot);
|
|
@@ -150,7 +152,7 @@ export const renderOld = (scene, options) => {
|
|
|
150
152
|
const bounds2 = bounds3FromPosAndSize(offset, scene.size_deprecated);
|
|
151
153
|
const groupRoot = group([], offset, vec3Zero, scene.groups);
|
|
152
154
|
const handleRef = dxfHandleInit();
|
|
153
|
-
const dimensions = dxfDimensions(scene.dimensions_deprecated, dimensionsPos, unitRot, scene.rotation_deprecated ?? vec3Zero, visibleViews, opts, handleRef);
|
|
155
|
+
const dimensions = dxfDimensions(scene.dimensions_deprecated, dimensionsPos, unitRot, scene.rotation_deprecated ?? vec3Zero, viewRotation, visibleViews, opts, handleRef);
|
|
154
156
|
return dxfBuild(dxfGroup(groupRoot, center, unitRot, opts, handleRef), dimensions, bounds2, scene.size_deprecated, center);
|
|
155
157
|
};
|
|
156
158
|
//# sourceMappingURL=dxf.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dxf.js","sourceRoot":"","sources":["../../../src/renderers/dxf/dxf.ts"],"names":[],"mappings":"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
|
|
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.18",
|
|
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": "fa5fc08c092533b6a1ac7760509b7069b97e71d8"
|
|
69
69
|
}
|
package/src/abstract-3d.ts
CHANGED
|
@@ -1044,8 +1044,9 @@ export function dimensionIsOfTypeMesh(dimension: Dimension): dimension is Dimens
|
|
|
1044
1044
|
export function dimensionMeshifyAlignedDimension(
|
|
1045
1045
|
dimension: DimensionAligned,
|
|
1046
1046
|
sceneRotation: Vec3,
|
|
1047
|
+
viewRotation: Vec3,
|
|
1047
1048
|
onCreateLine: (start: Vec3, end: Vec3, norm: Vec3, thickness: number, mat: Material) => void,
|
|
1048
|
-
onCreateText: (pos: Vec3, measurement: string, fontSize: number, mat: Material, rot: Vec3) => void,
|
|
1049
|
+
onCreateText: (pos: Vec3, measurement: string, fontSize: number, mat: Material, rot: Vec3, dir: Vec3, normal: Vec3) => void,
|
|
1049
1050
|
onCreatePolygon: (p1: Vec3, p2: Vec3, p3: Vec3, mat: Material) => void,
|
|
1050
1051
|
dimensionsMaterial?: Material,
|
|
1051
1052
|
): void {
|
|
@@ -1116,7 +1117,26 @@ export function dimensionMeshifyAlignedDimension(
|
|
|
1116
1117
|
textDir,
|
|
1117
1118
|
basis.normal
|
|
1118
1119
|
);
|
|
1119
|
-
|
|
1120
|
+
|
|
1121
|
+
const worldRot = vec3RotCombine(
|
|
1122
|
+
viewRotation,
|
|
1123
|
+
sceneRotation
|
|
1124
|
+
);
|
|
1125
|
+
const finalRot = vec3RotCombine(
|
|
1126
|
+
textRot,
|
|
1127
|
+
worldRot,
|
|
1128
|
+
);
|
|
1129
|
+
const dir = vec3Rot(
|
|
1130
|
+
vec3(1, 0, 0),
|
|
1131
|
+
vec3Zero,
|
|
1132
|
+
finalRot
|
|
1133
|
+
);
|
|
1134
|
+
const norm = vec3Rot(
|
|
1135
|
+
basis.normal,
|
|
1136
|
+
vec3Zero,
|
|
1137
|
+
worldRot
|
|
1138
|
+
);
|
|
1139
|
+
onCreateText(lcDisplaced, measurement, textSize, material, textRot, dir, norm);
|
|
1120
1140
|
|
|
1121
1141
|
if(measurementLength > textThreshold) {
|
|
1122
1142
|
const textWidth = Math.max(...measurementRows.map((t) => t.length)) * (textSize * fontGlyphWidthRatio);
|
|
@@ -1174,7 +1194,7 @@ export function dimensionConvertToTypeMesh(dimension: Dimension, sceneRotation:
|
|
|
1174
1194
|
const onCreatePolygon = (p1: Vec3, p2: Vec3, p3: Vec3, mat: Material): void => {
|
|
1175
1195
|
meshes.push(polygon([p1, p2, p3], mat));
|
|
1176
1196
|
};
|
|
1177
|
-
dimensionMeshifyAlignedDimension(dimension, sceneRotation, onCreateLine, onCreateText, onCreatePolygon, dimensionsMaterial);
|
|
1197
|
+
dimensionMeshifyAlignedDimension(dimension, sceneRotation, vec3Zero, onCreateLine, onCreateText, onCreatePolygon, dimensionsMaterial);
|
|
1178
1198
|
|
|
1179
1199
|
return {
|
|
1180
1200
|
meshes,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { dimensionMeshifyAlignedDimension, type Material, type Vec3, DimensionAligned, View, vec3RotCombine } from "../../../abstract-3d.js";
|
|
1
|
+
import { dimensionMeshifyAlignedDimension, type Material, type Vec3, DimensionAligned, View, vec3RotCombine, vec3, vec3Cross } 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";
|
|
@@ -18,6 +18,7 @@ export function dxfEncDimension(
|
|
|
18
18
|
text: string,
|
|
19
19
|
col: DxfColor,
|
|
20
20
|
sceneRotation: Vec3,
|
|
21
|
+
viewRotation: Vec3,
|
|
21
22
|
views: ReadonlyArray<View>,
|
|
22
23
|
handleRef: Handle
|
|
23
24
|
): DxfDimensionDefinition {
|
|
@@ -25,7 +26,7 @@ export function dxfEncDimension(
|
|
|
25
26
|
const blockName = `*D${blockRecordHandle}`;
|
|
26
27
|
return {
|
|
27
28
|
entity: dxfEncodeDimensionEntity(blockName, measurementStart, measurementEnd, linePosition, text, col, handleRef),
|
|
28
|
-
block: dxfEncodeDimensionBlock(blockName, blockRecordHandle, measurementStart, measurementEnd, linePosition, text, col, sceneRotation, views, handleRef),
|
|
29
|
+
block: dxfEncodeDimensionBlock(blockName, blockRecordHandle, measurementStart, measurementEnd, linePosition, text, col, sceneRotation, viewRotation, views, handleRef),
|
|
29
30
|
blockRecord: dxfEncodeDimensionBlockRecord(blockName, blockRecordHandle)
|
|
30
31
|
};
|
|
31
32
|
}
|
|
@@ -115,6 +116,7 @@ function dxfEncodeDimensionBlock(
|
|
|
115
116
|
text: string,
|
|
116
117
|
col: DxfColor,
|
|
117
118
|
sceneRotation: Vec3,
|
|
119
|
+
viewRotation: Vec3,
|
|
118
120
|
views: ReadonlyArray<View>,
|
|
119
121
|
handleRef: Handle
|
|
120
122
|
): string {
|
|
@@ -144,7 +146,7 @@ ${blockName}
|
|
|
144
146
|
${blockName}
|
|
145
147
|
1
|
|
146
148
|
|
|
147
|
-
${dxfEncodeDimensionGeometry(blockRecordHandle, measurementStart, measurementEnd, linePosition, text, col, sceneRotation, views, handleRef)}0
|
|
149
|
+
${dxfEncodeDimensionGeometry(blockRecordHandle, measurementStart, measurementEnd, linePosition, text, col, sceneRotation, viewRotation, views, handleRef)}0
|
|
148
150
|
ENDBLK
|
|
149
151
|
5
|
|
150
152
|
${dxfHandleNext(handleRef)}
|
|
@@ -169,6 +171,7 @@ function dxfEncodeDimensionGeometry(
|
|
|
169
171
|
text: string,
|
|
170
172
|
col: DxfColor,
|
|
171
173
|
sceneRotation: Vec3,
|
|
174
|
+
viewRotation: Vec3,
|
|
172
175
|
views: ReadonlyArray<View>,
|
|
173
176
|
handleRef: Handle
|
|
174
177
|
): string {
|
|
@@ -177,8 +180,8 @@ function dxfEncodeDimensionGeometry(
|
|
|
177
180
|
const onCreateLine = (start: Vec3, end: Vec3, _norm: Vec3, _thickness: number, _mat: Material): void => {
|
|
178
181
|
entities += dxfEncLine(start, end, col, handleRef, blockRecordHandle);
|
|
179
182
|
};
|
|
180
|
-
const onCreateText = (pos: Vec3, measurement: string, fontSize: number, _mat: Material,
|
|
181
|
-
entities += dxfEncMText(pos, measurement,
|
|
183
|
+
const onCreateText = (pos: Vec3, measurement: string, fontSize: number, _mat: Material, _rot: Vec3, dir: Vec3, norm: Vec3): void => {
|
|
184
|
+
entities += dxfEncMText(pos, measurement, dir, norm, fontSize, handleRef, DxfMTextAttachment.MiddleCenter, blockRecordHandle);
|
|
182
185
|
};
|
|
183
186
|
const onCreatePolygon = (p1: Vec3, p2: Vec3, p3: Vec3, _mat: Material): void => {
|
|
184
187
|
entities += dxfEncSolidTriangle(p1, p2, p3, col, handleRef, blockRecordHandle);
|
|
@@ -190,7 +193,7 @@ function dxfEncodeDimensionGeometry(
|
|
|
190
193
|
text,
|
|
191
194
|
views
|
|
192
195
|
};
|
|
193
|
-
dimensionMeshifyAlignedDimension(dimension, sceneRotation, onCreateLine, onCreateText, onCreatePolygon);
|
|
196
|
+
dimensionMeshifyAlignedDimension(dimension, sceneRotation, viewRotation, onCreateLine, onCreateText, onCreatePolygon);
|
|
194
197
|
return entities;
|
|
195
198
|
}
|
|
196
199
|
|
|
@@ -13,7 +13,7 @@ export enum DxfMTextAttachment {
|
|
|
13
13
|
BottomRight = 9,
|
|
14
14
|
};
|
|
15
15
|
|
|
16
|
-
export function dxfEncMText(pos: Vec3, text: string,
|
|
16
|
+
export function dxfEncMText(pos: Vec3, text: string, dir: Vec3, normal: Vec3, fontSize: number, handleRef: Handle, attachment: DxfMTextAttachment = DxfMTextAttachment.MiddleCenter, blockRefHandle?: string): string {
|
|
17
17
|
return `0
|
|
18
18
|
MTEXT
|
|
19
19
|
5
|
|
@@ -36,8 +36,18 @@ ${dxfRound(pos.z)}
|
|
|
36
36
|
${(fontSize * DXF_FONT_SIZE_RATIO).toString()}
|
|
37
37
|
71
|
|
38
38
|
${attachment}
|
|
39
|
-
|
|
40
|
-
${dxfRound(
|
|
39
|
+
11
|
|
40
|
+
${dxfRound(dir.x)}
|
|
41
|
+
21
|
|
42
|
+
${dxfRound(dir.y)}
|
|
43
|
+
31
|
|
44
|
+
${dxfRound(dir.z)}
|
|
45
|
+
210
|
|
46
|
+
${dxfRound(normal.x)}
|
|
47
|
+
220
|
|
48
|
+
${dxfRound(normal.y)}
|
|
49
|
+
230
|
|
50
|
+
${dxfRound(normal.z)}
|
|
41
51
|
1
|
|
42
52
|
${text}
|
|
43
53
|
`;
|
|
@@ -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, sceneRotation: Vec3, handleRef: Handle): DxfDimensionDefinition {
|
|
5
|
+
export function dxfDimension(dimension: Dimension, parentPos: Vec3, parentRot: Vec3, sceneRotation: Vec3, viewRotation: 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, sceneRotation, dimension.views ?? ["front"], handleRef);
|
|
17
|
+
return dxfEncDimension(ms, me, lp, text, 7, sceneRotation, viewRotation, dimension.views ?? ["front"], handleRef);
|
|
18
18
|
}
|
package/src/renderers/dxf/dxf.ts
CHANGED
|
@@ -89,7 +89,8 @@ const renderInternal = (
|
|
|
89
89
|
offset: Vec3,
|
|
90
90
|
handleRef: Handle
|
|
91
91
|
): { readonly groups: string; readonly dimensions: DxfDimensionDefinition; readonly size: Vec3; readonly center: Vec3 } => {
|
|
92
|
-
const
|
|
92
|
+
const viewRotation = rotationForCameraPos(options.view);
|
|
93
|
+
const unitRot = vec3RotCombine(viewRotation, scene.rotation_deprecated ?? vec3Zero);
|
|
93
94
|
const unitCenter = scene.center_deprecated ?? vec3Zero;
|
|
94
95
|
const [size] = sizeBoundsForCameraPos(scene.size_deprecated, unitCenter, unitRot);
|
|
95
96
|
const bounds = bounds3FromPosAndSize(unitCenter, size);
|
|
@@ -99,7 +100,7 @@ const renderInternal = (
|
|
|
99
100
|
const visibleViews = calculateVisibleViews(options.view, scene.rotation_deprecated);
|
|
100
101
|
return {
|
|
101
102
|
groups: scene.groups.reduce((a, c) => a + dxfGroup(c, pos, unitRot, options, handleRef), ""),
|
|
102
|
-
dimensions: dxfDimensions(scene.dimensions_deprecated, pos, unitRot, scene.rotation_deprecated ?? vec3Zero, visibleViews, options, handleRef),
|
|
103
|
+
dimensions: dxfDimensions(scene.dimensions_deprecated, pos, unitRot, scene.rotation_deprecated ?? vec3Zero, viewRotation, visibleViews, options, handleRef),
|
|
103
104
|
size,
|
|
104
105
|
center: pos,
|
|
105
106
|
};
|
|
@@ -177,7 +178,7 @@ function dxfGroup(g: Group, parentPos: Vec3, parentRot: Vec3, options: DxfOption
|
|
|
177
178
|
return dxf;
|
|
178
179
|
}
|
|
179
180
|
|
|
180
|
-
function dxfDimensions(d: Dimensions | undefined, parentPos: Vec3, parentRot: Vec3, sceneRotation: Vec3, visibleViews: Record<string, boolean>, options: DxfOptions, handleRef: Handle): DxfDimensionDefinition {
|
|
181
|
+
function dxfDimensions(d: Dimensions | undefined, parentPos: Vec3, parentRot: Vec3, viewRotation: Vec3, sceneRotation: Vec3, visibleViews: Record<string, boolean>, options: DxfOptions, handleRef: Handle): DxfDimensionDefinition {
|
|
181
182
|
if(!d || !options.showDimensions) {
|
|
182
183
|
return {
|
|
183
184
|
entity: "",
|
|
@@ -187,7 +188,7 @@ function dxfDimensions(d: Dimensions | undefined, parentPos: Vec3, parentRot: Ve
|
|
|
187
188
|
}
|
|
188
189
|
return d.dimensions
|
|
189
190
|
.filter((d) => d.views?.[0] && visibleViews[d.views[0]] === true)
|
|
190
|
-
.map((d) => dxfDimension(d, parentPos, parentRot, sceneRotation, handleRef))
|
|
191
|
+
.map((d) => dxfDimension(d, parentPos, parentRot, sceneRotation, viewRotation, handleRef))
|
|
191
192
|
.reduce<DxfDimensionDefinition>((prev, curr) => ({ block: prev.block + curr.block, entity: prev.entity + curr.entity, blockRecord: prev.blockRecord + curr.blockRecord }), {block: "", entity: "", blockRecord: ""});
|
|
192
193
|
}
|
|
193
194
|
|
|
@@ -204,7 +205,8 @@ function optionsDef(options: Optional<DxfOptions> | undefined): DxfOptions {
|
|
|
204
205
|
export const renderOld = (scene: Scene, options?: Optional<DxfOptions>): string => {
|
|
205
206
|
const opts = optionsDef(options);
|
|
206
207
|
const center = scene.center_deprecated ?? vec3Zero;
|
|
207
|
-
const
|
|
208
|
+
const viewRotation = rotationForCameraPos(opts.view);
|
|
209
|
+
const unitRot = vec3RotCombine(viewRotation, scene.rotation_deprecated ?? vec3Zero);
|
|
208
210
|
const bounds = bounds3FromPosAndSize(center, scene.size_deprecated);
|
|
209
211
|
const offset = vec3Sub(
|
|
210
212
|
opts.origin === "Center" ? vec3Zero : vec3(Math.abs(bounds.min.x), Math.abs(bounds.min.y), -bounds.max.z),
|
|
@@ -216,6 +218,6 @@ export const renderOld = (scene: Scene, options?: Optional<DxfOptions>): string
|
|
|
216
218
|
const bounds2 = bounds3FromPosAndSize(offset, scene.size_deprecated);
|
|
217
219
|
const groupRoot = group([], offset, vec3Zero, scene.groups);
|
|
218
220
|
const handleRef = dxfHandleInit();
|
|
219
|
-
const dimensions = dxfDimensions(scene.dimensions_deprecated, dimensionsPos, unitRot, scene.rotation_deprecated ?? vec3Zero, visibleViews, opts, handleRef);
|
|
221
|
+
const dimensions = dxfDimensions(scene.dimensions_deprecated, dimensionsPos, unitRot, scene.rotation_deprecated ?? vec3Zero, viewRotation, visibleViews, opts, handleRef);
|
|
220
222
|
return dxfBuild(dxfGroup(groupRoot, center, unitRot, opts, handleRef), dimensions, bounds2, scene.size_deprecated, center);
|
|
221
223
|
};
|