brepjs-bim 0.1.0 → 0.3.0
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 +25 -2
- package/dist/brepjs-bim.cjs +984 -459
- package/dist/brepjs-bim.js +987 -464
- package/dist/elementFns/placedGeometry.d.ts +18 -0
- package/dist/identity/ifcGuid.d.ts +1 -0
- package/dist/ifc-writer/geometryWriter.d.ts +4 -1
- package/dist/ifc-writer/ifcWriter.d.ts +5 -1
- package/dist/ifc-writer/railingWriter.d.ts +9 -3
- package/dist/ifcRuntime.d.ts +20 -0
- package/dist/import/placement.d.ts +18 -0
- package/dist/index.d.ts +3 -0
- package/dist/model/bimModel.d.ts +8 -0
- package/dist/model/treeSummary.d.ts +21 -0
- package/dist/specs/profile.d.ts +2 -0
- package/dist/specs/railingSpec.d.ts +6 -0
- package/dist/specs/roofSpec.d.ts +7 -0
- package/package.json +27 -6
package/README.md
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
# brepjs-bim
|
|
2
2
|
|
|
3
|
-
> Experimental,
|
|
3
|
+
> Experimental satellite package, published to npm. Early-stage — the API may change.
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npm install brepjs-bim
|
|
7
|
+
```
|
|
4
8
|
|
|
5
9
|
A BIM (Building Information Modeling) layer for [brepjs](https://github.com/andymai/brepjs). It
|
|
6
10
|
authors IFC4-aligned parametric building elements (walls, slabs, beams, columns, roofs, curtain
|
|
@@ -17,10 +21,17 @@ useful downstream (psets, classification, materials, quantities), with import, e
|
|
|
17
21
|
validation. Geometry is produced by brepjs (OCCT); each element carries a `ValidSolid` (or, for
|
|
18
22
|
curtain walls, a panel/mullion grid). Element geometry is **unplaced template geometry** in local
|
|
19
23
|
coordinates — placement (`origin` / `axisX` / `axisZ`) is applied by the IFC layer via
|
|
20
|
-
`IfcLocalPlacement`, not baked into the brepjs solid.
|
|
24
|
+
`IfcLocalPlacement`, not baked into the brepjs solid. Use `placedSolids(element)` to read an
|
|
25
|
+
element's geometry already transformed to its world placement as fresh, caller-owned solids
|
|
26
|
+
(stairs return one solid per flight) — handy for display so the on-screen scene matches the IFC
|
|
27
|
+
export.
|
|
21
28
|
|
|
22
29
|
- Units default to mm; IFC export emits SI metres.
|
|
23
30
|
- Stable identity: deterministic IFC GUIDs (`deriveIfcGuid`) and local id counters.
|
|
31
|
+
- Shaped geometry: roofs build real shed/gable/hip/dome solids when `pitch` is set (flat slab
|
|
32
|
+
otherwise); railings build posts + top/bottom rails with `infill: 'POSTED'` (a single swept panel
|
|
33
|
+
otherwise). Shaped roofs and posted railings serialize to IFC as tessellated bodies; flat roofs
|
|
34
|
+
and panel railings keep their parametric `IfcExtrudedAreaSolid`.
|
|
24
35
|
|
|
25
36
|
## Status
|
|
26
37
|
|
|
@@ -37,6 +48,18 @@ coordinates — placement (`origin` / `axisX` / `axisZ`) is applied by the IFC l
|
|
|
37
48
|
| Validation | referential integrity, schema check, geometry validity, IFC round-trip report |
|
|
38
49
|
| Interop | COBie 2.4 export (CSV/JSON), IDS 1.0 checking, BCF 3.0 read/write |
|
|
39
50
|
|
|
51
|
+
### Independent validation
|
|
52
|
+
|
|
53
|
+
The exported IFC is validated by **IfcOpenShell** (a separate implementation from the
|
|
54
|
+
web-ifc parser used internally), not just self-checked. The committed sample
|
|
55
|
+
(`examples/sample-building.ifc`) passes IfcOpenShell's EXPRESS schema + where-rule
|
|
56
|
+
validator and generates geometry for every product. See [VALIDATION.md](./VALIDATION.md)
|
|
57
|
+
to reproduce, and `examples/sampleBuilding.mjs` for the model it validates.
|
|
58
|
+
|
|
59
|
+
> **Not yet:** the official buildingSMART Validation Service and desktop-tool
|
|
60
|
+
> interop (Revit / ArchiCAD / Solibri) are unverified. This is an early-stage
|
|
61
|
+
> (`0.1.x`) experimental package and the API will change.
|
|
62
|
+
|
|
40
63
|
## Usage
|
|
41
64
|
|
|
42
65
|
Author a small model and export IFC:
|