 |
CLIP Score: 34.0
from AIDL import *
def vintage_camera(body_width: float = 6*inches, body_height: float = 4*inches, lens_radius: float = 1.5*inches):
camera = Solid()
lens_mount = Solid(shift=(0, -body_height/4))
viewfinder = Solid(shift=(body_width/4, body_height/3))
details = Drawing()
camera.lens_mount = lens_mount
camera.viewfinder = viewfinder
camera.details = details
# Define the body of the camera
camera.body = RoundedRectangle((0, 0), body_width, body_height, corner_radius=0.5*inch)
# Define the lens mount as concentric circles
lens_mount.outer_ring = Circle((0, 0), lens_radius)
lens_mount.middle_ring = Circle((0, 0), lens_radius * 0.7)
lens_mount.inner_ring = Circle((0, 0), lens_radius * 0.4)
# Define the viewfinder as a small rectangle
viewfinder.frame = Rectangle((0, 0), body_width/4, body_height/6)
# Add some details using Drawing
details.label = Line((-body_width/2 + 0.5*inch, body_height/2 - 0.25*inch),
(-body_width/2 + 2*inch, body_height/2 - 0.25*inch))
details.focus_ring = Line((-1.5*inch, -body_height/4 - lens_radius - 0.1*inch),
(1.5*inch, -body_height/4 - lens_radius - 0.1*inch))
return camera
with AIDL_2D:
model = vintage_camera()
print(model.Solve())
model.Render()
|
Please write an AIDL program to generate a vintage camera
Sure, let's create a simple model for a vintage camera. I'll design it in segments: the main body, a lens, a viewfinder, and some details.
Here is a basic plan:
- **Main Body**: A simple rectangle or rounded rectangle to represent the body of the camera.
- **Lens**: A series of concentric circles to represent the lens and its mounting.
- **Viewfinder**: A smaller rectangle on top of the main body to represent the viewfinder.
Let me start by setting up the main body of the camera.
```python
from AIDL import *
def vintage_camera(body_width: float = 6*inches, body_height: float = 4*inches, lens_radius: float = 1.5*inches):
camera = Solid()
lens_mount = Solid(shift=(0, -body_height/4))
viewfinder = Solid(shift=(body_width/4, body_height/3))
details = Drawing()
camera.lens_mount = lens_mount
camera.viewfinder = viewfinder
camera.details = details
# Define the body of the camera
camera.body = RoundedRectangle((0, 0), body_width, body_height, corner_radius=0.5*inch)
# Define the lens mount as concentric circles
lens_mount.outer_ring = Circle((0, 0), lens_radius)
lens_mount.middle_ring = Circle((0, 0), lens_radius * 0.7)
lens_mount.inner_ring = Circle((0, 0), lens_radius * 0.4)
# Define the viewfinder as a small rectangle
viewfinder.frame = Rectangle((0, 0), body_width/4, body_height/6)
# Add some details using Drawing
details.label = Line((-body_width/2 + 0.5*inch, body_height/2 - 0.25*inch),
(-body_width/2 + 2*inch, body_height/2 - 0.25*inch))
details.focus_ring = Line((-1.5*inch, -body_height/4 - lens_radius - 0.1*inch),
(1.5*inch, -body_height/4 - lens_radius - 0.1*inch))
return camera
with AIDL_2D:
model = vintage_camera()
print(model.Solve())
model.Render()
```
This creates a basic vintage camera structure with a rounded rectangle body, a lens composed of three concentric circles, a small rectangular viewfinder on top, and some simple drawing lines to represent camera details.
Please let me know if you'd like to add more features or details, or if there are any adjustments you would like to make!
|