discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

soften trnsition from bottom to wall

BR
Bob Roos
Sat, Jul 19, 2025 9:40 AM

Hello OpenSCAD,

I would like to soften the transition from bottom to wall with a roundover but I am not at all sure how.

Thank you for your suggestions and help.

Bob

// MB dash pocket tray
// Bob Roos
// July 18, 2025

include <BOSL2/std.scad> //or screws or threading
$fn=72;
Inch=25.4;
LHF = .28;      // Layer height for faster build
LH=.25; // Layer height after 1st layer
FL=.2; // first layer
ShowInside=0; // switch for applying cutout section

Width = 4* Inch*.85;
Depth = 3.0 * Inch;
Height = 1.00 * Inch;
Wall = 2.0;
T = Wall;

Tray3(Rounding=15);

module Tray1(){
difference(){
cuboid([Width,Depth,Height],rounding=T/2,anchor=BOTTOM);
up(T)cuboid([Width-2T,Depth-2T,Height-T],rounding=-T/2,anchor=BOTTOM,edges=TOP);
}
}

module Tray2(Rounding=12){
difference(){
union(){
rect_tube(rounding=Rounding,size=[Width,Depth],h=Height,wall=T) ;
rect_tube(h=T,rounding=Rounding,size=[Width,Depth],wall=Width/2.5);
}
}
}

module Tray3(Rounding=12){
minkowski(){
union(){
rect_tube(rounding=Rounding,size=[Width,Depth],h=Height,wall=T,anchor=BOTTOM) ;
rect_tube(h=T,rounding=Rounding,size=[Width,Depth],wall=Width/2.5,anchor=BOTTOM);
cuboid([Width/3,Depth/3,T],rounding=T/2,anchor=BOTTOM);
}
sphere(d=T*2.5);
}
}

Hello OpenSCAD, I would like to soften the transition from bottom to wall with a roundover but I am not at all sure how. Thank you for your suggestions and help. Bob // MB dash pocket tray // Bob Roos // July 18, 2025 include <BOSL2/std.scad> //or screws or threading $fn=72; Inch=25.4; LHF = .28; // Layer height for faster build LH=.25; // Layer height after 1st layer FL=.2; // first layer ShowInside=0; // switch for applying cutout section Width = 4* Inch*.85; Depth = 3.0 * Inch; Height = 1.00 * Inch; Wall = 2.0; T = Wall; Tray3(Rounding=15); module Tray1(){ difference(){ cuboid([Width,Depth,Height],rounding=T/2,anchor=BOTTOM); up(T)cuboid([Width-2*T,Depth-2*T,Height-T],rounding=-T/2,anchor=BOTTOM,edges=TOP); } } module Tray2(Rounding=12){ difference(){ union(){ rect_tube(rounding=Rounding,size=[Width,Depth],h=Height,wall=T) ; rect_tube(h=T,rounding=Rounding,size=[Width,Depth],wall=Width/2.5); } } } module Tray3(Rounding=12){ minkowski(){ union(){ rect_tube(rounding=Rounding,size=[Width,Depth],h=Height,wall=T,anchor=BOTTOM) ; rect_tube(h=T,rounding=Rounding,size=[Width,Depth],wall=Width/2.5,anchor=BOTTOM); cuboid([Width/3,Depth/3,T],rounding=T/2,anchor=BOTTOM); } sphere(d=T*2.5); } }
AM
Adrian Mariano
Sat, Jul 19, 2025 11:57 AM

Use offset_sweep to create your object.

To use offset_sweep see examples 10 and 12 of the BOSL2 wiki:

https://github.com/BelfrySCAD/BOSL2/wiki/rounding.scad#functionmodule-offset_sweep

On Sat, Jul 19, 2025 at 5:41 AM Bob Roos via Discuss <
discuss@lists.openscad.org> wrote:

Hello OpenSCAD,

I would like to soften the transition from bottom to wall with a roundover
but I am not at all sure how.

Thank you for your suggestions and help.

Bob

// MB dash pocket tray
// Bob Roos
// July 18, 2025

include <BOSL2/std.scad> //or screws or threading
$fn=72;
Inch=25.4;
LHF = .28;      // Layer height for faster build
LH=.25; // Layer height after 1st layer
FL=.2; // first layer
ShowInside=0; // switch for applying cutout section

Width = 4* Inch*.85;
Depth = 3.0 * Inch;
Height = 1.00 * Inch;
Wall = 2.0;
T = Wall;

Tray3(Rounding=15);

