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.
Files changed (77) hide show
  1. package/README.md +1 -1
  2. package/lib/abstract-3d.d.ts +1 -1
  3. package/lib/abstract-3d.d.ts.map +1 -1
  4. package/lib/abstract-3d.js +1 -1
  5. package/lib/abstract-3d.js.map +1 -1
  6. package/lib/renderers/dxf/dxf-encoding/dxf-color.js +2 -2
  7. package/lib/renderers/dxf/dxf-encoding/dxf-color.js.map +1 -1
  8. package/lib/renderers/dxf/dxf-encoding/dxf-common.d.ts.map +1 -1
  9. package/lib/renderers/dxf/dxf-encoding/dxf-common.js +9 -4
  10. package/lib/renderers/dxf/dxf-encoding/dxf-common.js.map +1 -1
  11. package/lib/renderers/dxf/dxf-encoding/dxf-footer.d.ts.map +1 -1
  12. package/lib/renderers/dxf/dxf-encoding/dxf-footer.js +2 -1
  13. package/lib/renderers/dxf/dxf-encoding/dxf-footer.js.map +1 -1
  14. package/lib/renderers/dxf/dxf-encoding/dxf-header.d.ts.map +1 -1
  15. package/lib/renderers/dxf/dxf-encoding/dxf-header.js +2 -1
  16. package/lib/renderers/dxf/dxf-encoding/dxf-header.js.map +1 -1
  17. package/lib/renderers/dxf/dxf-encoding/dxf-lwpolyline.d.ts.map +1 -1
  18. package/lib/renderers/dxf/dxf-encoding/dxf-lwpolyline.js +1 -3
  19. package/lib/renderers/dxf/dxf-encoding/dxf-lwpolyline.js.map +1 -1
  20. package/lib/renderers/dxf/dxf-encoding/dxf-mtext.d.ts.map +1 -1
  21. package/lib/renderers/dxf/dxf-encoding/dxf-mtext.js +0 -1
  22. package/lib/renderers/dxf/dxf-encoding/dxf-mtext.js.map +1 -1
  23. package/lib/renderers/dxf/dxf-encoding/dxf-polyline.d.ts.map +1 -1
  24. package/lib/renderers/dxf/dxf-encoding/dxf-polyline.js.map +1 -1
  25. package/lib/renderers/dxf/dxf-geometries/dxf-dimension.d.ts.map +1 -1
  26. package/lib/renderers/dxf/dxf-geometries/dxf-dimension.js +1 -1
  27. package/lib/renderers/dxf/dxf-geometries/dxf-dimension.js.map +1 -1
  28. package/lib/renderers/dxf/dxf-geometries/dxf-image.js +3 -8
  29. package/lib/renderers/dxf/dxf-geometries/dxf-image.js.map +1 -1
  30. package/lib/renderers/dxf/dxf-geometries/dxf-polygon.d.ts.map +1 -1
  31. package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js +2 -2
  32. package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js.map +1 -1
  33. package/lib/renderers/dxf/dxf-geometries/dxf-shape.d.ts.map +1 -1
  34. package/lib/renderers/dxf/dxf-geometries/dxf-shape.js +1 -1
  35. package/lib/renderers/dxf/dxf-geometries/dxf-shape.js.map +1 -1
  36. package/lib/renderers/react/react-camera.js +1 -1
  37. package/lib/renderers/react/react-camera.js.map +1 -1
  38. package/lib/renderers/react/react-image-material.js +4 -5
  39. package/lib/renderers/react/react-image-material.js.map +1 -1
  40. package/lib/renderers/react/react-material.js.map +1 -1
  41. package/lib/renderers/react/react-mesh.js +1 -1
  42. package/lib/renderers/react/react-mesh.js.map +1 -1
  43. package/lib/renderers/react/react.js +1 -1
  44. package/lib/renderers/react/react.js.map +1 -1
  45. package/lib/renderers/svg/svg-geometries/svg-cone.js +1 -1
  46. package/lib/renderers/svg/svg-geometries/svg-cone.js.map +1 -1
  47. package/lib/renderers/svg/svg-geometries/svg-cylinder.js +1 -1
  48. package/lib/renderers/svg/svg-geometries/svg-cylinder.js.map +1 -1
  49. package/lib/renderers/svg/svg-geometries/svg-image.js.map +1 -1
  50. package/lib/utils.js.map +1 -1
  51. package/package.json +3 -3
  52. package/src/abstract-3d.ts +2 -2
  53. package/src/renderers/dxf/dxf-encoding/dxf-3dface.ts +1 -1
  54. package/src/renderers/dxf/dxf-encoding/dxf-color.ts +26 -26
  55. package/src/renderers/dxf/dxf-encoding/dxf-common.ts +23 -9
  56. package/src/renderers/dxf/dxf-encoding/dxf-footer.ts +3 -2
  57. package/src/renderers/dxf/dxf-encoding/dxf-header.ts +15 -4
  58. package/src/renderers/dxf/dxf-encoding/dxf-line.ts +1 -1
  59. package/src/renderers/dxf/dxf-encoding/dxf-lwpolyline.ts +21 -17
  60. package/src/renderers/dxf/dxf-encoding/dxf-mtext.ts +12 -3
  61. package/src/renderers/dxf/dxf-encoding/dxf-polyline.ts +2 -3
  62. package/src/renderers/dxf/dxf-encoding/dxf-solid.ts +1 -1
  63. package/src/renderers/dxf/dxf-encoding/dxf-triangle.ts +1 -1
  64. package/src/renderers/dxf/dxf-geometries/dxf-box.ts +1 -1
  65. package/src/renderers/dxf/dxf-geometries/dxf-dimension.ts +18 -4
  66. package/src/renderers/dxf/dxf-geometries/dxf-image.ts +8 -20
  67. package/src/renderers/dxf/dxf-geometries/dxf-polygon.ts +16 -28
  68. package/src/renderers/dxf/dxf-geometries/dxf-shape.ts +13 -5
  69. package/src/renderers/react/react-camera.tsx +4 -4
  70. package/src/renderers/react/react-image-material.tsx +6 -7
  71. package/src/renderers/react/react-material.tsx +6 -6
  72. package/src/renderers/react/react-mesh.tsx +1 -1
  73. package/src/renderers/react/react.tsx +1 -1
  74. package/src/renderers/svg/svg-geometries/svg-cone.ts +1 -1
  75. package/src/renderers/svg/svg-geometries/svg-cylinder.ts +1 -1
  76. package/src/renderers/svg/svg-geometries/svg-image.ts +2 -2
  77. 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":"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"}
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.32",
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.60",
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": "9576de23211494a32710b368588802c1c3c989c8"
68
+ "gitHead": "96519bbb4d43c57b0a97917065a32b58d762f462"
69
69
  }
