abstract-3d 0.9.13 → 0.9.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/renderers/step/step-geometries/step-cone.d.ts +4 -0
- package/lib/renderers/step/step-geometries/step-cone.d.ts.map +1 -0
- package/lib/renderers/step/step-geometries/step-cone.js +14 -0
- package/lib/renderers/step/step-geometries/step-cone.js.map +1 -0
- package/lib/renderers/step/step-geometries/step-cylinder.d.ts +1 -1
- package/lib/renderers/step/step-geometries/step-cylinder.d.ts.map +1 -1
- package/lib/renderers/step/step-geometries/step-cylinder.js +5 -4
- package/lib/renderers/step/step-geometries/step-cylinder.js.map +1 -1
- package/lib/renderers/step/step.d.ts.map +1 -1
- package/lib/renderers/step/step.js +4 -0
- package/lib/renderers/step/step.js.map +1 -1
- package/package.json +2 -2
- package/src/renderers/step/step-geometries/step-cone.ts +26 -0
- package/src/renderers/step/step-geometries/step-cylinder.ts +6 -4
- package/src/renderers/step/step.ts +4 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Material, Vec3, Cone } from "../../../abstract-3d.js";
|
|
2
|
+
import { MutableStep } from "../step-encoding.js";
|
|
3
|
+
export declare function stepCone(c: Cone, mat: Material, parentPos: Vec3, parentRot: Vec3, m: MutableStep): void;
|
|
4
|
+
//# sourceMappingURL=step-cone.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-cone.d.ts","sourceRoot":"","sources":["../../../../src/renderers/step/step-geometries/step-cone.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,IAAI,EAEJ,IAAI,EAEL,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAM7B,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,GAAG,IAAI,CAUvG"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { stepCylinder } from "./step-cylinder.js";
|
|
2
|
+
const PLANE_THICKNESS = 1e-4;
|
|
3
|
+
export function stepCone(c, mat, parentPos, parentRot, m) {
|
|
4
|
+
//convert it into a box
|
|
5
|
+
const cylinder = {
|
|
6
|
+
type: "Cylinder",
|
|
7
|
+
pos: c.pos,
|
|
8
|
+
rot: c.rot,
|
|
9
|
+
length: c.length,
|
|
10
|
+
radius: c.radius,
|
|
11
|
+
};
|
|
12
|
+
stepCylinder(cylinder, mat, parentPos, parentRot, m, 0.0);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=step-cone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-cone.js","sourceRoot":"","sources":["../../../../src/renderers/step/step-geometries/step-cone.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,eAAe,GAAG,IAAI,CAAC;AAE7B,MAAM,UAAU,QAAQ,CAAC,CAAO,EAAE,GAAa,EAAE,SAAe,EAAE,SAAe,EAAE,CAAc;IAC/F,uBAAuB;IACvB,MAAM,QAAQ,GAAa;QACzB,IAAI,EAAE,UAAU;QAChB,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM;KACjB,CAAC;IACF,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Material, Vec3, Cylinder } from "../../../abstract-3d.js";
|
|
2
2
|
import { MutableStep } from "../step-encoding.js";
|
|
3
|
-
export declare function stepCylinder(c: Cylinder, mat: Material, parentPos: Vec3, parentRot: Vec3, m: MutableStep): void;
|
|
3
|
+
export declare function stepCylinder(c: Cylinder, mat: Material, parentPos: Vec3, parentRot: Vec3, m: MutableStep, rSmall?: number): void;
|
|
4
4
|
//# sourceMappingURL=step-cylinder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-cylinder.d.ts","sourceRoot":"","sources":["../../../../src/renderers/step/step-geometries/step-cylinder.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,IAAI,EAKJ,QAAQ,EAET,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAqBL,WAAW,EAiBZ,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"step-cylinder.d.ts","sourceRoot":"","sources":["../../../../src/renderers/step/step-geometries/step-cylinder.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,IAAI,EAKJ,QAAQ,EAET,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAqBL,WAAW,EAiBZ,MAAM,qBAAqB,CAAC;AAI7B,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAiLhI"}
|
|
@@ -2,10 +2,11 @@ import { Euler, Matrix4, Vector3 } from "three";
|
|
|
2
2
|
import { vec3TransRot, vec3RotCombine, vec3Zero, vec3, vec3Add, } from "../../../abstract-3d.js";
|
|
3
3
|
import { parseRgb } from "../../shared.js";
|
|
4
4
|
import { ADVANCED_BREP_SHAPE_REPRESENTATION, ADVANCED_FACE, APPLICATION_CONTEXT, APPLICATION_PROTOCOL_DEFINITION, AXIS2_PLACEMENT_3D, CARTESIAN_POINT, CIRCLE, CLOSED_SHELL, COLOUR_RGB, CURVE_STYLE, CYLINDRICAL_SURFACE, DIRECTION, DRAUGHTING_PRE_DEFINED_CURVE_FONT, EDGE_CURVE, EDGE_LOOP, FACE_BOUND, FILL_AREA_STYLE_COLOUR, LINE, MANIFOLD_SOLID_BREP, MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION, ORIENTED_EDGE, PLANE, PRESENTATION_STYLE_ASSIGNMENT, PRODUCT, PRODUCT_CONTEXT, PRODUCT_DEFINITION, PRODUCT_DEFINITION_CONTEXT, PRODUCT_DEFINITION_FORMATION, PRODUCT_DEFINITION_SHAPE, SHAPE_DEFINITION_REPRESENTATION, STYLED_ITEM, SURFACE_SIDE_STYLE, SURFACE_STYLE_FILL_AREA, SURFACE_STYLE_USAGE, VECTOR, VERTEX_POINT, } from "../step-encoding.js";
|
|
5
|
-
|
|
5
|
+
const SMALLEST_RADIUS = 1e-4;
|
|
6
|
+
export function stepCylinder(c, mat, parentPos, parentRot, m, rSmall) {
|
|
6
7
|
const r = c.radius;
|
|
8
|
+
const r2 = Math.max(rSmall ?? c.radius, SMALLEST_RADIUS);
|
|
7
9
|
const h = c.length;
|
|
8
|
-
const rgb = parseRgb(mat.normal);
|
|
9
10
|
const pos = vec3TransRot(c.pos, parentPos, parentRot);
|
|
10
11
|
const rotation = vec3RotCombine(parentRot, c.rot ?? vec3Zero);
|
|
11
12
|
const rotationMatrix = new Matrix4();
|
|
@@ -26,7 +27,7 @@ export function stepCylinder(c, mat, parentPos, parentRot, m) {
|
|
|
26
27
|
circleBot.applyMatrix4(rotationMatrix);
|
|
27
28
|
const v1 = new Vector3();
|
|
28
29
|
const v2 = new Vector3();
|
|
29
|
-
v1.set(
|
|
30
|
+
v1.set(r2, h / 2, 0);
|
|
30
31
|
v2.set(r, -h / 2, 0);
|
|
31
32
|
v1.applyMatrix4(rotationMatrix);
|
|
32
33
|
v2.applyMatrix4(rotationMatrix);
|
|
@@ -34,7 +35,7 @@ export function stepCylinder(c, mat, parentPos, parentRot, m) {
|
|
|
34
35
|
APPLICATION_PROTOCOL_DEFINITION(applicationContext, m);
|
|
35
36
|
const ecurve0 = EDGE_CURVE(VERTEX_POINT(CARTESIAN_POINT(vec3Add(pos, v2), m), m), VERTEX_POINT(CARTESIAN_POINT(vec3Add(pos, v1), m), m), LINE(CARTESIAN_POINT(vec3Add(pos, v2), m), VECTOR(DIRECTION(upNormal, m), m), m), m, "T");
|
|
36
37
|
const ecurve1 = EDGE_CURVE(VERTEX_POINT(CARTESIAN_POINT(vec3Add(pos, v2), m), m), VERTEX_POINT(CARTESIAN_POINT(vec3Add(pos, v2), m), m), CIRCLE(AXIS2_PLACEMENT_3D(CARTESIAN_POINT(vec3Add(pos, circleBot), m), DIRECTION(upNormal, m), DIRECTION(vec3(0, 1, 0), m), m), r, m), m, "T");
|
|
37
|
-
const ecurve2 = EDGE_CURVE(VERTEX_POINT(CARTESIAN_POINT(vec3Add(pos, v1), m), m), VERTEX_POINT(CARTESIAN_POINT(vec3Add(pos, v1), m), m), CIRCLE(AXIS2_PLACEMENT_3D(CARTESIAN_POINT(vec3Add(pos, circleTop), m), DIRECTION(upNormal, m), DIRECTION(vec3(0, 1, 0), m), m),
|
|
38
|
+
const ecurve2 = EDGE_CURVE(VERTEX_POINT(CARTESIAN_POINT(vec3Add(pos, v1), m), m), VERTEX_POINT(CARTESIAN_POINT(vec3Add(pos, v1), m), m), CIRCLE(AXIS2_PLACEMENT_3D(CARTESIAN_POINT(vec3Add(pos, circleTop), m), DIRECTION(upNormal, m), DIRECTION(vec3(0, 1, 0), m), m), r2, m), m);
|
|
38
39
|
const msb = MANIFOLD_SOLID_BREP(CLOSED_SHELL([
|
|
39
40
|
ADVANCED_FACE(FACE_BOUND(EDGE_LOOP([
|
|
40
41
|
ORIENTED_EDGE(ecurve0, m, "T"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-cylinder.js","sourceRoot":"","sources":["../../../../src/renderers/step/step-geometries/step-cylinder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAGL,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,IAAI,EAEJ,OAAO,GACR,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,kCAAkC,EAClC,aAAa,EACb,mBAAmB,EACnB,+BAA+B,EAC/B,kBAAkB,EAClB,eAAe,EACf,MAAM,EACN,YAAY,EACZ,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,SAAS,EACT,iCAAiC,EACjC,UAAU,EACV,SAAS,EACT,UAAU,EACV,sBAAsB,EACtB,IAAI,EACJ,mBAAmB,EACnB,uDAAuD,EAEvD,aAAa,EACb,KAAK,EACL,6BAA6B,EAC7B,OAAO,EACP,eAAe,EACf,kBAAkB,EAClB,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,EACxB,+BAA+B,EAC/B,WAAW,EACX,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,MAAM,EACN,YAAY,GACb,MAAM,qBAAqB,CAAC;AAE7B,MAAM,UAAU,YAAY,CAAC,CAAW,EAAE,GAAa,EAAE,SAAe,EAAE,SAAe,EAAE,CAAc;
|
|
1
|
+
{"version":3,"file":"step-cylinder.js","sourceRoot":"","sources":["../../../../src/renderers/step/step-geometries/step-cylinder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../../src/renderers/step/step.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAyI,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../../src/renderers/step/step.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAyI,MAAM,sBAAsB,CAAC;AAmBpL,eAAO,MAAM,MAAM,GAAI,OAAO,KAAK,KAAG,MA0BrC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { vec3Zero, vec3TransRot, vec3RotCombine } from "../../abstract-3d.js";
|
|
2
2
|
import { GEOMETRIC_REPRESENTATION_CONTEXT_3D, LENGTH_UNIT, NAMED_UNIT, UNCERTAINTY_MEASURE_WITH_UNIT, HEADER, ENDSEC, APPLICATION_CONTEXT, APPLICATION_PROTOCOL_DEFINITION, } from "./step-encoding.js";
|
|
3
3
|
import { stepBox } from "./step-geometries/step-box.js";
|
|
4
|
+
import { stepCone } from "./step-geometries/step-cone.js";
|
|
4
5
|
import { stepCylinder } from "./step-geometries/step-cylinder.js";
|
|
5
6
|
import { stepPlane } from "./step-geometries/step-plane.js";
|
|
6
7
|
const DEFAULT_DATE_UNIX = '1970-01-01T00:00:00';
|
|
@@ -37,6 +38,9 @@ function stepGroup(g, parentPos, parentRot, m) {
|
|
|
37
38
|
case "Cylinder":
|
|
38
39
|
stepCylinder(mesh.geometry, mesh.material, pos, rot, m);
|
|
39
40
|
break;
|
|
41
|
+
case "Cone":
|
|
42
|
+
stepCone(mesh.geometry, mesh.material, pos, rot, m);
|
|
43
|
+
break;
|
|
40
44
|
default:
|
|
41
45
|
break;
|
|
42
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step.js","sourceRoot":"","sources":["../../../src/renderers/step/step.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"step.js","sourceRoot":"","sources":["../../../src/renderers/step/step.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "abstract-3d",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.14",
|
|
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",
|
|
@@ -34,5 +34,5 @@
|
|
|
34
34
|
"@types/three": "^0.174.0",
|
|
35
35
|
"react": "^19.0.0"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "ab9f7d07302b3a344235dfc669aaa074d3f2ad81"
|
|
38
38
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Material,
|
|
3
|
+
Vec3,
|
|
4
|
+
vec3,
|
|
5
|
+
Cone,
|
|
6
|
+
Cylinder,
|
|
7
|
+
} from "../../../abstract-3d.js";
|
|
8
|
+
import {
|
|
9
|
+
MutableStep,
|
|
10
|
+
} from "../step-encoding.js";
|
|
11
|
+
import { stepBox } from "./step-box.js";
|
|
12
|
+
import { stepCylinder } from "./step-cylinder.js";
|
|
13
|
+
|
|
14
|
+
const PLANE_THICKNESS = 1e-4;
|
|
15
|
+
|
|
16
|
+
export function stepCone(c: Cone, mat: Material, parentPos: Vec3, parentRot: Vec3, m: MutableStep): void {
|
|
17
|
+
//convert it into a box
|
|
18
|
+
const cylinder: Cylinder = {
|
|
19
|
+
type: "Cylinder",
|
|
20
|
+
pos: c.pos,
|
|
21
|
+
rot: c.rot,
|
|
22
|
+
length: c.length,
|
|
23
|
+
radius: c.radius,
|
|
24
|
+
};
|
|
25
|
+
stepCylinder(cylinder, mat, parentPos, parentRot, m, 0.0);
|
|
26
|
+
}
|
|
@@ -50,10 +50,12 @@ import {
|
|
|
50
50
|
VERTEX_POINT,
|
|
51
51
|
} from "../step-encoding.js";
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
const SMALLEST_RADIUS = 1e-4;
|
|
54
|
+
|
|
55
|
+
export function stepCylinder(c: Cylinder, mat: Material, parentPos: Vec3, parentRot: Vec3, m: MutableStep, rSmall?: number): void {
|
|
54
56
|
const r = c.radius;
|
|
57
|
+
const r2 = Math.max(rSmall ?? c.radius, SMALLEST_RADIUS);
|
|
55
58
|
const h = c.length;
|
|
56
|
-
const rgb = parseRgb(mat.normal);
|
|
57
59
|
const pos = vec3TransRot(c.pos, parentPos, parentRot);
|
|
58
60
|
const rotation = vec3RotCombine(parentRot, c.rot ?? vec3Zero);
|
|
59
61
|
|
|
@@ -80,7 +82,7 @@ export function stepCylinder(c: Cylinder, mat: Material, parentPos: Vec3, parent
|
|
|
80
82
|
|
|
81
83
|
const v1 = new Vector3();
|
|
82
84
|
const v2 = new Vector3();
|
|
83
|
-
v1.set(
|
|
85
|
+
v1.set(r2, h / 2, 0);
|
|
84
86
|
v2.set(r, -h / 2, 0);
|
|
85
87
|
v1.applyMatrix4(rotationMatrix);
|
|
86
88
|
v2.applyMatrix4(rotationMatrix);
|
|
@@ -123,7 +125,7 @@ export function stepCylinder(c: Cylinder, mat: Material, parentPos: Vec3, parent
|
|
|
123
125
|
DIRECTION(vec3(0, 1, 0), m),
|
|
124
126
|
m
|
|
125
127
|
),
|
|
126
|
-
|
|
128
|
+
r2,
|
|
127
129
|
m
|
|
128
130
|
),
|
|
129
131
|
m
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
APPLICATION_PROTOCOL_DEFINITION,
|
|
12
12
|
} from "./step-encoding.js";
|
|
13
13
|
import { stepBox } from "./step-geometries/step-box.js";
|
|
14
|
+
import { stepCone } from "./step-geometries/step-cone.js";
|
|
14
15
|
import { stepCylinder } from "./step-geometries/step-cylinder.js";
|
|
15
16
|
import { stepPlane } from "./step-geometries/step-plane.js";
|
|
16
17
|
|
|
@@ -60,6 +61,9 @@ function stepGroup(g: Group, parentPos: Vec3, parentRot: Vec3, m: MutableStep):
|
|
|
60
61
|
case "Cylinder":
|
|
61
62
|
stepCylinder(mesh.geometry, mesh.material, pos, rot, m);
|
|
62
63
|
break;
|
|
64
|
+
case "Cone":
|
|
65
|
+
stepCone(mesh.geometry, mesh.material, pos, rot, m);
|
|
66
|
+
break;
|
|
63
67
|
default:
|
|
64
68
|
break;
|
|
65
69
|
}
|