module Tray1(){
difference(){
cuboid([Width,Depth,Height],rounding=T/2,anchor=BOTTOM);

up(T)cuboid([Width-2T,Depth-2T,Height-T],rounding=-T/2,anchor=BOTTOM,edges=TOP);
}
}

module Tray2(Rounding=12){
difference(){
union(){
rect_tube(rounding=Rounding,size=[Width,Depth],h=Height,wall=T) ;
rect_tube(h=T,rounding=Rounding,size=[Width,Depth],wall=Width/2.5);
}
}
}

module Tray3(Rounding=12){
minkowski(){
union(){

rect_tube(rounding=Rounding,size=[Width,Depth],h=Height,wall=T,anchor=BOTTOM)
;

rect_tube(h=T,rounding=Rounding,size=[Width,Depth],wall=Width/2.5,anchor=BOTTOM);

         cuboid([Width/3,Depth/3,T],rounding=T/2,anchor=BOTTOM);
        }
     sphere(d=T*2.5);
 }

}


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Use offset_sweep to create your object. To use offset_sweep see examples 10 and 12 of the BOSL2 wiki: https://github.com/BelfrySCAD/BOSL2/wiki/rounding.scad#functionmodule-offset_sweep On Sat, Jul 19, 2025 at 5:41 AM Bob Roos via Discuss < discuss@lists.openscad.org> wrote: > Hello OpenSCAD, > > I would like to soften the transition from bottom to wall with a roundover > but I am not at all sure how. > > Thank you for your suggestions and help. > > Bob > > // MB dash pocket tray > // Bob Roos > // July 18, 2025 > > include <BOSL2/std.scad> //or screws or threading > $fn=72; > Inch=25.4; > LHF = .28; // Layer height for faster build > LH=.25; // Layer height after 1st layer > FL=.2; // first layer > ShowInside=0; // switch for applying cutout section > > Width = 4* Inch*.85; > Depth = 3.0 * Inch; > Height = 1.00 * Inch; > Wall = 2.0; > T = Wall; > > Tray3(Rounding=15); > > module Tray1(){ > difference(){ > cuboid([Width,Depth,Height],rounding=T/2,anchor=BOTTOM); > > up(T)cuboid([Width-2*T,Depth-2*T,Height-T],rounding=-T/2,anchor=BOTTOM,edges=TOP); > } > } > > module Tray2(Rounding=12){ > difference(){ > union(){ > rect_tube(rounding=Rounding,size=[Width,Depth],h=Height,wall=T) ; > rect_tube(h=T,rounding=Rounding,size=[Width,Depth],wall=Width/2.5); > } > } > } > > > module Tray3(Rounding=12){ > minkowski(){ > union(){ > > rect_tube(rounding=Rounding,size=[Width,Depth],h=Height,wall=T,anchor=BOTTOM) > ; > > rect_tube(h=T,rounding=Rounding,size=[Width,Depth],wall=Width/2.5,anchor=BOTTOM); > > cuboid([Width/3,Depth/3,T],rounding=T/2,anchor=BOTTOM); > } > sphere(d=T*2.5); > } > } > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
BR
Bob Roos
Sat, Jul 19, 2025 1:02 PM

Hi Adrian,

Thank you.
 
I also learned about the "half masks".  Very useful
 
Thanks again

Saturday, July 19, 2025, 7:57:27 AM, you wrote:

Use offset_sweep to create your object.  

To use offset_sweep see examples 10 and 12 of the BOSL2 wiki:

On Sat, Jul 19, 2025 at 5:41 AM Bob Roos via Discuss discuss@lists.openscad.org wrote:

Hello OpenSCAD,

I would like to soften the transition from bottom to wall with a roundover but I am not at all sure how.

Thank you for your suggestions and help.

Bob

// MB dash pocket tray
// Bob Roos
// July 18, 2025

include <BOSL2/std.scad> //or screws or threading
$fn=72;
Inch=25.4;
LHF = .28;      // Layer height for faster build
LH=.25; // Layer height after 1st layer
FL=.2; // first layer
ShowInside=0; // switch for applying cutout section

Width = 4* Inch*.85;
Depth = 3.0 * Inch;
Height = 1.00 * Inch;
Wall = 2.0;
T = Wall;

Tray3(Rounding=15);

