 |
CLIP Score: 21.62
openscad
// Function to create a stained glass pane
module stained_glass_panel(width, height, segments){
// Base rectangle (window frame)
color("black") translate([0, 0, -0.1]) cube([width, height, 0.2]);
// Glass colors
colors = ["red", "green", "blue", "yellow", "purple", "orange"];
// Generate random segments of glass
seed = 1;
srand(seed);
for (i = [0:segments-1]) {
glass_color = colors[rands(0, len(colors)-1, 1)[0]];
xpos = rands(0, width-10, 1)[0];
ypos = rands(0, height-10, 1)[0];
glass_width = rands(10, 30, 1)[0];
glass_height = rands(10, 30, 1)[0];
color(glass_color)
translate([xpos, ypos, 0])
cube([glass_width, glass_height, 0.1]);
}
}
// Main window size
window_width = 200;
window_height = 300;
num_segments = 20;
stained_glass_panel(window_width, window_height, num_segments);
|
Please generate a 2D CAD file in OpenSCAD for stained glass window
Creating a stained glass window in OpenSCAD involves generating shapes that can represent different pieces of colored glass. Here's a simple example that demonstrates how you can create a basic stained glass window design using circles and rectangles:
```openscad
// Function to create a stained glass pane
module stained_glass_panel(width, height, segments){
// Base rectangle (window frame)
color("black") translate([0, 0, -0.1]) cube([width, height, 0.2]);
// Glass colors
colors = ["red", "green", "blue", "yellow", "purple", "orange"];
// Generate random segments of glass
seed = 1;
srand(seed);
for (i = [0:segments-1]) {
glass_color = colors[rands(0, len(colors)-1, 1)[0]];
xpos = rands(0, width-10, 1)[0];
ypos = rands(0, height-10, 1)[0];
glass_width = rands(10, 30, 1)[0];
glass_height = rands(10, 30, 1)[0];
color(glass_color)
translate([xpos, ypos, 0])
cube([glass_width, glass_height, 0.1]);
}
}
// Main window size
window_width = 200;
window_height = 300;
num_segments = 20;
stained_glass_panel(window_width, window_height, num_segments);
```
### Explanation:
1. **stained_glass_panel Module**:
- **Parameters**: `width`, `height`, and `segments` represent the dimensions of the window and the number of glass segments respectively.
- A base rectangle is created to represent the window frame, painted black.
- A predefined array of `colors` contains the selected colors for the glass pieces.
- A `for` loop generates random segments (`segments` count) of glass with random colors and positions. Randomness in OpenSCAD is achieved using `rands` and `srand` functions.
2. **Main Window Definition**:
- Define the width, height, and number of glass segments of the stained glass window.
- Call the `stained_glass_panel` module with these parameters.
### Generating the File:
- Save the code with a `.scad` extension, for example, `stained_glass_window.scad`.
- Open the file in OpenSCAD and render it.
You can customize the shapes and complexity by tweaking the `stained_glass_panel` module as per your design preferences.
|