@bldrs-ai/conway 0.22.921 → 0.23.940
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 +3 -0
- package/compiled/Dist/ConwayGeomWasmNode.js +1 -1
- package/compiled/Dist/ConwayGeomWasmNodeMT.js +1 -1
- package/compiled/Dist/ConwayGeomWasmWeb.js +1 -1
- package/compiled/Dist/ConwayGeomWasmWebMT.js +1 -1
- package/compiled/Dist/ConwayGeomWasmWebMT.wasm +0 -0
- package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmNode.js +1 -1
- package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmNodeMT.js +1 -1
- package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmWeb.js +1 -1
- package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmWebMT.js +1 -1
- package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmWebMT.wasm +0 -0
- package/compiled/dependencies/conway-geom/index.d.ts +1 -0
- package/compiled/dependencies/conway-geom/index.d.ts.map +1 -1
- package/compiled/dependencies/conway-geom/index.js +1 -0
- package/compiled/dependencies/conway-geom/interface/conway_geometry.d.ts +14 -0
- package/compiled/dependencies/conway-geom/interface/conway_geometry.d.ts.map +1 -1
- package/compiled/dependencies/conway-geom/interface/conway_geometry.js +18 -0
- package/compiled/dependencies/conway-geom/interface/parameters/params_get_block.d.ts +8 -0
- package/compiled/dependencies/conway-geom/interface/parameters/params_get_block.d.ts.map +1 -0
- package/compiled/dependencies/conway-geom/interface/parameters/params_get_block.js +1 -0
- package/compiled/dependencies/conway-geom/interface/parameters/params_get_rectangle_profile_curve.d.ts +3 -0
- package/compiled/dependencies/conway-geom/interface/parameters/params_get_rectangle_profile_curve.d.ts.map +1 -1
- package/compiled/dependencies/conway-geom/interface/parameters/params_get_revolved_area_solid.d.ts +14 -0
- package/compiled/dependencies/conway-geom/interface/parameters/params_get_revolved_area_solid.d.ts.map +1 -0
- package/compiled/dependencies/conway-geom/interface/parameters/params_get_revolved_area_solid.js +1 -0
- package/compiled/examples/browser-bundled.cjs +1 -1
- package/compiled/examples/cli-bundled.cjs +303 -99
- package/compiled/examples/validator-bundled.cjs +1 -1
- package/compiled/src/ifc/ifc_block_extraction.test.d.ts +2 -0
- package/compiled/src/ifc/ifc_block_extraction.test.d.ts.map +1 -0
- package/compiled/src/ifc/ifc_block_extraction.test.js +66 -0
- package/compiled/src/ifc/ifc_geometry_extraction.d.ts +19 -3
- package/compiled/src/ifc/ifc_geometry_extraction.d.ts.map +1 -1
- package/compiled/src/ifc/ifc_geometry_extraction.js +155 -13
- package/compiled/src/version/version.js +1 -1
- package/compiled/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -1
|
@@ -68490,7 +68490,7 @@ var IfcStepParser = class extends StepParser {
|
|
|
68490
68490
|
IfcStepParser.Instance = new IfcStepParser();
|
|
68491
68491
|
|
|
68492
68492
|
// compiled/src/version/version.js
|
|
68493
|
-
var versionString = "Conway Web-Ifc Shim v0.
|
|
68493
|
+
var versionString = "Conway Web-Ifc Shim v0.22.940";
|
|
68494
68494
|
|
|
68495
68495
|
// compiled/src/statistics/statistics.js
|
|
68496
68496
|
var Statistics = class {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ifc_block_extraction.test.d.ts","sourceRoot":"","sources":["../../../src/ifc/ifc_block_extraction.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import { beforeAll, describe, expect, test } from "@jest/globals";
|
|
3
|
+
import { IfcGeometryExtraction } from "./ifc_geometry_extraction.js";
|
|
4
|
+
import { ParseResult } from "../step/parsing/step_parser.js";
|
|
5
|
+
import IfcStepParser from "./ifc_step_parser.js";
|
|
6
|
+
import ParsingBuffer from "../parsing/parsing_buffer.js";
|
|
7
|
+
import { ConwayGeometry } from "../../dependencies/conway-geom/index.js";
|
|
8
|
+
import { ExtractResult } from "../core/shared_constants.js";
|
|
9
|
+
let conwayModel;
|
|
10
|
+
/**
|
|
11
|
+
* Initializes the IFC geometry extraction.
|
|
12
|
+
*
|
|
13
|
+
* @return {Promise<boolean | ExtractResult | void>} Resolves to true,
|
|
14
|
+
* ExtractResult, or void depending on initialization outcome.
|
|
15
|
+
*/
|
|
16
|
+
async function initialize() {
|
|
17
|
+
const parser = IfcStepParser.Instance;
|
|
18
|
+
const buffer = fs.readFileSync("data/block.ifc");
|
|
19
|
+
const input = new ParsingBuffer(buffer);
|
|
20
|
+
const headerResult = parser.parseHeader(input)[1];
|
|
21
|
+
if (headerResult !== ParseResult.COMPLETE) {
|
|
22
|
+
return ExtractResult.INCOMPLETE;
|
|
23
|
+
}
|
|
24
|
+
const geom = new ConwayGeometry();
|
|
25
|
+
const init = await geom.initialize();
|
|
26
|
+
if (!init) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const [, model] = parser.parseDataToModel(input);
|
|
30
|
+
if (model === void 0) {
|
|
31
|
+
return ExtractResult.INCOMPLETE;
|
|
32
|
+
}
|
|
33
|
+
conwayModel = new IfcGeometryExtraction(geom, model);
|
|
34
|
+
return conwayModel.isInitialized();
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Extracts the IFC geometry data.
|
|
38
|
+
*
|
|
39
|
+
* @return {ExtractResult} The result of the extraction.
|
|
40
|
+
*/
|
|
41
|
+
function extract() {
|
|
42
|
+
return conwayModel.extractIFCGeometryData()[0];
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Counts the number of meshes in the scene.
|
|
46
|
+
*
|
|
47
|
+
* @return {number} The number of meshes in the scene.
|
|
48
|
+
*/
|
|
49
|
+
function meshCount() {
|
|
50
|
+
return Array.from(conwayModel.scene.walk()).length;
|
|
51
|
+
}
|
|
52
|
+
beforeAll(async () => {
|
|
53
|
+
await initialize();
|
|
54
|
+
});
|
|
55
|
+
describe("IfcBlock Extraction", () => {
|
|
56
|
+
test("initialize()", () => {
|
|
57
|
+
expect(conwayModel.isInitialized()).toBe(true);
|
|
58
|
+
});
|
|
59
|
+
test("extract()", () => {
|
|
60
|
+
expect(extract()).toBe(ExtractResult.COMPLETE);
|
|
61
|
+
});
|
|
62
|
+
test("meshCount()", () => {
|
|
63
|
+
const expected = 1;
|
|
64
|
+
expect(meshCount()).toBe(expected);
|
|
65
|
+
});
|
|
66
|
+
});
|
|
@@ -4,7 +4,7 @@ import { CanonicalMesh } from "../core/canonical_mesh.js";
|
|
|
4
4
|
import { CanonicalProfile } from "../core/canonical_profile.js";
|
|
5
5
|
import { NativeULongVector, NativeUintVector, NativeVectorBound3D, NativeVectorGeometry, NativeVectorGeometryCollection, NativeVectorGlmVec2, NativeVectorGlmVec3, NativeVectorIndexedPolygonalFace, NativeVectorProfile, NativeVectorSegment, WasmModule } from "../core/native_types.js";
|
|
6
6
|
import { ExtractResult } from "../core/shared_constants.js";
|
|
7
|
-
import { IfcAxis2Placement2D, IfcAxis2Placement3D, IfcBooleanResult, IfcCartesianTransformationOperator3D, IfcCircleProfileDef, IfcColourRgb, IfcDirection, IfcExtrudedAreaSolid, IfcIndexedPolyCurve, IfcMappedItem, IfcNormalisedRatioMeasure, IfcObjectPlacement, IfcPolygonalFaceSet, IfcProduct, IfcProfileDef, IfcRepresentationItem, IfcSpecularExponent, IfcSpecularRoughness, IfcStyledItem, IfcSurfaceStyle, IfcBooleanClippingResult, IfcCompositeCurve, IfcPolyline, IfcTrimmedCurve, IfcCartesianPoint, IfcCurve, IfcCircle, IfcHalfSpaceSolid, IfcPlane, IfcShellBasedSurfaceModel, IfcFace, IfcFacetedBrep, IfcMaterialList, IfcMaterialLayerSetUsage, IfcMaterial, IfcRectangleProfileDef, IfcMaterialProfileSet, IfcMaterialConstituentSet, IfcMaterialConstituent, IfcMaterialProfile, IfcSIPrefix, IfcFaceBasedSurfaceModel, IfcConnectedFaceSet, IfcAdvancedBrep, IfcAdvancedFace, IfcBSplineCurve, IfcBSplineSurface, IfcBSplineSurfaceWithKnots, IfcRationalBSplineSurfaceWithKnots, IfcCylindricalSurface, IfcSurfaceOfRevolution, IfcSurfaceOfLinearExtrusion, IfcAxis1Placement, IfcRectangleHollowProfileDef, IfcEllipseProfileDef, IfcCircleHollowProfileDef, IfcIShapeProfileDef, IfcUShapeProfileDef, IfcCartesianTransformationOperator2D, IfcCartesianTransformationOperator2DnonUniform, IfcLShapeProfileDef, IfcCShapeProfileDef, IfcTShapeProfileDef, IfcZShapeProfileDef, IfcPolygonalBoundedHalfSpace, IfcSurface, IfcLine, IfcEllipse, IfcMaterialLayerSet, IfcSweptDiskSolid, IfcCsgPrimitive3D, IfcSolidModel, IfcTessellatedFaceSet } from "./ifc4_gen/index.js";
|
|
7
|
+
import { IfcAxis2Placement2D, IfcAxis2Placement3D, IfcBooleanResult, IfcCartesianTransformationOperator3D, IfcCircleProfileDef, IfcColourRgb, IfcDirection, IfcExtrudedAreaSolid, IfcIndexedPolyCurve, IfcMappedItem, IfcNormalisedRatioMeasure, IfcObjectPlacement, IfcPolygonalFaceSet, IfcProduct, IfcProfileDef, IfcRepresentationItem, IfcSpecularExponent, IfcSpecularRoughness, IfcStyledItem, IfcSurfaceStyle, IfcBooleanClippingResult, IfcCompositeCurve, IfcPolyline, IfcTrimmedCurve, IfcCartesianPoint, IfcCurve, IfcCircle, IfcHalfSpaceSolid, IfcPlane, IfcShellBasedSurfaceModel, IfcFace, IfcFacetedBrep, IfcMaterialList, IfcMaterialLayerSetUsage, IfcMaterial, IfcRectangleProfileDef, IfcMaterialProfileSet, IfcMaterialConstituentSet, IfcMaterialConstituent, IfcMaterialProfile, IfcSIPrefix, IfcFaceBasedSurfaceModel, IfcConnectedFaceSet, IfcAdvancedBrep, IfcAdvancedFace, IfcBSplineCurve, IfcBSplineSurface, IfcBSplineSurfaceWithKnots, IfcRationalBSplineSurfaceWithKnots, IfcCylindricalSurface, IfcSurfaceOfRevolution, IfcSurfaceOfLinearExtrusion, IfcAxis1Placement, IfcRectangleHollowProfileDef, IfcEllipseProfileDef, IfcCircleHollowProfileDef, IfcIShapeProfileDef, IfcUShapeProfileDef, IfcCartesianTransformationOperator2D, IfcCartesianTransformationOperator2DnonUniform, IfcLShapeProfileDef, IfcCShapeProfileDef, IfcTShapeProfileDef, IfcZShapeProfileDef, IfcPolygonalBoundedHalfSpace, IfcSurface, IfcLine, IfcEllipse, IfcMaterialLayerSet, IfcSweptDiskSolid, IfcBlock, IfcCsgPrimitive3D, IfcSolidModel, IfcTessellatedFaceSet, IfcMaterialProfileSetUsage, IfcRevolvedAreaSolid } from "./ifc4_gen/index.js";
|
|
8
8
|
import { IfcMaterialCache } from "./ifc_material_cache.js";
|
|
9
9
|
import { IfcSceneBuilder } from "./ifc_scene_builder.js";
|
|
10
10
|
import IfcStepModel from "./ifc_step_model.js";
|
|
@@ -337,7 +337,7 @@ export declare class IfcGeometryExtraction {
|
|
|
337
337
|
* @param isSecondOperand
|
|
338
338
|
* @return {void}
|
|
339
339
|
*/
|
|
340
|
-
extractBooleanOperand(from: IfcExtrudedAreaSolid | IfcPolygonalFaceSet | IfcBooleanResult | IfcHalfSpaceSolid | IfcBooleanClippingResult | IfcFacetedBrep, isRelVoid?: boolean, representationItem?: IfcRepresentationItem, isSecondOperand?: boolean): void;
|
|
340
|
+
extractBooleanOperand(from: IfcExtrudedAreaSolid | IfcPolygonalFaceSet | IfcBooleanResult | IfcHalfSpaceSolid | IfcBooleanClippingResult | IfcFacetedBrep | IfcBlock, isRelVoid?: boolean, representationItem?: IfcRepresentationItem, isSecondOperand?: boolean): void;
|
|
341
341
|
/**
|
|
342
342
|
* Extract a canonical material from a surface style.
|
|
343
343
|
*
|
|
@@ -367,6 +367,15 @@ export declare class IfcGeometryExtraction {
|
|
|
367
367
|
* @param isRelVoid
|
|
368
368
|
*/
|
|
369
369
|
extractHalfspaceSolid(from: IfcHalfSpaceSolid, temporary?: boolean, isRelVoid?: boolean): void;
|
|
370
|
+
/**
|
|
371
|
+
* Extract geometry for an IfcBlock primitive by constructing a rectangular
|
|
372
|
+
* extruded solid.
|
|
373
|
+
*
|
|
374
|
+
* @param from The IfcBlock instance to extract.
|
|
375
|
+
* @param temporary Whether the geometry is temporary.
|
|
376
|
+
* @param isRelVoid Is the geometry part of a relative void subtraction?
|
|
377
|
+
*/
|
|
378
|
+
extractBlock(from: IfcBlock, temporary?: boolean, isRelVoid?: boolean): void;
|
|
370
379
|
/**
|
|
371
380
|
*
|
|
372
381
|
* @param from
|
|
@@ -374,6 +383,13 @@ export declare class IfcGeometryExtraction {
|
|
|
374
383
|
* @param isRelVoid
|
|
375
384
|
*/
|
|
376
385
|
extractPolygonalBoundedHalfSpace(from: IfcPolygonalBoundedHalfSpace, temporary?: boolean, isRelVoid?: boolean): void;
|
|
386
|
+
/**
|
|
387
|
+
*
|
|
388
|
+
* @param from
|
|
389
|
+
* @param temporary
|
|
390
|
+
* @param isRelVoid
|
|
391
|
+
*/
|
|
392
|
+
extractRevolvedAreaSolid(from: IfcRevolvedAreaSolid, temporary?: boolean, isRelVoid?: boolean): void;
|
|
377
393
|
/**
|
|
378
394
|
*
|
|
379
395
|
* @param from
|
|
@@ -852,7 +868,7 @@ export declare class IfcGeometryExtraction {
|
|
|
852
868
|
* @param from
|
|
853
869
|
* @return {number | undefined}
|
|
854
870
|
*/
|
|
855
|
-
extractMaterial(from: IfcMaterial | IfcMaterialList | IfcMaterialProfile | IfcMaterialProfileSet | IfcMaterialConstituent | IfcMaterialLayerSetUsage | IfcMaterialLayerSet | IfcMaterialConstituentSet): number | undefined;
|
|
871
|
+
extractMaterial(from: IfcMaterial | IfcMaterialList | IfcMaterialProfile | IfcMaterialProfileSet | IfcMaterialConstituent | IfcMaterialLayerSetUsage | IfcMaterialLayerSet | IfcMaterialConstituentSet | IfcMaterialProfileSetUsage): number | undefined;
|
|
856
872
|
/**
|
|
857
873
|
*
|
|
858
874
|
* @param from
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ifc_geometry_extraction.d.ts","sourceRoot":"","sources":["../../../src/ifc/ifc_geometry_extraction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ifc_geometry_extraction.d.ts","sourceRoot":"","sources":["../../../src/ifc/ifc_geometry_extraction.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,12 +3,10 @@ import { exponentToRoughness } from "../core/canonical_material.js";
|
|
|
3
3
|
import { CanonicalMeshType } from "../core/canonical_mesh.js";
|
|
4
4
|
import { ObjectPool } from "../core/native_pool.js";
|
|
5
5
|
import { ExtractResult } from "../core/shared_constants.js";
|
|
6
|
-
import { IfcArbitraryClosedProfileDef, IfcAxis2Placement2D, IfcAxis2Placement3D, IfcBooleanResult, IfcCartesianPointList2D, IfcCartesianPointList3D, IfcCartesianTransformationOperator3D, IfcCircleProfileDef, IfcColourRgb, IfcCompositeProfileDef, IfcExtrudedAreaSolid, IfcGridPlacement, IfcIndexedPolyCurve, IfcIndexedPolygonalFaceWithVoids, IfcLocalPlacement, IfcMappedItem, IfcOpeningElement, IfcOpeningStandardCase, IfcPolygonalFaceSet, IfcProduct, IfcReflectanceMethodEnum, IfcSpace, IfcSpecularExponent, IfcStyledItem, IfcSurfaceStyle, IfcSurfaceStyleRefraction, IfcSurfaceStyleRendering, IfcSurfaceStyleShading, IfcPresentationStyleAssignment, IfcSurfaceSide, IfcBooleanClippingResult, IfcCompositeCurve, IfcPolyline, IfcTrimmedCurve, IfcCartesianPoint, IfcParameterValue, IfcTrimmingPreference, IfcCircle, IfcHalfSpaceSolid, IfcPlane, IfcBoundingBox, IfcShellBasedSurfaceModel, IfcPolyLoop, IfcFacetedBrep, IfcRelAssociatesMaterial, IfcShapeRepresentation, IfcMaterialList, IfcMaterialDefinitionRepresentation, IfcMaterialLayerSetUsage, IfcMaterial, IfcRelVoidsElement, IfcRectangleProfileDef, IfcMaterialProfileSet, IfcMaterialConstituentSet, IfcMaterialConstituent, IfcMaterialProfile, IfcProject, IfcSIUnit, IfcSIPrefix, IfcUnitEnum, IfcSIUnitName, IfcConversionBasedUnit, IfcFaceBasedSurfaceModel, IfcArbitraryProfileDefWithVoids, IfcAdvancedBrep, IfcAdvancedFace, IfcBSplineCurve, IfcBSplineSurface, IfcBSplineSurfaceWithKnots, IfcRationalBSplineSurfaceWithKnots, IfcCylindricalSurface, IfcSurfaceOfRevolution, IfcSurfaceOfLinearExtrusion, IfcRationalBSplineCurveWithKnots, IfcArbitraryOpenProfileDef, IfcBSplineCurveWithKnots, IfcEdgeLoop, IfcEdgeCurve, IfcVertexPoint, IfcRectangleHollowProfileDef, IfcEllipseProfileDef, IfcCircleHollowProfileDef, IfcIShapeProfileDef, IfcUShapeProfileDef, IfcDerivedProfileDef, IfcCartesianTransformationOperator2DnonUniform, IfcLShapeProfileDef, IfcCShapeProfileDef, IfcTShapeProfileDef, IfcZShapeProfileDef, IfcRelAggregates, IfcTriangulatedFaceSet, IfcPolygonalBoundedHalfSpace, IfcLine, IfcEllipse, IfcMaterialLayerSet, IfcSweptDiskSolid, } from "./ifc4_gen/index.js";
|
|
6
|
+
import { IfcArbitraryClosedProfileDef, IfcAxis2Placement2D, IfcAxis2Placement3D, IfcBooleanResult, IfcCartesianPointList2D, IfcCartesianPointList3D, IfcCartesianTransformationOperator3D, IfcCircleProfileDef, IfcColourRgb, IfcCompositeProfileDef, IfcExtrudedAreaSolid, IfcGridPlacement, IfcIndexedPolyCurve, IfcIndexedPolygonalFaceWithVoids, IfcLocalPlacement, IfcMappedItem, IfcOpeningElement, IfcOpeningStandardCase, IfcPolygonalFaceSet, IfcProduct, IfcReflectanceMethodEnum, IfcSpace, IfcSpecularExponent, IfcStyledItem, IfcSurfaceStyle, IfcSurfaceStyleRefraction, IfcSurfaceStyleRendering, IfcSurfaceStyleShading, IfcPresentationStyleAssignment, IfcSurfaceSide, IfcBooleanClippingResult, IfcCompositeCurve, IfcPolyline, IfcTrimmedCurve, IfcCartesianPoint, IfcParameterValue, IfcTrimmingPreference, IfcCircle, IfcHalfSpaceSolid, IfcPlane, IfcBoundingBox, IfcShellBasedSurfaceModel, IfcPolyLoop, IfcFacetedBrep, IfcRelAssociatesMaterial, IfcShapeRepresentation, IfcMaterialList, IfcMaterialDefinitionRepresentation, IfcMaterialLayerSetUsage, IfcMaterial, IfcRelVoidsElement, IfcRectangleProfileDef, IfcMaterialProfileSet, IfcMaterialConstituentSet, IfcMaterialConstituent, IfcMaterialProfile, IfcProject, IfcSIUnit, IfcSIPrefix, IfcUnitEnum, IfcSIUnitName, IfcConversionBasedUnit, IfcFaceBasedSurfaceModel, IfcArbitraryProfileDefWithVoids, IfcAdvancedBrep, IfcAdvancedFace, IfcBSplineCurve, IfcBSplineSurface, IfcBSplineSurfaceWithKnots, IfcRationalBSplineSurfaceWithKnots, IfcCylindricalSurface, IfcSurfaceOfRevolution, IfcSurfaceOfLinearExtrusion, IfcRationalBSplineCurveWithKnots, IfcArbitraryOpenProfileDef, IfcBSplineCurveWithKnots, IfcEdgeLoop, IfcEdgeCurve, IfcVertexPoint, IfcRectangleHollowProfileDef, IfcEllipseProfileDef, IfcCircleHollowProfileDef, IfcIShapeProfileDef, IfcUShapeProfileDef, IfcDerivedProfileDef, IfcCartesianTransformationOperator2DnonUniform, IfcLShapeProfileDef, IfcCShapeProfileDef, IfcTShapeProfileDef, IfcZShapeProfileDef, IfcRelAggregates, IfcTriangulatedFaceSet, IfcPolygonalBoundedHalfSpace, IfcLine, IfcEllipse, IfcMaterialLayerSet, IfcSweptDiskSolid, IfcBlock, IfcRoundedRectangleProfileDef, IfcMaterialProfileSetUsage, IfcCompositeCurveSegment, IfcRevolvedAreaSolid, } from "./ifc4_gen/index.js";
|
|
7
7
|
import EntityTypesIfc from "./ifc4_gen/entity_types_ifc.gen.js";
|
|
8
8
|
import { IfcSceneBuilder } from "./ifc_scene_builder.js";
|
|
9
9
|
import Logger from "../logging/logger.js";
|
|
10
|
-
// import fs from 'fs'
|
|
11
|
-
import Environment, { EnvironmentType } from "../utilities/environment.js";
|
|
12
10
|
import { REFLECTANCE_METHOD_PERMISSIVE, MATERIAL_RELATED_OBJECTS_PERMISSIVE } from "./ifc_parser_quirks.js";
|
|
13
11
|
import { CsgOperationType } from "../core/csg_operations.js";
|
|
14
12
|
import { MemoizationCapture, RegressionCaptureState } from "../core/regression_capture_state.js";
|
|
@@ -713,7 +711,8 @@ export class IfcGeometryExtraction {
|
|
|
713
711
|
from instanceof IfcBooleanResult ||
|
|
714
712
|
from instanceof IfcPolygonalBoundedHalfSpace ||
|
|
715
713
|
from instanceof IfcHalfSpaceSolid ||
|
|
716
|
-
from instanceof IfcFacetedBrep
|
|
714
|
+
from instanceof IfcFacetedBrep ||
|
|
715
|
+
from instanceof IfcBlock) {
|
|
717
716
|
this.extractBooleanOperand(from, isRelVoid, representationItem, isSecondOperand);
|
|
718
717
|
}
|
|
719
718
|
if (isRelVoid) {
|
|
@@ -793,9 +792,6 @@ export class IfcGeometryExtraction {
|
|
|
793
792
|
parameters.operatorType = from.Operator.valueOf();
|
|
794
793
|
parameters.isSubtractOperand = isRelVoid;
|
|
795
794
|
const booleanGeometryObject = this.conwayModel.getBooleanResult(parameters);
|
|
796
|
-
// const outputFilePath =
|
|
797
|
-
// `${from.expressID}_${EntityTypesIfc[from.type]}_post_subtract_test.obj`
|
|
798
|
-
// this.dumpGeometry(outputFilePath, booleanGeometryObject)
|
|
799
795
|
if (firstMesh.type === CanonicalMeshType.BUFFER_GEOMETRY &&
|
|
800
796
|
secondMesh.type === CanonicalMeshType.BUFFER_GEOMETRY) {
|
|
801
797
|
const canonicalMesh = {
|
|
@@ -864,6 +860,10 @@ export class IfcGeometryExtraction {
|
|
|
864
860
|
// mark as temporary
|
|
865
861
|
this.extractExtrudedAreaSolid(from, true, isRelVoid);
|
|
866
862
|
}
|
|
863
|
+
else if (from instanceof IfcRevolvedAreaSolid) {
|
|
864
|
+
// mark as temporary
|
|
865
|
+
this.extractRevolvedAreaSolid(from, true, isRelVoid);
|
|
866
|
+
}
|
|
867
867
|
else if (from instanceof IfcPolygonalFaceSet) {
|
|
868
868
|
// mark as temporary
|
|
869
869
|
const faceSetResult = this.extractPolygonalFaceSet(from, true, isRelVoid);
|
|
@@ -880,6 +880,9 @@ export class IfcGeometryExtraction {
|
|
|
880
880
|
else if (from instanceof IfcSweptDiskSolid) {
|
|
881
881
|
this.extractSweptDiskSolid(from, true, isRelVoid);
|
|
882
882
|
}
|
|
883
|
+
else if (from instanceof IfcBlock) {
|
|
884
|
+
this.extractBlock(from, true, isRelVoid);
|
|
885
|
+
}
|
|
883
886
|
else if (from instanceof IfcFacetedBrep) {
|
|
884
887
|
this.extractIfcFacetedBrep(from, true, isRelVoid);
|
|
885
888
|
}
|
|
@@ -1251,6 +1254,50 @@ export class IfcGeometryExtraction {
|
|
|
1251
1254
|
}
|
|
1252
1255
|
}
|
|
1253
1256
|
}
|
|
1257
|
+
/**
|
|
1258
|
+
* Extract geometry for an IfcBlock primitive by constructing a rectangular
|
|
1259
|
+
* extruded solid.
|
|
1260
|
+
*
|
|
1261
|
+
* @param from The IfcBlock instance to extract.
|
|
1262
|
+
* @param temporary Whether the geometry is temporary.
|
|
1263
|
+
* @param isRelVoid Is the geometry part of a relative void subtraction?
|
|
1264
|
+
*/
|
|
1265
|
+
extractBlock(from, temporary = false, isRelVoid = false) {
|
|
1266
|
+
const XLength = from.XLength;
|
|
1267
|
+
const YLength = from.YLength;
|
|
1268
|
+
const ZLength = from.ZLength;
|
|
1269
|
+
/* ---- 1. Sanity check -------------------------------------- */
|
|
1270
|
+
if (XLength == null || YLength == null || ZLength == null) {
|
|
1271
|
+
console.warn(`IfcBlock ${from.localID} has invalid dimensions – skipped.`);
|
|
1272
|
+
return;
|
|
1273
|
+
}
|
|
1274
|
+
let axis2PlacementTransform;
|
|
1275
|
+
if (from.Position !== null) {
|
|
1276
|
+
const paramsAxis2Placement3D = this.extractAxis2Placement3D(from.Position, from.localID, true);
|
|
1277
|
+
axis2PlacementTransform =
|
|
1278
|
+
this.conwayModel.getAxis2Placement3D(paramsAxis2Placement3D);
|
|
1279
|
+
}
|
|
1280
|
+
const parameters = {
|
|
1281
|
+
xLength: XLength,
|
|
1282
|
+
yLength: YLength,
|
|
1283
|
+
zLength: ZLength,
|
|
1284
|
+
placement: axis2PlacementTransform,
|
|
1285
|
+
};
|
|
1286
|
+
const geometry = this.conwayModel.getBlock(parameters);
|
|
1287
|
+
const canonicalMesh = {
|
|
1288
|
+
type: CanonicalMeshType.BUFFER_GEOMETRY,
|
|
1289
|
+
geometry,
|
|
1290
|
+
localID: from.localID,
|
|
1291
|
+
model: this.model,
|
|
1292
|
+
temporary,
|
|
1293
|
+
};
|
|
1294
|
+
if (!isRelVoid) {
|
|
1295
|
+
this.model.geometry.add(canonicalMesh);
|
|
1296
|
+
}
|
|
1297
|
+
else {
|
|
1298
|
+
this.model.voidGeometry.add(canonicalMesh);
|
|
1299
|
+
}
|
|
1300
|
+
}
|
|
1254
1301
|
/**
|
|
1255
1302
|
*
|
|
1256
1303
|
* @param from
|
|
@@ -1301,6 +1348,67 @@ export class IfcGeometryExtraction {
|
|
|
1301
1348
|
this.model.voidGeometry.add(canonicalMesh);
|
|
1302
1349
|
}
|
|
1303
1350
|
}
|
|
1351
|
+
/**
|
|
1352
|
+
*
|
|
1353
|
+
* @param from
|
|
1354
|
+
* @param temporary
|
|
1355
|
+
* @param isRelVoid
|
|
1356
|
+
*/
|
|
1357
|
+
extractRevolvedAreaSolid(from, temporary = false, isRelVoid = false) {
|
|
1358
|
+
let axis2PlacementTransform = (void 0);
|
|
1359
|
+
const angle = from.Angle;
|
|
1360
|
+
const axis = from.Axis;
|
|
1361
|
+
const axisPosition = {
|
|
1362
|
+
x: axis.Location.Coordinates[0],
|
|
1363
|
+
y: axis.Location.Coordinates[1],
|
|
1364
|
+
z: axis.Location.Coordinates[2],
|
|
1365
|
+
};
|
|
1366
|
+
const axisNative = {
|
|
1367
|
+
x: axis.Axis?.DirectionRatios[0] ?? 0,
|
|
1368
|
+
y: axis.Axis?.DirectionRatios[1] ?? 0,
|
|
1369
|
+
z: axis.Axis?.DirectionRatios[2] ?? 1,
|
|
1370
|
+
};
|
|
1371
|
+
const position = from.Position;
|
|
1372
|
+
if (position !== null) {
|
|
1373
|
+
const paramsAxis2Placement3D = this.extractAxis2Placement3D(position, from.localID, true);
|
|
1374
|
+
axis2PlacementTransform = this.conwayModel
|
|
1375
|
+
.getAxis2Placement3D(paramsAxis2Placement3D);
|
|
1376
|
+
}
|
|
1377
|
+
const profile = this.extractProfile(from.SweptArea);
|
|
1378
|
+
if (profile !== void 0 && profile.nativeProfile !== void 0) {
|
|
1379
|
+
// get geometry
|
|
1380
|
+
const parameters = {
|
|
1381
|
+
angle: angle,
|
|
1382
|
+
axis: axisNative,
|
|
1383
|
+
axisPosition: axisPosition,
|
|
1384
|
+
placement: axis2PlacementTransform,
|
|
1385
|
+
profile: profile.nativeProfile,
|
|
1386
|
+
scalingFactor: this.linearScalingFactor,
|
|
1387
|
+
circleSegments: this.circleSegments,
|
|
1388
|
+
};
|
|
1389
|
+
const geometry = this.conwayModel.getRevolvedAreaSolid(parameters);
|
|
1390
|
+
// apply transform
|
|
1391
|
+
if (axis2PlacementTransform !== void 0) {
|
|
1392
|
+
geometry.applyTransform(axis2PlacementTransform);
|
|
1393
|
+
}
|
|
1394
|
+
// const _outputFilePath = `${from.expressID}_${EntityTypesIfc[from.type]}.obj`
|
|
1395
|
+
// this.dumpGeometry(_outputFilePath, geometry)
|
|
1396
|
+
const canonicalMesh = {
|
|
1397
|
+
type: CanonicalMeshType.BUFFER_GEOMETRY,
|
|
1398
|
+
geometry: geometry,
|
|
1399
|
+
localID: from.localID,
|
|
1400
|
+
model: this.model,
|
|
1401
|
+
temporary: temporary,
|
|
1402
|
+
};
|
|
1403
|
+
// add mesh to the list of mesh objects
|
|
1404
|
+
if (!isRelVoid) {
|
|
1405
|
+
this.model.geometry.add(canonicalMesh);
|
|
1406
|
+
}
|
|
1407
|
+
else {
|
|
1408
|
+
this.model.voidGeometry.add(canonicalMesh);
|
|
1409
|
+
}
|
|
1410
|
+
}
|
|
1411
|
+
}
|
|
1304
1412
|
/**
|
|
1305
1413
|
*
|
|
1306
1414
|
* @param from
|
|
@@ -1311,7 +1419,7 @@ export class IfcGeometryExtraction {
|
|
|
1311
1419
|
let axis2PlacementTransform = (void 0);
|
|
1312
1420
|
const position = from.Position;
|
|
1313
1421
|
if (position !== null) {
|
|
1314
|
-
const paramsAxis2Placement3D = this.extractAxis2Placement3D(position,
|
|
1422
|
+
const paramsAxis2Placement3D = this.extractAxis2Placement3D(position, from.localID, true);
|
|
1315
1423
|
axis2PlacementTransform = this.conwayModel
|
|
1316
1424
|
.getAxis2Placement3D(paramsAxis2Placement3D);
|
|
1317
1425
|
}
|
|
@@ -2043,6 +2151,11 @@ export class IfcGeometryExtraction {
|
|
|
2043
2151
|
else if (from instanceof IfcCompositeCurve) {
|
|
2044
2152
|
ifcCurve = this.extractCompositeCurve(from, parentSense);
|
|
2045
2153
|
}
|
|
2154
|
+
else if (from instanceof IfcCompositeCurveSegment) {
|
|
2155
|
+
const parentCurve = from.ParentCurve;
|
|
2156
|
+
const sameSense = from.SameSense === parentSense;
|
|
2157
|
+
ifcCurve = this.extractCurve(parentCurve, sameSense);
|
|
2158
|
+
}
|
|
2046
2159
|
if (ifcCurve === void 0) {
|
|
2047
2160
|
Logger.warning(`Unsupported Curve! Type: ${EntityTypesIfc[from.type]}`);
|
|
2048
2161
|
return;
|
|
@@ -2560,8 +2673,11 @@ export class IfcGeometryExtraction {
|
|
|
2560
2673
|
xDim: from.XDim,
|
|
2561
2674
|
yDim: from.YDim,
|
|
2562
2675
|
hasPlacement: true,
|
|
2676
|
+
hasRoundingRadius: (from instanceof IfcRoundedRectangleProfileDef) ? true : false,
|
|
2677
|
+
roundingRadius: (from instanceof IfcRoundedRectangleProfileDef) ? from.RoundingRadius : -1,
|
|
2563
2678
|
matrix: placement2D,
|
|
2564
2679
|
thickness: (from instanceof IfcRectangleHollowProfileDef) ? from.WallThickness : -1,
|
|
2680
|
+
circleSegments: this.circleSegments,
|
|
2565
2681
|
};
|
|
2566
2682
|
const ifcCurve = this.conwayModel.getRectangleProfileCurve(paramsGetCircleCurve);
|
|
2567
2683
|
return ifcCurve;
|
|
@@ -2571,8 +2687,11 @@ export class IfcGeometryExtraction {
|
|
|
2571
2687
|
xDim: from.XDim,
|
|
2572
2688
|
yDim: from.YDim,
|
|
2573
2689
|
hasPlacement: false,
|
|
2690
|
+
hasRoundingRadius: (from instanceof IfcRoundedRectangleProfileDef) ? true : false,
|
|
2691
|
+
roundingRadius: (from instanceof IfcRoundedRectangleProfileDef) ? from.RoundingRadius : -1,
|
|
2574
2692
|
matrix: (new (this.wasmModule.Glmdmat3)),
|
|
2575
2693
|
thickness: (from instanceof IfcRectangleHollowProfileDef) ? from.WallThickness : -1,
|
|
2694
|
+
circleSegments: this.circleSegments,
|
|
2576
2695
|
};
|
|
2577
2696
|
const ifcCurve = this.conwayModel.getRectangleProfileCurve(paramsGetCircleCurve);
|
|
2578
2697
|
paramsGetCircleCurve.matrix.delete();
|
|
@@ -2591,8 +2710,11 @@ export class IfcGeometryExtraction {
|
|
|
2591
2710
|
xDim: from.XDim,
|
|
2592
2711
|
yDim: from.YDim,
|
|
2593
2712
|
hasPlacement: true,
|
|
2713
|
+
hasRoundingRadius: (from instanceof IfcRoundedRectangleProfileDef) ? true : false,
|
|
2714
|
+
roundingRadius: (from instanceof IfcRoundedRectangleProfileDef) ? from.RoundingRadius : -1,
|
|
2594
2715
|
matrix: placement2D,
|
|
2595
2716
|
thickness: from.WallThickness,
|
|
2717
|
+
circleSegments: this.circleSegments,
|
|
2596
2718
|
};
|
|
2597
2719
|
const ifcCurve = this.conwayModel.getRectangleHollowProfileHole(paramsGetCircleCurve);
|
|
2598
2720
|
return ifcCurve;
|
|
@@ -2602,8 +2724,11 @@ export class IfcGeometryExtraction {
|
|
|
2602
2724
|
xDim: from.XDim,
|
|
2603
2725
|
yDim: from.YDim,
|
|
2604
2726
|
hasPlacement: false,
|
|
2727
|
+
hasRoundingRadius: (from instanceof IfcRoundedRectangleProfileDef) ? true : false,
|
|
2728
|
+
roundingRadius: (from instanceof IfcRoundedRectangleProfileDef) ? from.RoundingRadius : -1,
|
|
2605
2729
|
matrix: (new (this.wasmModule.Glmdmat3)),
|
|
2606
2730
|
thickness: from.WallThickness,
|
|
2731
|
+
circleSegments: this.circleSegments,
|
|
2607
2732
|
};
|
|
2608
2733
|
const ifcCurve = this.conwayModel.getRectangleHollowProfileHole(paramsGetCircleCurve);
|
|
2609
2734
|
paramsGetCircleCurve.matrix.delete();
|
|
@@ -2904,6 +3029,9 @@ export class IfcGeometryExtraction {
|
|
|
2904
3029
|
else if (from instanceof IfcExtrudedAreaSolid) {
|
|
2905
3030
|
this.extractExtrudedAreaSolid(from, false, isRelVoid);
|
|
2906
3031
|
}
|
|
3032
|
+
else if (from instanceof IfcRevolvedAreaSolid) {
|
|
3033
|
+
this.extractRevolvedAreaSolid(from, false, isRelVoid);
|
|
3034
|
+
}
|
|
2907
3035
|
else if (from instanceof IfcPolygonalBoundedHalfSpace) {
|
|
2908
3036
|
this.extractPolygonalBoundedHalfSpace(from, false, isRelVoid);
|
|
2909
3037
|
}
|
|
@@ -2913,6 +3041,9 @@ export class IfcGeometryExtraction {
|
|
|
2913
3041
|
else if (from instanceof IfcSweptDiskSolid) {
|
|
2914
3042
|
this.extractSweptDiskSolid(from, false, isRelVoid);
|
|
2915
3043
|
}
|
|
3044
|
+
else if (from instanceof IfcBlock) {
|
|
3045
|
+
this.extractBlock(from, false, isRelVoid);
|
|
3046
|
+
}
|
|
2916
3047
|
else if (from instanceof IfcFacetedBrep) {
|
|
2917
3048
|
this.extractIfcFacetedBrep(from, false, isRelVoid);
|
|
2918
3049
|
}
|
|
@@ -3920,6 +4051,16 @@ export class IfcGeometryExtraction {
|
|
|
3920
4051
|
if (from instanceof IfcMaterial) {
|
|
3921
4052
|
return this.materials.materialDefinitionsMap.get(from.localID);
|
|
3922
4053
|
}
|
|
4054
|
+
else if (from instanceof IfcMaterialProfileSetUsage) {
|
|
4055
|
+
for (const profile of from.ForProfileSet.MaterialProfiles) {
|
|
4056
|
+
if (profile.Material) {
|
|
4057
|
+
const styledItemID = this.extractMaterial(profile.Material);
|
|
4058
|
+
if (styledItemID !== void 0) {
|
|
4059
|
+
return styledItemID;
|
|
4060
|
+
}
|
|
4061
|
+
}
|
|
4062
|
+
}
|
|
4063
|
+
}
|
|
3923
4064
|
else if (from instanceof IfcMaterialLayerSetUsage) {
|
|
3924
4065
|
for (const layer of from.ForLayerSet.MaterialLayers) {
|
|
3925
4066
|
if (layer.Material) {
|
|
@@ -4180,11 +4321,12 @@ export class IfcGeometryExtraction {
|
|
|
4180
4321
|
*/
|
|
4181
4322
|
dumpGeometry(outputFilePath, geometry) {
|
|
4182
4323
|
// Construct the full OBJ content
|
|
4183
|
-
if (Environment.environmentType === EnvironmentType.NODE) {
|
|
4184
|
-
|
|
4185
|
-
|
|
4186
|
-
|
|
4187
|
-
|
|
4324
|
+
/* if (Environment.environmentType === EnvironmentType.NODE) {
|
|
4325
|
+
const objContent = this.conwayModel.toObj(geometry)
|
|
4326
|
+
|
|
4327
|
+
// Write to the output file
|
|
4328
|
+
fs.writeFileSync(outputFilePath, objContent, 'utf8')
|
|
4329
|
+
} */
|
|
4188
4330
|
}
|
|
4189
4331
|
/**
|
|
4190
4332
|
* Extract the geometry data from the IFC
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const versionString = 'Conway Web-Ifc Shim v0.
|
|
1
|
+
const versionString = 'Conway Web-Ifc Shim v0.23.940';
|
|
2
2
|
export { versionString };
|