 |
CLIP Score: 24.16
openscad
// Define the parameters for the design
base_width = 100;
base_height = 30;
receiver_width = 120;
receiver_height = 20;
dial_diameter = 25;
dial_hole_diameter = 3;
// Draw the phone base
module draw_base() {
square([base_width, base_height], center = true);
}
// Draw the receiver
module draw_receiver() {
translate([0, base_height/2 + receiver_height/2 + 5])
square([receiver_width, receiver_height], center = true);
}
// Draw the rotary dial
module draw_dial() {
translate([0, -base_height/4])
circle(d = dial_diameter);
}
// Draw the rotary dial holes
module draw_dial_holes() {
for (i = [0:9]) {
angle = 360/10 * i + 18; // Rotate to position holes evenly
translate([
(dial_diameter/2 - 5) * cos(angle),
(dial_diameter/2 - 5) * sin(angle) - base_height/4
])
circle(d = dial_hole_diameter);
}
}
// Main program
draw_base();
draw_receiver();
draw_dial();
draw_dial_holes();
|
Please generate a 2D CAD file in OpenSCAD for old-school telephone
Sure! Here's a simple OpenSCAD script to create a 2D representation of an old-school telephone. In this design, the telephone is represented from a front view with basic shapes to mimic the traditional rotary dial telephone.
```openscad
// Define the parameters for the design
base_width = 100;
base_height = 30;
receiver_width = 120;
receiver_height = 20;
dial_diameter = 25;
dial_hole_diameter = 3;
// Draw the phone base
module draw_base() {
square([base_width, base_height], center = true);
}
// Draw the receiver
module draw_receiver() {
translate([0, base_height/2 + receiver_height/2 + 5])
square([receiver_width, receiver_height], center = true);
}
// Draw the rotary dial
module draw_dial() {
translate([0, -base_height/4])
circle(d = dial_diameter);
}
// Draw the rotary dial holes
module draw_dial_holes() {
for (i = [0:9]) {
angle = 360/10 * i + 18; // Rotate to position holes evenly
translate([
(dial_diameter/2 - 5) * cos(angle),
(dial_diameter/2 - 5) * sin(angle) - base_height/4
])
circle(d = dial_hole_diameter);
}
}
// Main program
draw_base();
draw_receiver();
draw_dial();
draw_dial_holes();
```
### Explanation
1. **draw_base** : Draws the rectangular base of the phone.
2. **draw_receiver** : Draws the rectangular receiver of the phone and places it above the base.
3. **draw_dial** : Draws a large circle to represent the rotary dial.
4. **draw_dial_holes** : Draws the smaller circles arranged in a circle to represent the dial holes.
You can copy this script into OpenSCAD to view and modify it as needed. This is a simplified geometric representation of an old-school telephone, and can be further detailed based on your needs.
|