 |
CLIP Score: 27.25
scad
// 2D Old-school Telephone Shape
module old_school_telephone() {
difference() {
union() {
// Main body
rounded_rectangle([140, 80], 10);
// Handset
translate([70, 80]) rotate(15) rounded_rectangle([120, 20], 5);
translate([-50, 90]) rotate(-15) rounded_rectangle([120, 20], 5);
// Rotary dial
translate([70, 40]) circle(20);
translate([70, 40]) circle(10);
}
// Dial holes
for (i = [0:9]) {
rotate(i*36) translate([70, 40]) translate([27, 0]) circle(4);
}
}
}
module rounded_rectangle(size, radius) {
hull() {
translate([radius, radius]) circle(radius);
translate([size[0] - radius, radius]) circle(radius);
translate([radius, size[1] - radius]) circle(radius);
translate([size[0] - radius, size[1] - radius]) circle(radius);
}
}
// Draw the old-school telephone
old_school_telephone();
|
Please generate a 2D CAD file in OpenSCAD for old-school telephone
Creating a detailed and accurate 2D CAD file for an old-school telephone in OpenSCAD involves several steps. Below is a basic example, aiming to provide the overall shape of a classic rotary telephone. For a professional and more detailed design, you would need to refine the shapes and add more details.
Here's a simple OpenSCAD script for a 2D design of an old-school telephone:
```scad
// 2D Old-school Telephone Shape
module old_school_telephone() {
difference() {
union() {
// Main body
rounded_rectangle([140, 80], 10);
// Handset
translate([70, 80]) rotate(15) rounded_rectangle([120, 20], 5);
translate([-50, 90]) rotate(-15) rounded_rectangle([120, 20], 5);
// Rotary dial
translate([70, 40]) circle(20);
translate([70, 40]) circle(10);
}
// Dial holes
for (i = [0:9]) {
rotate(i*36) translate([70, 40]) translate([27, 0]) circle(4);
}
}
}
module rounded_rectangle(size, radius) {
hull() {
translate([radius, radius]) circle(radius);
translate([size[0] - radius, radius]) circle(radius);
translate([radius, size[1] - radius]) circle(radius);
translate([size[0] - radius, size[1] - radius]) circle(radius);
}
}
// Draw the old-school telephone
old_school_telephone();
```
### Explanation of the Code:
1. **Module Definition (`old_school_telephone`)**:
- This module combines various shapes to represent an old-school telephone.
2. **Main Body**:
- A `rounded_rectangle` is used to create the main body of the telephone.
3. **Handset**:
- Two rectangles with rounded corners are translated and rotated to resemble the handset on top of the telephone.
4. **Rotary Dial**:
- Circles are used to create the rotary dial, and smaller circles are subtracted to form the visible holes.
5. **Subtractive Features**:
- A `difference` operation is used to subtract various smaller circles representing the number holes on the rotary dial.
6. **Helper Function (`rounded_rectangle`)**:
- A helper function to draw rectangles with rounded corners using the hull operation, providing a smoother appearance.
Save the above code into a file with the `.scad` extension, and you can open it using OpenSCAD to view and further refine the design according to your specifications.
|