 |
CLIP Score: 30.94
from AIDL import *
def house_elevation(
house_width: float = 40 * feet,
house_height: float = 25 * feet,
garage_width: float = 15 * feet,
garage_height: float = 7.5 * feet,
window_width: float = 3 * feet,
window_height: float = 4 * feet,
num_windows: int = 4
):
"""
Creates an elevation view of a residential house with a garage and windows.
"""
# Define the main structure
house = Solid()
garage = Solid(shift=(-garage_width/2 - house_width/4, -house_height/2 + garage_height/2)) # Position the garage to the left with a little vertical offset
house.garage = garage
# Garage and House alignment
house.AddConstraint(garage.bb.bottom == house.bb.bottom) # Make sure the garage aligns with the house at the bottom
# House body geometry
house.body = Rectangle((0,0), house_width, house_height)
# Garage body geometry
garage.body = Rectangle((0, 0), garage_width, garage_height)
# Adding windows to the house
house.windows = []
window_spacing = house_width / (num_windows + 1)
for i in range(num_windows):
window_position = window_spacing * (i + 1) - house_width/2
window_structure = Solid(shift=(window_position, 0))
house.windows.append(window_structure)
window_structure.window = Rectangle((0,0), window_width, window_height)
# Align windows vertically along the house body
house.AddConstraint(window_structure.bb.vertical_center == house.bb.vertical_center)
return house
# Create and render the model
with AIDL_2D:
model = house_elevation()
print(model.Solve())
model.Render()
|
Please write an AIDL program to generate a architect's elevation of a residential house with garage and windows
Sure, let's proceed by creating an AIDL program for an architect's elevation of a residential house with a garage and windows. We'll follow the step-by-step approach:
1. Define the overall structure and hierarchical relationships.
2. Add constraints between the structures.
3. Define the geometry for each structure.
Here’s a basic outline to get us started:
```python
from AIDL import *
def house_elevation(
house_width: float = 40 * feet,
house_height: float = 25 * feet,
garage_width: float = 15 * feet,
garage_height: float = 7.5 * feet,
window_width: float = 3 * feet,
window_height: float = 4 * feet,
num_windows: int = 4
):
"""
Creates an elevation view of a residential house with a garage and windows.
"""
# Define the main structure
house = Solid()
garage = Solid(shift=(-garage_width/2 - house_width/4, -house_height/2 + garage_height/2)) # Position the garage to the left with a little vertical offset
house.garage = garage
# Garage and House alignment
house.AddConstraint(garage.bb.bottom == house.bb.bottom) # Make sure the garage aligns with the house at the bottom
# House body geometry
house.body = Rectangle((0,0), house_width, house_height)
# Garage body geometry
garage.body = Rectangle((0, 0), garage_width, garage_height)
# Adding windows to the house
house.windows = []
window_spacing = house_width / (num_windows + 1)
for i in range(num_windows):
window_position = window_spacing * (i + 1) - house_width/2
window_structure = Solid(shift=(window_position, 0))
house.windows.append(window_structure)
window_structure.window = Rectangle((0,0), window_width, window_height)
# Align windows vertically along the house body
house.AddConstraint(window_structure.bb.vertical_center == house.bb.vertical_center)
return house
# Create and render the model
with AIDL_2D:
model = house_elevation()
print(model.Solve())
model.Render()
```
In this AIDL program:
- We define the overall structure of the house and its substructures (including the garage and windows).
- We specify the geometry for each part of the elevation (house body, garage body, and windows).
- We use constraints to relate the positions of the garage and windows relative to the main house body.
Feel free to specify additional features or constraints for more complexity or accuracy. Let me know if you would like to add more details or adjust dimensions!
|