@@ -1,4 +1,4 @@
1
- /* eslint-disable max-lines */
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: Animation | undefined = undefined
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 });
@@ -45,4 +45,4 @@ ${dxfRound(vec4.x)}
45
45
  ${dxfRound(vec4.y)}
46
46
  33
47
47
  ${dxfRound(vec4.z)}
48
- `;
48
+ `;
@@ -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
- ? `62\n7`
9
- : `62
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
- 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;
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
- return closestColor;
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(groups: string, dimensions: DxfDimensionDefinition, bounds: Bounds3, size: Vec3, center: Vec3): string {
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 dxfEncHeader(bounds, center, id, size, dimensions.block, dimensions.blockRecord) + groups + dimensions.entity + dxfEncFooter(id);
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 = (1.0 / 64.0); //dxf spec
46
- const xAxis = (Math.abs(normalizedExtrusionVector.x) < THRESHOLD && Math.abs(normalizedExtrusionVector.y) < THRESHOLD)
47
- ? vec3Normalize(vec3Cross(vec3(0.0, 1.0, 0.0), normalizedExtrusionVector))
48
- : vec3Normalize(vec3Cross(vec3(0.0, 0.0, 1.0), normalizedExtrusionVector));
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
- /* eslint-disable max-lines */
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
- /* eslint-disable max-lines */
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 = (bounds: Bounds3, center: Vec3, blockId: string, size: Vec3, dimBlocks: string, dimBlockRecords: string, dimScale: number = 44.0, dimArrowSize: number = 1.0, dimTextHeight: number = 1.0): string =>
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
- ${0}
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
+ `;
@@ -33,4 +33,4 @@ ${dxfRound(vecEnd.y)}
33
33
  31
34
34
  ${dxfRound(vecEnd.z)}
35
35
  `;
36
- }
36
+ }
@@ -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(points: ReadonlyArray<Vec3>, plane: LwPolylinePlane, col: DxfColor, closed: boolean, handleRef: Handle, blockRefHandle?: string): string {
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(pos: Vec3, text: string, dir: Vec3, normal: Vec3, fontSize: number, handleRef: Handle, attachment: DxfMTextAttachment = DxfMTextAttachment.MiddleCenter, blockRefHandle?: string): string {
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
- return ` 0
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
+ }
@@ -45,4 +45,4 @@ ${dxfRound(vec4.x)}
45
45
  ${dxfRound(vec4.y)}
46
46
  33
47
47
  ${dxfRound(vec4.z)}
48
- `;
48
+ `;
@@ -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);
@@ -4,7 +4,7 @@ import {
4
4
  type Vec3,
5
5
  vec3,
6
6
  vec3RotCombine,
7
- vec3Scale,
7
+ vec3Scale,
8
8
  vec3TransRot,
9
9
  vec3Zero,
10
10
  } from "../../../abstract-3d.js";
@@ -1,9 +1,23 @@
1
- import { type Dimension, dimensionIsOfTypeMesh, type Vec3, vec3Length, vec3Sub, vec3TransRot } from "../../../abstract-3d.js";
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(dimension: Dimension, parentPos: Vec3, parentRot: Vec3, sceneRotation: Vec3, viewRotation: Vec3, handleRef: Handle): DxfDimensionDefinition {
6
- if(dimensionIsOfTypeMesh(dimension)) {
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
- const strokeScale = Math.max(scale.x, scale.y, scale.z);
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
- //these points form a loop
93
- vec3tr(comp.topLeft.x, comp.topLeft.y),
94
- vec3tr(comp.bottomRight.x, comp.topLeft.y),
95
- vec3tr(comp.bottomRight.x, comp.bottomRight.y),
96
- vec3tr(comp.topLeft.x, comp.bottomRight.y),
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 { type Polygon, type Material, type Vec3, vec3RotCombine, vec3TransRot, vec3Zero } from "../../../abstract-3d.js";
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((points.length - i) >= QUAD_STRIDE) {
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
  }