 |
CLIP Score: 25.87
openscad
// Boat Profile in 2D
// Hull
hull_length = 200;
hull_height = 50;
hull_thickness = 5;
// Create the hull shape
module hull() {
polygon(points=[
[0, 0],
[hull_length * 0.25, hull_height],
[hull_length * 0.75, hull_height],
[hull_length, 0]
]);
translate([0, -hull_thickness])
polygon(points=[
[0, 0],
[hull_length * 0.25, hull_height + hull_thickness],
[hull_length * 0.75, hull_height + hull_thickness],
[hull_length, 0]
]);
}
// Mast
mast_height = 150;
mast_thickness = 5;
// Create the mast shape
module mast() {
translate([hull_length / 2, hull_height])
linear_extrude(height=mast_thickness)
polygon(points=[
[0, 0],
[mast_thickness, 0],
[mast_thickness / 2, mast_height]
]);
}
// Sail
sail_width = 80;
sail_height = 100;
sail_offset = 10;
// Create the sail shape
module sail() {
translate([(hull_length / 2) + mast_thickness / 2, hull_height + sail_offset])
polygon(points=[
[0, 0],
[sail_width, sail_height],
[-sail_width, sail_height]
]);
}
// Combine modules to form the boat
module boat() {
hull();
mast();
sail();
}
// Display the boat
boat();
|
Please generate a 2D CAD file in OpenSCAD for boat
Creating a detailed 2D design for a boat in OpenSCAD can be quite complex and may require significant simplifications and abstractions. Below is a basic example of a 2D boat profile using basic shapes:
```openscad
// Boat Profile in 2D
// Hull
hull_length = 200;
hull_height = 50;
hull_thickness = 5;
// Create the hull shape
module hull() {
polygon(points=[
[0, 0],
[hull_length * 0.25, hull_height],
[hull_length * 0.75, hull_height],
[hull_length, 0]
]);
translate([0, -hull_thickness])
polygon(points=[
[0, 0],
[hull_length * 0.25, hull_height + hull_thickness],
[hull_length * 0.75, hull_height + hull_thickness],
[hull_length, 0]
]);
}
// Mast
mast_height = 150;
mast_thickness = 5;
// Create the mast shape
module mast() {
translate([hull_length / 2, hull_height])
linear_extrude(height=mast_thickness)
polygon(points=[
[0, 0],
[mast_thickness, 0],
[mast_thickness / 2, mast_height]
]);
}
// Sail
sail_width = 80;
sail_height = 100;
sail_offset = 10;
// Create the sail shape
module sail() {
translate([(hull_length / 2) + mast_thickness / 2, hull_height + sail_offset])
polygon(points=[
[0, 0],
[sail_width, sail_height],
[-sail_width, sail_height]
]);
}
// Combine modules to form the boat
module boat() {
hull();
mast();
sail();
}
// Display the boat
boat();
```
This script uses `polygon` to form the basic shapes of the hull, mast, and sail of the boat. The design is modular, with the `hull`, `mast`, and `sail` defined separately and combined in the `boat` module.
To use this script, copy it into an OpenSCAD environment and render it. The dimensions are adjustable to fit specific needs or design preferences.
|