mirror of
https://github.com/kennetek/gridfinity-rebuilt-openscad.git
synced 2024-12-22 23:03:28 +00:00
Updated sweep_rounded to match parameters of other functions.
Also added additional assertions.
This commit is contained in:
parent
a13f52676f
commit
fa51cd0e7e
3 changed files with 16 additions and 6 deletions
|
@ -321,7 +321,7 @@ module baseplate_lip(height=0, width=l_grid, length=l_grid) {
|
||||||
|
|
||||||
additional_height = height + BASEPLATE_CLEARANCE_HEIGHT;
|
additional_height = height + BASEPLATE_CLEARANCE_HEIGHT;
|
||||||
|
|
||||||
sweep_rounded(width-2*BASEPLATE_OUTSIDE_RADIUS, length-2*BASEPLATE_OUTSIDE_RADIUS)
|
sweep_rounded([width-2*BASEPLATE_OUTSIDE_RADIUS, length-2*BASEPLATE_OUTSIDE_RADIUS])
|
||||||
translate([translation_x, additional_height, 0])
|
translate([translation_x, additional_height, 0])
|
||||||
polygon(concat(BASEPLATE_LIP, [
|
polygon(concat(BASEPLATE_LIP, [
|
||||||
[0, -additional_height],
|
[0, -additional_height],
|
||||||
|
|
|
@ -324,7 +324,7 @@ module block_base(hole_options, off=0, size=[BASE_SIZE, BASE_SIZE], thumbscrew=f
|
||||||
render(convexity = 2)
|
render(convexity = 2)
|
||||||
difference() {
|
difference() {
|
||||||
union() {
|
union() {
|
||||||
sweep_rounded(base_profile_size.x, base_profile_size.y)
|
sweep_rounded(base_profile_size)
|
||||||
translate([translation_x, 0, 0])
|
translate([translation_x, 0, 0])
|
||||||
polygon(BASE_PROFILE);
|
polygon(BASE_PROFILE);
|
||||||
|
|
||||||
|
@ -448,7 +448,7 @@ module profile_wall2(height_mm) {
|
||||||
|
|
||||||
module block_wall(gx, gy, l) {
|
module block_wall(gx, gy, l) {
|
||||||
translate([0,0,h_base])
|
translate([0,0,h_base])
|
||||||
sweep_rounded(gx*l-2*r_base-0.5-0.001, gy*l-2*r_base-0.5-0.001)
|
sweep_rounded([gx*l-2*r_base-0.5-0.001, gy*l-2*r_base-0.5-0.001])
|
||||||
children();
|
children();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -175,11 +175,21 @@ function affine_scale(vector) = [
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Create a rectangle with rounded corners by sweeping a 2d object along a path.
|
* @brief Create a rectangle with rounded corners by sweeping a 2d object along a path.
|
||||||
* Centered on origin.
|
* @Details Centered on origin.
|
||||||
|
* Result is on the X,Y plane.
|
||||||
|
* Expects children to be a 2D shape in Quardrant 1 of the X,Y plane.
|
||||||
|
* @param size Dimensions of the resulting object.
|
||||||
|
* Either a single number or [width, length]
|
||||||
*/
|
*/
|
||||||
module sweep_rounded(width=10, length=10) {
|
module sweep_rounded(size) {
|
||||||
assert(width > 0 && length > 0);
|
assert((is_num(size) && size > 0) || (
|
||||||
|
is_list(size) && len(size) == 2 &&
|
||||||
|
is_num(size.x) && size.x > 0 && is_num(size.y) && size.y > 0
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
width = is_num(size) ? size : size.x;
|
||||||
|
length = is_num(size) ? size : size.y;
|
||||||
half_width = width/2;
|
half_width = width/2;
|
||||||
half_length = length/2;
|
half_length = length/2;
|
||||||
path_points = [
|
path_points = [
|
||||||
|
|
Loading…
Reference in a new issue