What bimtex is
A markup language for buildings. Write what a building is; the compiler draws every sheet.
A set of construction drawings is many views of one building. Eight views means twenty-eight pairs that must agree, and every pair is a chance for the window on the elevation to sit where the section says solid wall.
Ask a model for eight drawings and it produces them one at a time. By the third it has contradicted the first, and it has no way to know.
So bimtex does not generate views.
Generate the building. Derive the views from it. Two views of one model cannot disagree, for the same reason two photographs of one chair cannot disagree about how many legs it has.
Try it
Edit anything below. Delete the roof line. Move the door. Every tab redraws from the same model.
Twelve lines. No coordinates on the walls — "side":"north" is enough,
because where a wall starts and ends is arithmetic, and arithmetic is where
mistakes live. No size on the sofa either; the library knows a sofa.
The second idea
Describe intent, not position.
{"t":"parking","id":"front","x":5,"y":18,"along":"x","count":10,"accessible":2}10 stalls at 2.74 × 5.49 m
2 of them widened to 3.35 m and marked ADA
1 stall-count-per-1,000-sq-ft ratio, printed on the sheet"The north wall is a 300 mm exterior wall" is a sentence a language model gets right. "The north wall runs from (10.0, 15.0) to (26.5, 15.0)" is arithmetic. The schema deliberately keeps the arithmetic on the compiler's side.
Where to go next
Quickstart
Installed and drawing in 60 seconds.
Build a restaurant
One model, ten steps, every step drawn and validated.
Plans are cuts
The rule that generates most of the drawing conventions.
How checking works
What a checker can prove, and what it structurally cannot.
For agents
Bind the wire format instead of describing it.
Prompting a model
Why bimtex never fails loudly, and what to do about it.