Releases
v0.9.0
v0.9.0: Spatial Programming, 2D Fit Solver, 5-Layer Audit Matrix & Auto-Framing Engine
Compare
Sorry, something went wrong.
No results found
What's Changed in debim v0.9.0
🏛️ 1. Human Scale Furniture Variables & Clearance Envelopes (Wave 1 - #468 )
Declare standard architectural furniture dimensions and human activity clearance envelopes under variables:.
Supports CLEARANCE_BED, CLEARANCE_DESK, CLEARANCE_DINING, CLEARANCE_WARDROBE, and sanitary units.
📐 2. Programmatic Space Scopes & Auto-Sizing (Wave 2 - #470 )
IfcSpace consumes declared variable references (contains: [ref: ...]).
Automatically computes minimum net required area using the architect formula:
$$\text{Required Area} = \left(\sum \text{Footprint of Contained Items}\right) \times 1.30$$
⚡ 3. Pre-flight 2D Geometric Furniture Fit Solver (Wave 3 - #472 )
Exposes CLI command debim fit -m <project.debim> with instant (< 0.01s) Pass/Fail verification.
Pure-Python / NumPy 2D Bounding Box packing and Separating Axis Theorem (SAT) collision checking.
Verifies walkway connectivity (min 0.60m corridor) between space entrance and functional envelopes.
🛡️ 4. 5-Layer Architectural & Engineering Audit Matrix & Flight Recorder (Wave 4 - #474 )
Exposes CLI command debim audit -m <project.debim> [--fix].
5 Verification Layers:
Spatial & Functional : Net area compliance, non-overlapping furniture clearance, 2.60m clear head-room.
Legal & Life Safety : Thai Building Act MR 55 (ventilation >= 10%, bathroom drop <= -0.10m, stair treads/risers).
Structural Load Continuity : Column continuous vertical stack, beam supporting walls, roof-to-foundation load path.
MEP Flow & Gravity : Sanitary drain slope >= 1:100, vent stacks to exterior, zero MEP-structural collisions.
Constructability & Clashes : Zero hard clashes between Arch, Struct, and MEP.
Actionable Structured Remediation proposals with automated fix suggestions.
Telemetry Flight Recorder exporting audit_log.json and human-readable audit_report.md.
🧩 5. Touching Spaces Relative Syntax & Auto-Derivation Engine (Wave 5 - #476 )
Model buildings simply by declaring how spaces touch each other: touching: { target: str, side: NORTH|SOUTH|EAST|WEST, align: LEFT|RIGHT|CENTER|TOP|BOTTOM }.
Exposes CLI command debim derive -m <floorplan.debim> -o <project.debim>.
Automatically derives:
Shared touching boundary -> internal IfcWall
Exterior boundary -> exterior IfcWall + IfcWindow
Must-connect spaces -> centered IfcDoor
Touching corner vertices -> IfcColumn
Wall baselines -> IfcBeam and IfcSlab
You can’t perform that action at this time.