|
Namazu for hns による簡易全文検索 詳しくは 詳細指定/ヘルプを参照して下さい |
|||||||||||||||||||||||||||||||||||||||||||||||
2024年02月15日(木) 旧暦 [n年日記] [更新:"2024/02/15 03:30:25"]#1 [openscad] curved star cone
Download STL format, for Save Link as
![]()
module base (R, X, theta, z) {
polyhedron(
points = [
[ 0, 0, 0], // 0
[ cos (theta) * X * R,
sin (theta) * X * R, -z], // 1
[ R, 0, -z], // 2
[ cos (theta) * X * R,
- sin (theta) * X * R, -z], // 3
[ 0, 0, 0], // 4
[ cos (theta) * X * R,
- sin (theta) * X * R, z], // 5
[ R, 0, z], // 6
[ cos (theta) * X * R,
sin (theta) * X * R, z], // 7
],
faces = [
[0, 1, 2, 3, 0],
[4, 5, 6, 7, 4],
[0, 1, 7, 4],
[1, 2, 6, 7],
[3, 2, 6, 5],
[0, 3, 5, 4],
]
);
}
delta_y = 5; // step of vertical angle
end = 90; //
R = 100 ; // Radius
X = 0.5; // ratio outer:inner
theta = 40.0; // center angle of 1/8 unit
z = 0.1 ; // hull hackgin thickness
// base shape
module rotate_base( R, X, theta, i) {
rotate([0, - i , 0]) base (R, X, theta * (1 - i/90), z);
}
module rough_shape ( delta_y, R, X ) {
// ----------------------------------
// repeat 8 times over horizontal plane
// ----------------------------------
for ( angle = [0:45:315] ) {
rotate([0, 0, angle])
for ( i = [0:delta_y:end]) {
hull(){
rotate_base( R, X, theta, i-5);
rotate_base( R, X, theta, i+5);
}
}
}
}
outer_boundary = 1000;
intersection() {
rough_shape ( delta_y, R, X );
// to cut the small part below zero-height plane, prepare large box
translate([0,0, outer_boundary/2])
cube (size = outer_boundary, center=true);
}
basement_size = 500; // 500 um
thickness = 1;
cube([ basement_size, basement_size, thickness], center = true);
( Post message... )
|
最近の日記 2024年11月14日 ・DWL66+ 2018 405 nm 2024年02月19日 ・another (large, 0.55 x 1.0 m/m) version for contrast curve 2024年02月15日 ・curved star cone 2024年02月13日 ・paraboloid with base plane 2024年02月09日 ・bit map format for contrast curve | ||