BIMR is a text-based Building Information Modeler.
Two ways to write
|
Python mode
|
This is where you can express the design logic using BIMR's high-level entities.
|
|
Bimr mode
|
This is the output generated by Python. It is a microlanguage used by BIMR to build the model.
|
Commands
| Ctrl+Enter / Ctrl+E | Run the current script |
| Ctrl+H | Open this help window |
| realtime button | Toggle auto-run on every keystroke |
| File > New | Erase current file or open a new tab |
| File > Open | Load a local .py or .bimr script into the editor |
| File > Save | Save the Python, Bimr or Ifcx buffer as a file |
| File > Rename | Rename the current file |
| File > Load | Fetch a script from a Forge or GitHub URL |
Geometry
| Point(x, y, z) | A 3D point |
| Line(p1, p2) | Line between two Points |
| Circle(center, radius) | Circle from center Point and a radius |
| Curve(ctrl) | Closed Catmull-Rom spline through a List of Points |
| Vector(x, y, z) | A 3D vector |
Lists & operators
| List(items) | A list of entities or values |
| Divide(source, n) | n divided points on a Line or Curve (parametric record) |
| Cut(source, n) | Cut a Curve into n line pieces (parametric record) |
| Explode(source) | A Line to its endpoints; a List of Lines (or a Cut) to pairs of Points |
| Random(source, seed, min, max, dims=2) | Seeded displacement of a List of Points; dims=2 keeps the elevation |
Architecture
| Wall(line, thickness=20, height=300) | Wall along a Line |
| Column(base, height, w, h) | Column at a Point; lifts over a List — one column per point |
| Slab(source, thickness, elevation) | Slab over a closed profile |
| Frame(origin, end, w, h, d, tk) | Frame between two Points; lifts over a List of pairs (an Explode result) |
| Extrusion(profile, vec) | Extrude a List of Lines (or a Cut) along a Vector |
| Storey(elevation, entities) | Datum elevation gathering entities (frames, columns, a slab) |
| Building(name, storeys) | Named gathering of Storeys |
| Project(name).build() | Compile the buffered model to IFCX |