メインコンテンツまでスキップ

書きたいものから引く

書きたいものが決まっているときの索引である。左から「やりたいこと」を探し、右の例のファイルを開いて、その形を写す。同梱の例はすべて koyu check が通る実物なので、写した形は動く。

記法そのものの規定は記法リファレンスにある。この頁が持つのはどこに実物があるかだけである。

平面を割る

やりたいこと書き方実物
室を並べるspace <パス> <型> X1..X2 Y1..Y2examples/two-rooms.muro
L字・凸型の室領域を + で繋ぐexamples/house.muro/home/ldk
室のあいだの壁boundary を一行。書かなくても既定で壁が立つ (ただし通れない)examples/two-rooms.muro
扉・窓を吊る境界に字下げで door / windowexamples/two-rooms.muro
開口の位置を指定at:0.75 (比率) / at:X2+600 (通り芯基準)examples/office.muro / examples/house/L1.muro
外部への開口で辺を選ぶedge:N / edge:E / edge:S / edge:Wexamples/two-rooms.muro
位置ではなく寸法と並びで割るband + 字下げの spaceexamples/tower/typical.muro / examples/complex/hotel.muro
斜めに切る境界に字下げで lineexamples/complex/L1.muro
室を割らずに床材だけ変える空間に字下げで areaexamples/office.muro/L1/hall
一本の壁の一部だけ材料を変える境界に字下げで segexamples/office.muro
建具の型を一箇所にまとめるasset を宣言し、開口が名前で参照examples/house/assets.muro

階を積む

やりたいこと書き方実物
階を宣言するlevel L1 0 h:2400 slab:150examples/two-rooms.muro
等差の階を一行でlevel L3..L9 6700 pitch:2900 h:2400 slab:500examples/mansion.muro
最上階の上限を与える空間を持たない level Rexamples/office.muro
基準階を一度だけ書くパスの先頭を /L2..L9/ にするexamples/mansion.muro
例外階を差分で書く基準階の層とは別のファイルに、違うところだけ書くexamples/tower/L3.muro
階がパスから読めないとき空間に level:L1examples/house.muro
一室だけ天井を高くする空間に h:6700examples/office.muro/L1/hall
地下を書くlevel B1 -3700 … underground:1examples/basement/main.muro
客の階数に現れない機械階独立した level M1 を挟むexamples/twin/main.muro

縦に繋ぐ

床は書かない。上下に重なる空間には既定で床がある。書くのは例外だけである。

やりたいこと書き方実物
階段で繋ぐboundary /L1/stair /L2/stair type:stairexamples/office.muro
通れないシャフトtype:shaftexamples/office.muro
床を抜く (吹抜け)type:void と、void 型の空間examples/office.muro
何層にもわたる縦動線を一括でstack ev L1..L10 type:shaftexamples/mansion.muro
階段の段数・踏面を出す空間に stair:N form:return と書き、runs に訊くexamples/basement/main.muro
斜路空間に ramp:E form:return slope:6examples/basement/main.muro
エスカレーター空間に escalator:N、繋ぎは type:stairexamples/complex/L1.muro
昇降機空間に lift:1、繋ぎは type:shaftexamples/basement/main.muro
何層も貫くアトリウムstack atrium L1..L5 type:voidexamples/complex/main.muro
EVの通過階を表すシャフトは通し、乗場ホールの空間を置かないexamples/twin/core.muro

外・敷地・外構

やりたいこと書き方実物
外部を作るspace /out exterior name:外部 (領域は要らない)examples/two-rooms.muro
外部を方角ごとに割る/out/n /out/e … と複数の exteriorexamples/house.muro
道路space /road-s exterior road:22000examples/complex/site.muro
敷地zone /site … site:1 (測量値は area:)examples/house.muro
敷地形状polygon /site x,y x,y …examples/tower/site-geometry.muro
庭・通路を実在の空間にするL1 上の exterior / yard / garden が建物の周りをタイルするexamples/house/site.muro
塀・フェンス境界に spec:ブロック塀 air:1examples/house.muro
バルコニーを半屋外にする外部に対して air:1 の境界を一本持たせるexamples/mansion.muro
接道長を出す敷地配下の空間と road: を持つ外部を境界で接するexamples/tower/site.muro

大きさを畳む

やりたいこと書き方実物
同じ階が何層も続くパスの先頭を /L7..L13/examples/complex/office.muro
同じ割付を地下2層に/B2..B1/examples/basement/main.muro
コアを地下から最上階まで/B2..L19/ の空間9行examples/complex/core.muro
客室・テナント区画を並べるband に幅を並べるexamples/complex/hotel.muro
幅の合計を検算させるw:rest を使わない閉じた帯にするexamples/tower/typical.muro
柱を立てるcolumn 900 B2..L6 (位置は書かない)examples/complex/main.muro

ファイルを分ける

やりたいこと書き方実物
層に分けて分担するbase 層で import ./L1.muroexamples/house/main.muro
どこまでを base 層が持つかkoyu / name / unit / grid / level、そして階を跨ぐ境界examples/tower/main.muro
所与のジオメトリを隔離する敷地形状だけの層を作るexamples/tower/site-geometry.muro
層の強さを見るkoyu layers
上の層で値を上書きするover / drop同梱の例では使っていない
単一ファイルと合成版が同じか確かめるkoyu diffexamples/house.muroexamples/house/main.muro

数える・問う

訊きたいことコマンド実物
構成が壊れていないかcheckすべての例
建築的におかしくないかvalidateすべての例
面積・用途別の比率statsoffice / twin
外へ出るのに扉は何枚かdoorstwo-rooms / mansion
隣接の全体graphtwo-rooms
矩計 (高さの積み上がり)levelsoffice / basement
段数・踏面・勾配runsbasement / complex
採光lightmansion / tower
敷地・建蔽率・容積率・接道sitehouse / twin
平面図planすべての例
立体axocomplex / twin
機械形式jsonexamples/two-rooms.canonical.json

難度で選ぶなら

同梱の建物の表に規模が並んでいる。おおむね two-rooms → office → house → basement → mansion → tower → complex → twin の順に積み上がる。