discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

rounding an edge

JB
Jon Bondy
Wed, Apr 22, 2026 12:35 PM

I designed a simple hand hold that I can screw onto a surface and then
slip my hand into to lift something up, a kind of a handle.

The indicated edge would do much better were it rounded.

Suggestions?

include <BOSL2/std.scad>

$fa = 3;
$fs = 0.2;

hw = 80;    // hand width (X)
hl = 60;    // hand length (Y)
ht = 25;    // hand thickness (Z)

module Shape()
    scale([hw/100, 2hl/100, 2ht/100])
        sphere(d = 100);

difference() {
    intersection() {
        scale(1.2)
            Shape();
            left(100)
                cube(200);
            }
    Shape();
    }

--
This email has been checked for viruses by AVG antivirus software.
www.avg.com

I designed a simple hand hold that I can screw onto a surface and then slip my hand into to lift something up, a kind of a handle. The indicated edge would do much better were it rounded. Suggestions? include <BOSL2/std.scad> $fa = 3; $fs = 0.2; hw = 80;    // hand width (X) hl = 60;    // hand length (Y) ht = 25;    // hand thickness (Z) module Shape()     scale([hw/100, 2*hl/100, 2*ht/100])         sphere(d = 100); difference() {     intersection() {         scale(1.2)             Shape();             left(100)                 cube(200);             }     Shape();     } -- This email has been checked for viruses by AVG antivirus software. www.avg.com
T(
Terry (Gmail)
Wed, Apr 22, 2026 4:45 PM

On Wed, 22 Apr 2026 08:35:10 -0400, you wrote:

I designed a simple hand hold that I can screw onto a surface and then
slip my hand into to lift something up, a kind of a handle.

The indicated edge would do much better were it rounded.

Suggestions?

include <BOSL2/std.scad>

$fa = 3;
$fs = 0.2;

hw = 80;    // hand width (X)
hl = 60;    // hand length (Y)
ht = 25;    // hand thickness (Z)

module Shape()
    scale([hw/100, 2hl/100, 2ht/100])
        sphere(d = 100);

difference() {
    intersection() {
        scale(1.2)
            Shape();
            left(100)
                cube(200);
            }
    Shape();
    }

Re-learning some of the little I once knew, as will be obvious from my
question:
I see a 'flat egg' on running that code. What should I see?
https://www.dropbox.com/scl/fi/d5lcjwbyt4wccb971q4oj/FlatEgg.jpg?rlkey=b9dgb4m0wm49hs0o5hpth9f64&raw=1

Terry, UK

On Wed, 22 Apr 2026 08:35:10 -0400, you wrote: >I designed a simple hand hold that I can screw onto a surface and then >slip my hand into to lift something up, a kind of a handle. > >The indicated edge would do much better were it rounded. > >Suggestions? > > >include <BOSL2/std.scad> > >$fa = 3; >$fs = 0.2; > >hw = 80;    // hand width (X) >hl = 60;    // hand length (Y) >ht = 25;    // hand thickness (Z) > >module Shape() >     scale([hw/100, 2*hl/100, 2*ht/100]) >         sphere(d = 100); > >difference() { >     intersection() { >         scale(1.2) >             Shape(); >             left(100) >                 cube(200); >             } >     Shape(); >     } Re-learning some of the little I once knew, as will be obvious from my question: I see a 'flat egg' on running that code. What *should* I see? https://www.dropbox.com/scl/fi/d5lcjwbyt4wccb971q4oj/FlatEgg.jpg?rlkey=b9dgb4m0wm49hs0o5hpth9f64&raw=1 Terry, UK
JB
Jordan Brown
Wed, Apr 22, 2026 4:57 PM

Re-learning some of the little I once knew, as will be obvious from my
question:
I see a 'flat egg' on running that code. What should I see?
https://www.dropbox.com/scl/fi/d5lcjwbyt4wccb971q4oj/FlatEgg.jpg?rlkey=b9dgb4m0wm49hs0o5hpth9f64&raw=1

There are two warnings that we aren’t seeing .
First: set “stop on first warning”.
Second: display the console or error log.
Third: fix the warning.

My guess is that the first warning is that BOSL2 is not found, and the second is that the “left” module is not found. If so, the solution is to install BOSL2.

> Re-learning some of the little I once knew, as will be obvious from my > question: > I see a 'flat egg' on running that code. What *should* I see? > https://www.dropbox.com/scl/fi/d5lcjwbyt4wccb971q4oj/FlatEgg.jpg?rlkey=b9dgb4m0wm49hs0o5hpth9f64&raw=1 There are two warnings that we aren’t seeing . First: set “stop on first warning”. Second: display the console or error log. Third: fix the warning. My guess is that the first warning is that BOSL2 is not found, and the second is that the “left” module is not found. If so, the solution is to install BOSL2.
T(
Terry (Gmail)
Wed, Apr 22, 2026 5:18 PM

On Wed, 22 Apr 2026 09:57:02 -0700, you wrote:

Re-learning some of the little I once knew, as will be obvious from my
question:
I see a 'flat egg' on running that code. What should I see?
https://www.dropbox.com/scl/fi/d5lcjwbyt4wccb971q4oj/FlatEgg.jpg?rlkey=b9dgb4m0wm49hs0o5hpth9f64&raw=1

There are two warnings that we aren’t seeing .
First: set “stop on first warning”.
Second: display the console or error log.
Third: fix the warning.

My guess is that the first warning is that BOSL2 is not found, and the second is that the “left” module is not found. If so, the solution is to install BOSL2.

Thanks Jordan. Here's the console from F5 I should have studied, which I
think confirms your diagnosis.

Think I'll take a few steps back on the re-learning curve ;-)

Parsing design (AST generation)...
Saved backup file:
C:/Users/terry/Documents/OpenSCAD/backups/unsaved-backup-DVVpGVbD.scad
WARNING: Can't find include file 'BOSL2/std.scad'. in file ., line 1
Compiling design (CSG Tree generation)...
WARNING: Ignoring unknown module 'left' in file ., line 18
Compiling design (CSG Products generation)...
Geometries in cache: 4
Geometry cache size in bytes: 2531296
CGAL Polyhedrons in cache: 1
CGAL cache size in bytes: 3600000
Compiling design (CSG Products normalization)...
Normalized tree has 2 elements!
Compile and preview finished.
Total rendering time: 0:00:00.099

Terry, UK

On Wed, 22 Apr 2026 09:57:02 -0700, you wrote: > > >> Re-learning some of the little I once knew, as will be obvious from my >> question: >> I see a 'flat egg' on running that code. What *should* I see? >> https://www.dropbox.com/scl/fi/d5lcjwbyt4wccb971q4oj/FlatEgg.jpg?rlkey=b9dgb4m0wm49hs0o5hpth9f64&raw=1 > >There are two warnings that we aren’t seeing . >First: set “stop on first warning”. >Second: display the console or error log. >Third: fix the warning. > >My guess is that the first warning is that BOSL2 is not found, and the second is that the “left” module is not found. If so, the solution is to install BOSL2. > Thanks Jordan. Here's the console from F5 I should have studied, which I think confirms your diagnosis. Think I'll take a few steps back on the re-learning curve ;-) Parsing design (AST generation)... Saved backup file: C:/Users/terry/Documents/OpenSCAD/backups/unsaved-backup-DVVpGVbD.scad WARNING: Can't find include file 'BOSL2/std.scad'. in file ., line 1 Compiling design (CSG Tree generation)... WARNING: Ignoring unknown module 'left' in file ., line 18 Compiling design (CSG Products generation)... Geometries in cache: 4 Geometry cache size in bytes: 2531296 CGAL Polyhedrons in cache: 1 CGAL cache size in bytes: 3600000 Compiling design (CSG Products normalization)... Normalized tree has 2 elements! Compile and preview finished. Total rendering time: 0:00:00.099 Terry, UK
JB
Jordan Brown
Wed, Apr 22, 2026 6:33 PM

On 4/22/2026 10:18 AM, Terry (Gmail) via Discuss wrote:

Thanks Jordan. Here's the console from F5 I should have studied, which I
think confirms your diagnosis.

Yep, exactly what I theorized.  I strongly recommend "stop on first
warning".  All too often the first warning is the key to all of the
problems that follow, and having those later warnings displayed just
obscures the important one.  Also, in some cases, there can be a large
number of warnings and the result is that everything slows down a lot
handling the warnings.

On 4/22/2026 10:18 AM, Terry (Gmail) via Discuss wrote: > Thanks Jordan. Here's the console from F5 I should have studied, which I > think confirms your diagnosis. Yep, exactly what I theorized.  I strongly recommend "stop on first warning".  All too often the first warning is the key to all of the problems that follow, and having those later warnings displayed just obscures the important one.  Also, in some cases, there can be a large number of warnings and the result is that everything slows down a lot handling the warnings.