These two facades were produced by altering the proportions of the bottom right door. On the left the width is unconstrained, so it stays narrow and a second door fits. On the right the door is locked to a 2:3 ration and the second door no longer fits. Lets look at the file with the change in indicated:
GLobals:
output test.obj
width 10
depth 3
type facade
floors 2 height 3
style test
end
Floor 0:
element door lockAspect
element wall width .5
element window width 2
element wall
element door lockAspect aspect .6666
element wall
element door
end
Floor 1:
height 2
element wall
element window width
element wall width 5
element window width
end
floor 2:
element wall width 3
element window
element wall
element window width 5
end
There are a few stability things going on here. The global number of floors is overridden by the definition of another floor, later there should be tools for selecting which floors to use or repeat. Floor 1 is overriding the global floor height just to prove that it works. Additionally, each element can optionally set fixed width, height, aspect ratio locked default aspect, etc. All of those values have defaults and if left unset have logic to adjust them to the building's needs. Any elements that does not fit in the building width gets ignored and any leftover space gets filled with blank wall.
It is a personal goal to make as many arguments and constraints optional as possible to leave this system as flexible as possible. Next up, filling in those awkward gaps around short elements and getting nonuniform scaling to that bigger elements don't have thicker frames (also maybe vertical alignment options).
No comments:
Post a Comment