bimtex
Start

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.

Compiling drawing set…

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