module Tray1(){
    difference(){
        cuboid([Width,Depth,Height],rounding=T/2,anchor=BOTTOM);
        up(T)cuboid([Width-2T,Depth-2T,Height-T],rounding=-T/2,anchor=BOTTOM,edges=TOP);
    }
 }

 module Tray2(Rounding=12){
    difference(){
    union(){
        rect_tube(rounding=Rounding,size=[Width,Depth],h=Height,wall=T) ;
        rect_tube(h=T,rounding=Rounding,size=[Width,Depth],wall=Width/2.5);
    }
    }
 }

 module Tray3(Rounding=12){
    minkowski(){
        union(){
            rect_tube(rounding=Rounding,size=[Width,Depth],h=Height,wall=T,anchor=BOTTOM) ;
            rect_tube(h=T,rounding=Rounding,size=[Width,Depth],wall=Width/2.5,anchor=BOTTOM);
            cuboid([Width/3,Depth/3,T],rounding=T/2,anchor=BOTTOM);
           }
        sphere(d=T*2.5);
    }
 }


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

-- 
have Fun,
 Bob                           mailto:roosbob@wybatap.com

Hi Adrian, Thank you.   I also learned about the "half masks".  Very useful   Thanks again Saturday, July 19, 2025, 7:57:27 AM, you wrote: > Use offset_sweep to create your object.   > To use offset_sweep see examples 10 and 12 of the BOSL2 wiki: > https://github.com/BelfrySCAD/BOSL2/wiki/rounding.scad#functionmodule-offset_sweep > On Sat, Jul 19, 2025 at 5:41 AM Bob Roos via Discuss <discuss@lists.openscad.org> wrote: >> Hello OpenSCAD, >> I would like to soften the transition from bottom to wall with a roundover but I am not at all sure how. >> Thank you for your suggestions and help. >> Bob >> // MB dash pocket tray >> // Bob Roos >> // July 18, 2025 >> include <BOSL2/std.scad> //or screws or threading >> $fn=72; >> Inch=25.4; >> LHF = .28;      // Layer height for faster build >> LH=.25; // Layer height after 1st layer >> FL=.2; // first layer >> ShowInside=0; // switch for applying cutout section >> Width = 4* Inch*.85; >> Depth = 3.0 * Inch; >> Height = 1.00 * Inch; >> Wall = 2.0; >> T = Wall; >> Tray3(Rounding=15); >> module Tray1(){ >>     difference(){ >>         cuboid([Width,Depth,Height],rounding=T/2,anchor=BOTTOM); >>         up(T)cuboid([Width-2*T,Depth-2*T,Height-T],rounding=-T/2,anchor=BOTTOM,edges=TOP); >>     } >>  } >>  module Tray2(Rounding=12){ >>     difference(){ >>     union(){ >>         rect_tube(rounding=Rounding,size=[Width,Depth],h=Height,wall=T) ; >>         rect_tube(h=T,rounding=Rounding,size=[Width,Depth],wall=Width/2.5); >>     } >>     } >>  } >>  module Tray3(Rounding=12){ >>     minkowski(){ >>         union(){ >>             rect_tube(rounding=Rounding,size=[Width,Depth],h=Height,wall=T,anchor=BOTTOM) ; >>             rect_tube(h=T,rounding=Rounding,size=[Width,Depth],wall=Width/2.5,anchor=BOTTOM); >>             cuboid([Width/3,Depth/3,T],rounding=T/2,anchor=BOTTOM); >>            } >>         sphere(d=T*2.5); >>     } >>  } >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email to discuss-leave@lists.openscad.org --  have Fun,  Bob                           mailto:roosbob@wybatap.com
M
mikeonenine@web.de
Mon, Jul 21, 2025 5:21 AM

I could use a curved piece with rounded corners/edges:

module cwt()

{

polygon([

for ( i = [0 : 5 : 90])

[15*sin(i), 15*cos(i)],

for ( i = [90 : -5 : 0])

[10*sin(i), 10*cos(i)],

]);

}

cwt = cwt();

rounded_cwt = round_corners(cwt, cut=flatten(repeat([0.5, 0], 5)), $fn=24);

offset_sweep(rounded_cwt,

height = 10,

bottom = os_circle(r = 0),

top = os_circle(r = 1),

steps = 15);

But the rounding function (github link above) doesn’t work.

What’s missing?

I could use a curved piece with rounded corners/edges: `module cwt()` `{` `polygon([ ` `for ( i = [0 : 5 : 90])` `[15*sin(i), 15*cos(i)], ` `for ( i = [90 : -5 : 0])` `[10*sin(i), 10*cos(i)], ` `]);` `}` `cwt = cwt();` `rounded_cwt = round_corners(cwt, cut=flatten(repeat([0.5, 0], 5)), $fn=24);` `offset_sweep(rounded_cwt, ` `height = 10, ` `bottom = os_circle(r = 0), ` `top = os_circle(r = 1), ` `steps = 15);` But the rounding function (github link above) doesn’t work. What’s missing?