 |
CLIP Score: 30.48
from AIDL import *
def house_elevation(
house_width: float = 40 * feet,
house_height: float = 25 * feet,
garage_width: float = 20 * feet,
garage_height: float = 15 * feet,
window_width: float = 4 * feet,
window_height: float = 6 * feet,
door_width: float = 3 * feet,
door_height: float = 7 * feet
):
"""
Model an architect's elevation of a residential house with garage and windows.
"""
# Define the main structure node for the house elevation
house_elevation = Solid()
# Step 1: Define the Basic Structure of the House
# Create main house block
house = Solid(shift=(0, house_height / 2))
house_elevation.house = house
house.main_block = Rectangle((0, 0), house_width, house_height)
# Create garage block
garage = Solid(shift=(-house_width / 4, house_height / 4 - garage_height / 2))
house_elevation.garage = garage
garage.block = Rectangle((0, 0), garage_width, garage_height)
# Step 2: Add Windows to the House
windows = Solid()
house.windows = windows
# Add windows to the main house block
window1 = Rectangle((house_width / 4, house_height / 2 - window_height / 2), window_width, window_height)
window2 = Rectangle((house_width / 4, -house_height / 2 + window_height / 2), window_width, window_height)
window3 = Rectangle((house_width / 2 - window_width, 0), window_width, window_height)
windows.all_windows = [window1, window2, window3]
# Step 3: Add Doors to the House
doors = Solid()
house_elevation.doors = doors
# Main entrance door
main_entrance = Rectangle((0, -house_height / 2 + door_height / 2), door_width, door_height)
doors.main_entrance = main_entrance
# Garage door
garage_door = Rectangle((0, 0), garage_width * 0.75, garage_height)
garage.main_door = garage_door
# Step 4: Add Details for Aesthetic Purposes
details = Drawing()
house_elevation.details = details
# Add ground line
details.ground_line = Line((-house_width / 2 - garage_width / 2, -house_height / 2), (house_width / 2, -house_height / 2))
return house_elevation
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
Absolutely, I can help with that! Let's break down the task into smaller steps to create an architect's elevation for a residential house with a garage and windows.
### Step 1: Define the Basic Structure of the House
We'll start by defining the primary structure of the house, including the main house block and the garage.
### Step 2: Add Windows to the House
We'll then add rectangular windows to different parts of the house.
### Step 3: Add Doors to the House
Include the main entrance door and a garage door.
### Step 4: Add Details for Aesthetic Purposes
We'll add some extra details to make the elevation look more realistic and professional.
Let's start by writing the code for Step 1:
```python
from AIDL import *
def house_elevation(
house_width: float = 40 * feet,
house_height: float = 25 * feet,
garage_width: float = 20 * feet,
garage_height: float = 15 * feet,
window_width: float = 4 * feet,
window_height: float = 6 * feet,
door_width: float = 3 * feet,
door_height: float = 7 * feet
):
"""
Model an architect's elevation of a residential house with garage and windows.
"""
# Define the main structure node for the house elevation
house_elevation = Solid()
# Step 1: Define the Basic Structure of the House
# Create main house block
house = Solid(shift=(0, house_height / 2))
house_elevation.house = house
house.main_block = Rectangle((0, 0), house_width, house_height)
# Create garage block
garage = Solid(shift=(-house_width / 4, house_height / 4 - garage_height / 2))
house_elevation.garage = garage
garage.block = Rectangle((0, 0), garage_width, garage_height)
# Step 2: Add Windows to the House
windows = Solid()
house.windows = windows
# Add windows to the main house block
window1 = Rectangle((house_width / 4, house_height / 2 - window_height / 2), window_width, window_height)
window2 = Rectangle((house_width / 4, -house_height / 2 + window_height / 2), window_width, window_height)
window3 = Rectangle((house_width / 2 - window_width, 0), window_width, window_height)
windows.all_windows = [window1, window2, window3]
# Step 3: Add Doors to the House
doors = Solid()
house_elevation.doors = doors
# Main entrance door
main_entrance = Rectangle((0, -house_height / 2 + door_height / 2), door_width, door_height)
doors.main_entrance = main_entrance
# Garage door
garage_door = Rectangle((0, 0), garage_width * 0.75, garage_height)
garage.main_door = garage_door
# Step 4: Add Details for Aesthetic Purposes
details = Drawing()
house_elevation.details = details
# Add ground line
details.ground_line = Line((-house_width / 2 - garage_width / 2, -house_height / 2), (house_width / 2, -house_height / 2))
return house_elevation
with AIDL_2D:
model = house_elevation()
print(model.Solve())
model.Render()
```
### Explanation
1. **Basic Structure**: Created the main house block and the garage block using `Rectangle`.
2. **Windows**: Added three windows to the house elevation.
3. **Doors**: Added the main entrance door and the garage door.
4. **Details**: Added a ground line for aesthetic purposes.
You can modify the dimensions and number of windows and doors as needed. If you'd like to add more details or adjust the design, let me know!
|