abstract-3d 2.7.32 → 2.7.33
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/README.md +1 -1
- package/lib/abstract-3d.d.ts +1 -1
- package/lib/abstract-3d.d.ts.map +1 -1
- package/lib/abstract-3d.js +1 -1
- package/lib/abstract-3d.js.map +1 -1
- package/lib/renderers/dxf/dxf-encoding/dxf-color.js +2 -2
- package/lib/renderers/dxf/dxf-encoding/dxf-color.js.map +1 -1
- package/lib/renderers/dxf/dxf-encoding/dxf-common.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-encoding/dxf-common.js +9 -4
- package/lib/renderers/dxf/dxf-encoding/dxf-common.js.map +1 -1
- package/lib/renderers/dxf/dxf-encoding/dxf-footer.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-encoding/dxf-footer.js +2 -1
- package/lib/renderers/dxf/dxf-encoding/dxf-footer.js.map +1 -1
- package/lib/renderers/dxf/dxf-encoding/dxf-header.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-encoding/dxf-header.js +2 -1
- package/lib/renderers/dxf/dxf-encoding/dxf-header.js.map +1 -1
- package/lib/renderers/dxf/dxf-encoding/dxf-lwpolyline.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-encoding/dxf-lwpolyline.js +1 -3
- package/lib/renderers/dxf/dxf-encoding/dxf-lwpolyline.js.map +1 -1
- package/lib/renderers/dxf/dxf-encoding/dxf-mtext.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-encoding/dxf-mtext.js +0 -1
- package/lib/renderers/dxf/dxf-encoding/dxf-mtext.js.map +1 -1
- package/lib/renderers/dxf/dxf-encoding/dxf-polyline.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-encoding/dxf-polyline.js.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-dimension.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-dimension.js +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-dimension.js.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-image.js +3 -8
- package/lib/renderers/dxf/dxf-geometries/dxf-image.js.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-polygon.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js +2 -2
- package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-shape.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-shape.js +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-shape.js.map +1 -1
- package/lib/renderers/react/react-camera.js +1 -1
- package/lib/renderers/react/react-camera.js.map +1 -1
- package/lib/renderers/react/react-image-material.js +4 -5
- package/lib/renderers/react/react-image-material.js.map +1 -1
- package/lib/renderers/react/react-material.js.map +1 -1
- package/lib/renderers/react/react-mesh.js +1 -1
- package/lib/renderers/react/react-mesh.js.map +1 -1
- package/lib/renderers/react/react.js +1 -1
- package/lib/renderers/react/react.js.map +1 -1
- package/lib/renderers/svg/svg-geometries/svg-cone.js +1 -1
- package/lib/renderers/svg/svg-geometries/svg-cone.js.map +1 -1
- package/lib/renderers/svg/svg-geometries/svg-cylinder.js +1 -1
- package/lib/renderers/svg/svg-geometries/svg-cylinder.js.map +1 -1
- package/lib/renderers/svg/svg-geometries/svg-image.js.map +1 -1
- package/lib/utils.js.map +1 -1
- package/package.json +3 -3
- package/src/abstract-3d.ts +2 -2
- package/src/renderers/dxf/dxf-encoding/dxf-3dface.ts +1 -1
- package/src/renderers/dxf/dxf-encoding/dxf-color.ts +26 -26
- package/src/renderers/dxf/dxf-encoding/dxf-common.ts +23 -9
- package/src/renderers/dxf/dxf-encoding/dxf-footer.ts +3 -2
- package/src/renderers/dxf/dxf-encoding/dxf-header.ts +15 -4
- package/src/renderers/dxf/dxf-encoding/dxf-line.ts +1 -1
- package/src/renderers/dxf/dxf-encoding/dxf-lwpolyline.ts +21 -17
- package/src/renderers/dxf/dxf-encoding/dxf-mtext.ts +12 -3
- package/src/renderers/dxf/dxf-encoding/dxf-polyline.ts +2 -3
- package/src/renderers/dxf/dxf-encoding/dxf-solid.ts +1 -1
- package/src/renderers/dxf/dxf-encoding/dxf-triangle.ts +1 -1
- package/src/renderers/dxf/dxf-geometries/dxf-box.ts +1 -1
- package/src/renderers/dxf/dxf-geometries/dxf-dimension.ts +18 -4
- package/src/renderers/dxf/dxf-geometries/dxf-image.ts +8 -20
- package/src/renderers/dxf/dxf-geometries/dxf-polygon.ts +16 -28
- package/src/renderers/dxf/dxf-geometries/dxf-shape.ts +13 -5
- package/src/renderers/react/react-camera.tsx +4 -4
- package/src/renderers/react/react-image-material.tsx +6 -7
- package/src/renderers/react/react-material.tsx +6 -6
- package/src/renderers/react/react-mesh.tsx +1 -1
- package/src/renderers/react/react.tsx +1 -1
- package/src/renderers/svg/svg-geometries/svg-cone.ts +1 -1
- package/src/renderers/svg/svg-geometries/svg-cylinder.ts +1 -1
- package/src/renderers/svg/svg-geometries/svg-image.ts +2 -2
- package/src/utils.ts +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svg-image.js","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/svg-image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAElG,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,UAAU,KAAK,CACnB,CAAY,EACZ,KAAqC,EACrC,IAAgB,EAChB,SAAe,EACf,SAAe;IAEf,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,CAAS,EAAQ,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAErF,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEnC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,eAAe,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG;gBACZ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK;gBACtC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;aACxC,CAAC;YACF,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3C,MAAM,GAAG,GAAG,QAAQ,CAClB,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EACjB,CAAC,CAAC,IAAI,EACN,GAAG,EACH,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EACpB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAC1C,KAAK,CACN,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,KAAK,EAAE,CAAC;YACX,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrD,MAAM,KAAK,GAA6B,SAAS,EAAE,UAAU,CAAC,YAAY,CAAC;gBACzE,CAAC,CAAC;oBACE,IAAI,EAAE,KAAK;oBACX,GAAG,EAAE,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CACnE,gDAAgD,EAChD,EAAE,CACH;iBACF;gBACH,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG;
|
|
1
|
+
{"version":3,"file":"svg-image.js","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/svg-image.ts"],"names":[],"mappings":"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"}
|
package/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.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.33",
|
|
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",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"@react-three/drei": "^10.7.7",
|
|
52
52
|
"@react-three/fiber": "^9.6.1",
|
|
53
53
|
"@react-three/postprocessing": "^3.0.4",
|
|
54
|
-
"abstract-image": "^13.0.
|
|
54
|
+
"abstract-image": "^13.0.61",
|
|
55
55
|
"suspend-react": "^0.1.3",
|
|
56
56
|
"three": "^0.184.0",
|
|
57
57
|
"ts-exhaustive-check": "^1.0.0"
|
|
@@ -65,5 +65,5 @@
|
|
|
65
65
|
"@types/three": "^0.180.0",
|
|
66
66
|
"react": "^19.2.6"
|
|
67
67
|
},
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "96519bbb4d43c57b0a97917065a32b58d762f462"
|
|
69
69
|
}
|
package/src/abstract-3d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*
|
|
1
|
+
/* oxlint-disable max-lines */
|
|
2
2
|
import type { AbstractImage } from "abstract-image";
|
|
3
3
|
|
|
4
4
|
export type Scene = {
|
|
@@ -875,7 +875,7 @@ export const group = (
|
|
|
875
875
|
rot = vec3Zero,
|
|
876
876
|
groups: ReadonlyArray<Group> = Array<Group>(),
|
|
877
877
|
data = {},
|
|
878
|
-
animation
|
|
878
|
+
animation?: Animation
|
|
879
879
|
): Group => ({ meshes, pos, rot, data, groups, animation: animation! });
|
|
880
880
|
|
|
881
881
|
export const boxMesh = (box: Box, material: Material): Mesh => ({ geometry: box, material });
|
|
@@ -5,51 +5,51 @@ export type DxfColor = DxfDynamicColor | string;
|
|
|
5
5
|
|
|
6
6
|
export function dxfColor(color: DxfColor): string {
|
|
7
7
|
return typeof color === "number"
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
? `62\n7`
|
|
9
|
+
: `62
|
|
10
10
|
256
|
|
11
11
|
420
|
|
12
12
|
${dxfBitShiftColor(color)}`;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
export function dxfApproximateAciFromRealColor(colorNormal: string | undefined): number {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
16
|
+
const ERROR_COLOR = 6; //magenta
|
|
17
|
+
const ACI_COLOR_COUNT = 256;
|
|
18
|
+
if (DXF_ACI_COLOR_TABLE.length !== ACI_COLOR_COUNT || colorNormal === undefined) {
|
|
19
|
+
return ERROR_COLOR; //magenta
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const originalColor = colorNormalToVec3Color(colorNormal);
|
|
23
|
+
let closestColor = 0;
|
|
24
|
+
let smallestDistance = Number.POSITIVE_INFINITY;
|
|
25
|
+
for (let i = 0; i < ACI_COLOR_COUNT; i++) {
|
|
26
|
+
const color = DXF_ACI_COLOR_TABLE[i];
|
|
27
|
+
if (color !== undefined) {
|
|
28
|
+
const distance = vec3DistSquared(originalColor, color);
|
|
29
|
+
if (distance < smallestDistance) {
|
|
30
|
+
smallestDistance = distance;
|
|
31
|
+
closestColor = i;
|
|
33
32
|
}
|
|
34
33
|
}
|
|
35
|
-
|
|
34
|
+
}
|
|
35
|
+
return closestColor;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
function colorNormalToVec3Color(colorNormal: string): Vec3 {
|
|
39
39
|
const errorColor = vec3(255, 0, 255); // #ff00ff, magenta
|
|
40
40
|
const paranthesisRegex = /(?<=\().+?(?=\))/;
|
|
41
41
|
const inside = paranthesisRegex.exec(colorNormal);
|
|
42
|
-
if(inside === null || inside.length < 1) {
|
|
42
|
+
if (inside === null || inside.length < 1) {
|
|
43
43
|
return errorColor;
|
|
44
44
|
}
|
|
45
45
|
const values = inside[0].replaceAll(" ", "").split(",");
|
|
46
|
-
if(values.length < 3) {
|
|
46
|
+
if (values.length < 3) {
|
|
47
47
|
return errorColor;
|
|
48
|
-
}
|
|
48
|
+
}
|
|
49
49
|
const r = parseInt(values[0] ?? "", 10);
|
|
50
50
|
const g = parseInt(values[1] ?? "", 10);
|
|
51
51
|
const b = parseInt(values[2] ?? "", 10);
|
|
52
|
-
if(Number.isNaN(r) || Number.isNaN(g) || Number.isNaN(b)) {
|
|
52
|
+
if (Number.isNaN(r) || Number.isNaN(g) || Number.isNaN(b)) {
|
|
53
53
|
return errorColor;
|
|
54
54
|
}
|
|
55
55
|
return vec3(r % 256, g % 256, b % 256);
|
|
@@ -59,7 +59,7 @@ function dxfBitShiftColor(color: string): number {
|
|
|
59
59
|
const originalColor = colorNormalToVec3Color(color);
|
|
60
60
|
|
|
61
61
|
const colorAsInt = (originalColor.x << 16) + (originalColor.y << 8) + originalColor.z;
|
|
62
|
-
if(Number.isNaN(colorAsInt)) {
|
|
62
|
+
if (Number.isNaN(colorAsInt)) {
|
|
63
63
|
return 0;
|
|
64
64
|
}
|
|
65
65
|
return colorAsInt;
|
|
@@ -321,5 +321,5 @@ const DXF_ACI_COLOR_TABLE: ReadonlyArray<Vec3> = [
|
|
|
321
321
|
vec3(128, 128, 128),
|
|
322
322
|
vec3(64, 64, 64),
|
|
323
323
|
vec3(0, 0, 0),
|
|
324
|
-
vec3(0, 0, 0)
|
|
324
|
+
vec3(0, 0, 0),
|
|
325
325
|
];
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { generateUUID } from "three/src/math/MathUtils.js";
|
|
2
2
|
import { vec3, vec3Cross, vec3Normalize, type Bounds3, type Vec3 } from "../../../abstract-3d.js";
|
|
3
3
|
import type { DxfDimensionDefinition } from "./dxf-dimension.js";
|
|
4
|
+
// oxlint-disable-next-line import/no-cycle -- both sides only call each other from function bodies
|
|
4
5
|
import { dxfEncFooter } from "./dxf-footer.js";
|
|
6
|
+
// oxlint-disable-next-line import/no-cycle -- both sides only call each other from function bodies
|
|
5
7
|
import { dxfEncHeader } from "./dxf-header.js";
|
|
6
8
|
|
|
7
9
|
export const DEFAULT_CIRCLE_SIDE_COUNT = 16;
|
|
@@ -28,9 +30,20 @@ export function dxfRound(n: number): number {
|
|
|
28
30
|
return Math.round((n + Number.EPSILON) * 10 ** d) / 10 ** d;
|
|
29
31
|
}
|
|
30
32
|
|
|
31
|
-
export function dxfBuild(
|
|
33
|
+
export function dxfBuild(
|
|
34
|
+
groups: string,
|
|
35
|
+
dimensions: DxfDimensionDefinition,
|
|
36
|
+
bounds: Bounds3,
|
|
37
|
+
size: Vec3,
|
|
38
|
+
center: Vec3
|
|
39
|
+
): string {
|
|
32
40
|
const id = generateUUID();
|
|
33
|
-
return
|
|
41
|
+
return (
|
|
42
|
+
dxfEncHeader(bounds, center, id, size, dimensions.block, dimensions.blockRecord) +
|
|
43
|
+
groups +
|
|
44
|
+
dimensions.entity +
|
|
45
|
+
dxfEncFooter(id)
|
|
46
|
+
);
|
|
34
47
|
}
|
|
35
48
|
|
|
36
49
|
/*
|
|
@@ -42,13 +55,14 @@ export function dxfOCSXYAxis(normalizedExtrusionVector: Vec3): {
|
|
|
42
55
|
readonly xAxis: Vec3;
|
|
43
56
|
readonly yAxis: Vec3;
|
|
44
57
|
} {
|
|
45
|
-
const THRESHOLD =
|
|
46
|
-
const xAxis =
|
|
47
|
-
|
|
48
|
-
|
|
58
|
+
const THRESHOLD = 1.0 / 64.0; //dxf spec
|
|
59
|
+
const xAxis =
|
|
60
|
+
Math.abs(normalizedExtrusionVector.x) < THRESHOLD && Math.abs(normalizedExtrusionVector.y) < THRESHOLD
|
|
61
|
+
? vec3Normalize(vec3Cross(vec3(0.0, 1.0, 0.0), normalizedExtrusionVector))
|
|
62
|
+
: vec3Normalize(vec3Cross(vec3(0.0, 0.0, 1.0), normalizedExtrusionVector));
|
|
49
63
|
|
|
50
64
|
return {
|
|
51
65
|
xAxis,
|
|
52
|
-
yAxis: vec3Normalize(vec3Cross(normalizedExtrusionVector, xAxis))
|
|
53
|
-
}
|
|
54
|
-
}
|
|
66
|
+
yAxis: vec3Normalize(vec3Cross(normalizedExtrusionVector, xAxis)),
|
|
67
|
+
};
|
|
68
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
// oxlint-disable-next-line import/no-cycle -- both sides only call each other from function bodies
|
|
1
2
|
import { DXF_MODEL_SPACE_HANDLE } from "./dxf-common.js";
|
|
2
3
|
|
|
3
|
-
/*
|
|
4
|
+
/* oxlint-disable max-lines */
|
|
4
5
|
export const dxfEncFooter = (blockId: string): string => ` 0
|
|
5
6
|
ENDBLK
|
|
6
7
|
5
|
|
@@ -16648,4 +16649,4 @@ RTVSPost2010PropOp57
|
|
|
16648
16649
|
0
|
|
16649
16650
|
ENDSEC
|
|
16650
16651
|
0
|
|
16651
|
-
EOF`;
|
|
16652
|
+
EOF`;
|
|
@@ -1,11 +1,22 @@
|
|
|
1
|
-
/*
|
|
1
|
+
/* oxlint-disable max-lines */
|
|
2
2
|
import type { Bounds3, Vec3 } from "../../../abstract-3d.js";
|
|
3
|
+
// oxlint-disable-next-line import/no-cycle -- both sides only call each other from function bodies
|
|
3
4
|
import { DXF_BLOCK_RECORD_TABLE_HANDLE, DXF_MODEL_SPACE_HANDLE } from "./dxf-common.js";
|
|
4
5
|
|
|
5
6
|
const DXF_MAKER = "DXF Generated from Divid Abstract 3D";
|
|
6
7
|
const DXF_STANDARD = "AC1015";
|
|
7
8
|
|
|
8
|
-
export const dxfEncHeader = (
|
|
9
|
+
export const dxfEncHeader = (
|
|
10
|
+
bounds: Bounds3,
|
|
11
|
+
center: Vec3,
|
|
12
|
+
blockId: string,
|
|
13
|
+
size: Vec3,
|
|
14
|
+
dimBlocks: string,
|
|
15
|
+
dimBlockRecords: string,
|
|
16
|
+
dimScale: number = 44.0,
|
|
17
|
+
dimArrowSize: number = 1.0,
|
|
18
|
+
dimTextHeight: number = 1.0
|
|
19
|
+
): string =>
|
|
9
20
|
` 999
|
|
10
21
|
${DXF_MAKER}
|
|
11
22
|
0
|
|
@@ -1093,7 +1104,7 @@ AcDbViewportTableRecord
|
|
|
1093
1104
|
12
|
|
1094
1105
|
${-size.x / 2}
|
|
1095
1106
|
22
|
|
1096
|
-
|
|
1107
|
+
0
|
|
1097
1108
|
13
|
|
1098
1109
|
0.0
|
|
1099
1110
|
23
|
|
@@ -1654,4 +1665,4 @@ ${blockId}
|
|
|
1654
1665
|
${blockId}
|
|
1655
1666
|
1
|
|
1656
1667
|
|
|
1657
|
-
`;
|
|
1668
|
+
`;
|
|
@@ -28,18 +28,15 @@ export function dxfEncLwPolyline(
|
|
|
28
28
|
return undefined;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
if(points.length === 2) {
|
|
31
|
+
if (points.length === 2) {
|
|
32
32
|
const a = points[0];
|
|
33
33
|
const b = points[1];
|
|
34
|
-
if(a === undefined || b === undefined) {
|
|
34
|
+
if (a === undefined || b === undefined) {
|
|
35
35
|
return undefined;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
const direction = vec3Normalize(vec3Sub(b, a));
|
|
39
|
-
const reference =
|
|
40
|
-
Math.abs(direction.z) < 0.9
|
|
41
|
-
? vec3(0, 0, 1)
|
|
42
|
-
: vec3(0, 1, 0);
|
|
39
|
+
const reference = Math.abs(direction.z) < 0.9 ? vec3(0, 0, 1) : vec3(0, 1, 0);
|
|
43
40
|
const normal = vec3Normalize(vec3Cross(direction, reference));
|
|
44
41
|
|
|
45
42
|
const plane: LwPolylinePlane = {
|
|
@@ -52,13 +49,20 @@ export function dxfEncLwPolyline(
|
|
|
52
49
|
}
|
|
53
50
|
|
|
54
51
|
const plane = findPlane(planePos, points);
|
|
55
|
-
if(!plane || !isCoplanar(points, plane)) {
|
|
52
|
+
if (!plane || !isCoplanar(points, plane)) {
|
|
56
53
|
return undefined;
|
|
57
54
|
}
|
|
58
55
|
return encodeLwPolyline(points, plane, col, closed, handleRef, blockRefHandle);
|
|
59
56
|
}
|
|
60
57
|
|
|
61
|
-
function encodeLwPolyline(
|
|
58
|
+
function encodeLwPolyline(
|
|
59
|
+
points: ReadonlyArray<Vec3>,
|
|
60
|
+
plane: LwPolylinePlane,
|
|
61
|
+
col: DxfColor,
|
|
62
|
+
closed: boolean,
|
|
63
|
+
handleRef: Handle,
|
|
64
|
+
blockRefHandle?: string
|
|
65
|
+
): string {
|
|
62
66
|
let dxf = "";
|
|
63
67
|
const planeElevation = vec3Dot(plane.pos, plane.normal);
|
|
64
68
|
|
|
@@ -73,7 +77,7 @@ function encodeLwPolyline(points: ReadonlyArray<Vec3>, plane: LwPolylinePlane, c
|
|
|
73
77
|
dxf += `70\n${closed ? 1 : 0}\n`;
|
|
74
78
|
dxf += `38\n${planeElevation}\n`;
|
|
75
79
|
|
|
76
|
-
for(const point of points) {
|
|
80
|
+
for (const point of points) {
|
|
77
81
|
dxf += `10\n${vec3Dot(point, plane.xAxis)}\n`;
|
|
78
82
|
dxf += `20\n${vec3Dot(point, plane.yAxis)}\n`;
|
|
79
83
|
}
|
|
@@ -86,29 +90,29 @@ function encodeLwPolyline(points: ReadonlyArray<Vec3>, plane: LwPolylinePlane, c
|
|
|
86
90
|
}
|
|
87
91
|
|
|
88
92
|
function findPlane(planePos: Vec3, points: ReadonlyArray<Vec3>): LwPolylinePlane | undefined {
|
|
89
|
-
if(points.length < 3) {
|
|
93
|
+
if (points.length < 3) {
|
|
90
94
|
return undefined;
|
|
91
95
|
}
|
|
92
|
-
for(let i = 1; i < points.length; i++) {
|
|
96
|
+
for (let i = 1; i < points.length; i++) {
|
|
93
97
|
const aRaw = points[i];
|
|
94
|
-
if(aRaw === undefined) {
|
|
98
|
+
if (aRaw === undefined) {
|
|
95
99
|
continue;
|
|
96
100
|
}
|
|
97
101
|
const a = vec3Sub(aRaw, planePos);
|
|
98
|
-
for(let j = i + 1; j < points.length; j++) {
|
|
102
|
+
for (let j = i + 1; j < points.length; j++) {
|
|
99
103
|
const bRaw = points[j];
|
|
100
|
-
if(bRaw === undefined) {
|
|
104
|
+
if (bRaw === undefined) {
|
|
101
105
|
continue;
|
|
102
106
|
}
|
|
103
107
|
const b = vec3Sub(bRaw, planePos);
|
|
104
108
|
const normal = vec3Cross(a, b);
|
|
105
|
-
if(vec3Length(normal) > EPSILON) {
|
|
109
|
+
if (vec3Length(normal) > EPSILON) {
|
|
106
110
|
const normalizedNormal = vec3Normalize(normal);
|
|
107
111
|
return {
|
|
108
112
|
normal: normalizedNormal,
|
|
109
113
|
pos: planePos,
|
|
110
114
|
...dxfOCSXYAxis(normalizedNormal),
|
|
111
|
-
}
|
|
115
|
+
};
|
|
112
116
|
}
|
|
113
117
|
}
|
|
114
118
|
}
|
|
@@ -120,4 +124,4 @@ function isCoplanar(points: ReadonlyArray<Vec3>, plane: LwPolylinePlane): boolea
|
|
|
120
124
|
const distance = vec3Dot(vec3Sub(p, plane.pos), plane.normal);
|
|
121
125
|
return Math.abs(distance) < EPSILON;
|
|
122
126
|
});
|
|
123
|
-
}
|
|
127
|
+
}
|
|
@@ -11,9 +11,18 @@ export enum DxfMTextAttachment {
|
|
|
11
11
|
BottomLeft = 7,
|
|
12
12
|
BottomCenter = 8,
|
|
13
13
|
BottomRight = 9,
|
|
14
|
-
}
|
|
14
|
+
}
|
|
15
15
|
|
|
16
|
-
export function dxfEncMText(
|
|
16
|
+
export function dxfEncMText(
|
|
17
|
+
pos: Vec3,
|
|
18
|
+
text: string,
|
|
19
|
+
dir: Vec3,
|
|
20
|
+
normal: Vec3,
|
|
21
|
+
fontSize: number,
|
|
22
|
+
handleRef: Handle,
|
|
23
|
+
attachment: DxfMTextAttachment = DxfMTextAttachment.MiddleCenter,
|
|
24
|
+
blockRefHandle?: string
|
|
25
|
+
): string {
|
|
17
26
|
return `0
|
|
18
27
|
MTEXT
|
|
19
28
|
5
|
|
@@ -55,4 +64,4 @@ ${encodeDxfFormattedText(text)}
|
|
|
55
64
|
|
|
56
65
|
export function encodeDxfFormattedText(text: string): string {
|
|
57
66
|
return text.replace(/\r\n|\r|\n/g, "\\P");
|
|
58
|
-
}
|
|
67
|
+
}
|
|
@@ -17,7 +17,7 @@ export function dxfEncPolyline(
|
|
|
17
17
|
const seqEndHandle = dxfHandleNext(handleRef);
|
|
18
18
|
const vertices = points
|
|
19
19
|
.map((p) => {
|
|
20
|
-
|
|
20
|
+
return ` 0
|
|
21
21
|
VERTEX
|
|
22
22
|
5
|
|
23
23
|
${dxfHandleNext(handleRef)}
|
|
@@ -42,7 +42,6 @@ ${dxfRound(p.z)}
|
|
|
42
42
|
32`;
|
|
43
43
|
})
|
|
44
44
|
.join("\n");
|
|
45
|
-
|
|
46
45
|
|
|
47
46
|
return ` 0
|
|
48
47
|
POLYLINE
|
|
@@ -79,4 +78,4 @@ AcDbEntity
|
|
|
79
78
|
8
|
|
80
79
|
0
|
|
81
80
|
`;
|
|
82
|
-
}
|
|
81
|
+
}
|
|
@@ -20,4 +20,4 @@ export const dxfEncSolidTriangle = (
|
|
|
20
20
|
col: DxfColor,
|
|
21
21
|
handleRef: Handle,
|
|
22
22
|
blockRefHandle?: string
|
|
23
|
-
): string => dxfEncSolid(vec1, vec2, vec3, vec3, col, handleRef, blockRefHandle);
|
|
23
|
+
): string => dxfEncSolid(vec1, vec2, vec3, vec3, col, handleRef, blockRefHandle);
|
|
@@ -1,9 +1,23 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
type Dimension,
|
|
3
|
+
dimensionIsOfTypeMesh,
|
|
4
|
+
type Vec3,
|
|
5
|
+
vec3Length,
|
|
6
|
+
vec3Sub,
|
|
7
|
+
vec3TransRot,
|
|
8
|
+
} from "../../../abstract-3d.js";
|
|
2
9
|
import type { Handle } from "../dxf-encoding/dxf-common.js";
|
|
3
10
|
import { type DxfDimensionDefinition, dxfEncDimension } from "../dxf-encoding/dxf-dimension.js";
|
|
4
11
|
|
|
5
|
-
export function dxfDimension(
|
|
6
|
-
|
|
12
|
+
export function dxfDimension(
|
|
13
|
+
dimension: Dimension,
|
|
14
|
+
parentPos: Vec3,
|
|
15
|
+
parentRot: Vec3,
|
|
16
|
+
sceneRotation: Vec3,
|
|
17
|
+
viewRotation: Vec3,
|
|
18
|
+
handleRef: Handle
|
|
19
|
+
): DxfDimensionDefinition {
|
|
20
|
+
if (dimensionIsOfTypeMesh(dimension)) {
|
|
7
21
|
return {
|
|
8
22
|
block: "",
|
|
9
23
|
entity: "",
|
|
@@ -15,4 +29,4 @@ export function dxfDimension(dimension: Dimension, parentPos: Vec3, parentRot: V
|
|
|
15
29
|
const lp = vec3TransRot(dimension.linePosition, parentPos, parentRot);
|
|
16
30
|
const text = dimension.text ?? `${vec3Length(vec3Sub(me, ms))}`;
|
|
17
31
|
return dxfEncDimension(ms, me, lp, text, 7, sceneRotation, viewRotation, dimension.views ?? ["front"], handleRef);
|
|
18
|
-
}
|
|
32
|
+
}
|
|
@@ -35,29 +35,17 @@ export function dxfImage(i: ImageMesh, parentPos: Vec3, parentRot: Vec3, handleR
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
function abstractImageToDxf3D(image: AbstractImage, pos: Vec3, rot: Vec3, scale: Vec3, handleRef: Handle): string {
|
|
38
|
-
|
|
39
|
-
return image.components
|
|
40
|
-
.map((comp) => abstractImageComponentToDxf3D(comp, pos, rot, scale, strokeScale, handleRef))
|
|
41
|
-
.join("");
|
|
38
|
+
return image.components.map((comp) => abstractImageComponentToDxf3D(comp, pos, rot, scale, handleRef)).join("");
|
|
42
39
|
}
|
|
43
40
|
|
|
44
|
-
function abstractImageComponentToDxf3D(
|
|
45
|
-
comp: Component,
|
|
46
|
-
pos: Vec3,
|
|
47
|
-
rot: Vec3,
|
|
48
|
-
scale: Vec3,
|
|
49
|
-
strokeScale: number,
|
|
50
|
-
handleRef: Handle
|
|
51
|
-
): string {
|
|
41
|
+
function abstractImageComponentToDxf3D(comp: Component, pos: Vec3, rot: Vec3, scale: Vec3, handleRef: Handle): string {
|
|
52
42
|
const vec3tr = (x: number, y: number): Vec3 => vec3TransRot(vec3(x * scale.x, y * scale.y, 0), pos, rot);
|
|
53
43
|
const strokeColor: DxfDynamicColor = 7;
|
|
54
44
|
|
|
55
45
|
let dxf = "";
|
|
56
46
|
switch (comp.type) {
|
|
57
47
|
case "group": {
|
|
58
|
-
dxf += comp.children
|
|
59
|
-
.map((child) => abstractImageComponentToDxf3D(child, pos, rot, scale, strokeScale, handleRef))
|
|
60
|
-
.join("");
|
|
48
|
+
dxf += comp.children.map((child) => abstractImageComponentToDxf3D(child, pos, rot, scale, handleRef)).join("");
|
|
61
49
|
break;
|
|
62
50
|
}
|
|
63
51
|
case "line": {
|
|
@@ -89,11 +77,11 @@ function abstractImageComponentToDxf3D(
|
|
|
89
77
|
}
|
|
90
78
|
case "rectangle": {
|
|
91
79
|
const points = [
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
80
|
+
//these points form a loop
|
|
81
|
+
vec3tr(comp.topLeft.x, comp.topLeft.y),
|
|
82
|
+
vec3tr(comp.bottomRight.x, comp.topLeft.y),
|
|
83
|
+
vec3tr(comp.bottomRight.x, comp.bottomRight.y),
|
|
84
|
+
vec3tr(comp.topLeft.x, comp.bottomRight.y),
|
|
97
85
|
];
|
|
98
86
|
dxf += dxfEncLwPolyline(pos, points, strokeColor, true, handleRef) ?? "";
|
|
99
87
|
break;
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
type Polygon,
|
|
3
|
+
type Material,
|
|
4
|
+
type Vec3,
|
|
5
|
+
vec3RotCombine,
|
|
6
|
+
vec3TransRot,
|
|
7
|
+
vec3Zero,
|
|
8
|
+
} from "../../../abstract-3d.js";
|
|
2
9
|
import type { Handle } from "../dxf-encoding/dxf-common.js";
|
|
3
10
|
import { dxfEnc3DFace } from "../dxf-encoding/dxf-3dface.js";
|
|
4
11
|
import { dxfEnc3DFaceTriangle } from "../dxf-encoding/dxf-triangle.js";
|
|
@@ -13,20 +20,13 @@ export function dxfPolygon(p: Polygon, m: Material, parentPos: Vec3, parentRot:
|
|
|
13
20
|
const rot = vec3RotCombine(parentRot, p.rot ?? vec3Zero);
|
|
14
21
|
const points = p.points.map((p) => vec3TransRot(p, pos, rot));
|
|
15
22
|
let i = 0;
|
|
16
|
-
while(
|
|
23
|
+
while (points.length - i >= QUAD_STRIDE) {
|
|
17
24
|
const vec1 = points[i];
|
|
18
25
|
const vec2 = points[i + 1];
|
|
19
26
|
const vec3 = points[i + 2];
|
|
20
27
|
const vec4 = points[i + 3];
|
|
21
|
-
if(vec1 && vec2 && vec3 && vec4) {
|
|
22
|
-
polygonString += dxfEnc3DFace(
|
|
23
|
-
vec1,
|
|
24
|
-
vec2,
|
|
25
|
-
vec3,
|
|
26
|
-
vec4,
|
|
27
|
-
col,
|
|
28
|
-
handleRef
|
|
29
|
-
);
|
|
28
|
+
if (vec1 && vec2 && vec3 && vec4) {
|
|
29
|
+
polygonString += dxfEnc3DFace(vec1, vec2, vec3, vec4, col, handleRef);
|
|
30
30
|
}
|
|
31
31
|
i += QUAD_STRIDE;
|
|
32
32
|
}
|
|
@@ -38,7 +38,7 @@ export function dxfPolygon(p: Polygon, m: Material, parentPos: Vec3, parentRot:
|
|
|
38
38
|
const vec1 = points[i];
|
|
39
39
|
const vec2 = points[i - 1];
|
|
40
40
|
const vec3 = points[i - 2];
|
|
41
|
-
if(vec1 && vec2 && vec3) {
|
|
41
|
+
if (vec1 && vec2 && vec3) {
|
|
42
42
|
polygonString += dxfEnc3DFaceTriangle(vec3, vec2, vec1, col, handleRef);
|
|
43
43
|
}
|
|
44
44
|
break;
|
|
@@ -47,14 +47,8 @@ export function dxfPolygon(p: Polygon, m: Material, parentPos: Vec3, parentRot:
|
|
|
47
47
|
const vec1 = points[i];
|
|
48
48
|
const vec2 = points[i - 1];
|
|
49
49
|
const vec3 = points[i + 1];
|
|
50
|
-
if(vec1 && vec2 && vec3) {
|
|
51
|
-
polygonString += dxfEnc3DFaceTriangle(
|
|
52
|
-
vec2,
|
|
53
|
-
vec1,
|
|
54
|
-
vec3,
|
|
55
|
-
col,
|
|
56
|
-
handleRef
|
|
57
|
-
);
|
|
50
|
+
if (vec1 && vec2 && vec3) {
|
|
51
|
+
polygonString += dxfEnc3DFaceTriangle(vec2, vec1, vec3, col, handleRef);
|
|
58
52
|
}
|
|
59
53
|
break;
|
|
60
54
|
}
|
|
@@ -62,14 +56,8 @@ export function dxfPolygon(p: Polygon, m: Material, parentPos: Vec3, parentRot:
|
|
|
62
56
|
const vec1 = points[i];
|
|
63
57
|
const vec2 = points[i + 1];
|
|
64
58
|
const vec3 = points[i + 2];
|
|
65
|
-
if(vec1 && vec2 && vec3) {
|
|
66
|
-
polygonString += dxfEnc3DFaceTriangle(
|
|
67
|
-
vec1,
|
|
68
|
-
vec2,
|
|
69
|
-
vec3,
|
|
70
|
-
col,
|
|
71
|
-
handleRef
|
|
72
|
-
);
|
|
59
|
+
if (vec1 && vec2 && vec3) {
|
|
60
|
+
polygonString += dxfEnc3DFaceTriangle(vec1, vec2, vec3, col, handleRef);
|
|
73
61
|
}
|
|
74
62
|
break;
|
|
75
63
|
}
|