discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Re: Fwd: Box lid "finger indentation" - rounded ellipsoidal indentation?

LM
Leonard Martin Struttmann
Thu, Jan 13, 2022 3:15 PM

Jim, I was able to round the side face using a "negative" torus and just
eyeballing the scaling, etc.

////use <LMS/toruses.scad>
//$fn = 48;
//
//difference() {
////    color("green")
//        translate([0,0,3])
//            cube([20,30,6], center=true);
//
//    // Pocket ellipsoid
////    color("purple", 0.7)
//        translate([0,-15,0])
//            scale([2, 2, 0.9])
//                sphere(3, $fn=30);
//
//      translate([0,-14.1,0])
//      scale( [ 1.48,1,.67] )
//      rotate( [ 90, 0, 0 ] )
//      difference()
//      {
//        cylinder( 2, r=5, center=true );
//
//        rotate_extrude()
//        translate([5,0,0])
//        circle(1);
//
//        translate( [ 0, 0, -3] )
//        cylinder( 6, r=10, center=true );
//      }
//
//}

difference() {
color("green")
translate([0,0,3])
cube([20,30,6], center=true);

// Pocket ellipsoid
color("purple", 0.7)
    translate([0,-15,0])
        scale([2, 2, 0.9])
            sphere(3, $fn=30);

    translate([0,-14.1,0])
    scale( [ 1.48,1,.67] )
    rotate( [ 90, 0, 0 ] )
    difference()
    {
      $fn=36;

      cylinder( 2, r=5, center=true );

      // torus
      rotate_extrude()
      translate([5,0,0])
      circle(1);

      translate( [ 0, 0, -3] )
      cylinder( 6, r=10, center=true );
    }

}  // if difference

On Thu, Jan 13, 2022 at 9:09 AM William F. Adams via Discuss <
discuss@lists.openscad.org> wrote:

---------- Forwarded message ----------
From: "William F. Adams" willadams@aol.com
To: "discuss@lists.openscad.org" discuss@lists.openscad.org
Cc:
Bcc:
Date: Thu, 13 Jan 2022 15:01:58 +0000 (UTC)
Subject: [OpenSCAD] Fwd: Box lid "finger indentation" - rounded
ellipsoidal indentation?
I've been looking at this sort of thing:

https://willadams.gitbook.io/design-into-3d/radiused-fingerjoints

I just find it more workable to model how the cutting will be done ---
unfortunately, that really bogs down performance-wise.

William

-----Original Message-----
From: Jim Witte jim.witte@gmail.com
To: OpenSCAD general discussion discuss@lists.openscad.org
Sent: Thu, Jan 13, 2022 12:36 am
Subject: [OpenSCAD] Box lid "finger indentation" - rounded ellipsoidal
indentation?

I'm designing a jewelry box and want to "finger indentation" on the
lid/box seam, and I've got the following sketch of a cube with a subrarted
ellipsoid:

difference() {
color("green")
translate([0,0,3])
cube([20,30,6], center=true);

 // Pocket ellipsoid
 color("purple", 0.7)
     translate([0,-15,0])
         scale([2, 2, 0.9])
             sphere(3, center=true, $fn=30);

}  // if difference

Except this has sharp edges at the intersection across the front and
bottom faces.  How could I round these off?  (Without importing it into
Fusion which I don't know how to do - but I'm sure it would take about 5
seconds if I did).

I guessed that I might use minkowski with a small sphere - but that
doesn't seem to work, takes forever, and messes with the geometry outside
"just the pocket".

I thought of making two toruses along the front and bottom edges of the
pocket, but can't figure out what boolean operations to use too combine
them right.  Careful placement of the tori, then union them will the whole
model, then one or more unions with the model?

Jim


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

---------- Forwarded message ----------
From: "William F. Adams via Discuss" discuss@lists.openscad.org
To: "discuss@lists.openscad.org" discuss@lists.openscad.org
Cc: "William F. Adams" willadams@aol.com
Bcc:
Date: Thu, 13 Jan 2022 15:01:58 +0000 (UTC)
Subject: [OpenSCAD] Fwd: Box lid "finger indentation" - rounded
ellipsoidal indentation?


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

Jim, I was able to round the side face using a "negative" torus and just eyeballing the scaling, etc. ////use <LMS/toruses.scad> //$fn = 48; // //difference() { //// color("green") // translate([0,0,3]) // cube([20,30,6], center=true); // // // Pocket ellipsoid //// color("purple", 0.7) // translate([0,-15,0]) // scale([2, 2, 0.9]) // sphere(3, $fn=30); // // translate([0,-14.1,0]) // scale( [ 1.48,1,.67] ) // rotate( [ 90, 0, 0 ] ) // difference() // { // cylinder( 2, r=5, center=true ); // // rotate_extrude() // translate([5,0,0]) // circle(1); // // translate( [ 0, 0, -3] ) // cylinder( 6, r=10, center=true ); // } // //} difference() { color("green") translate([0,0,3]) cube([20,30,6], center=true); // Pocket ellipsoid color("purple", 0.7) translate([0,-15,0]) scale([2, 2, 0.9]) sphere(3, $fn=30); translate([0,-14.1,0]) scale( [ 1.48,1,.67] ) rotate( [ 90, 0, 0 ] ) difference() { $fn=36; cylinder( 2, r=5, center=true ); // torus rotate_extrude() translate([5,0,0]) circle(1); translate( [ 0, 0, -3] ) cylinder( 6, r=10, center=true ); } } // if difference On Thu, Jan 13, 2022 at 9:09 AM William F. Adams via Discuss < discuss@lists.openscad.org> wrote: > > > > ---------- Forwarded message ---------- > From: "William F. Adams" <willadams@aol.com> > To: "discuss@lists.openscad.org" <discuss@lists.openscad.org> > Cc: > Bcc: > Date: Thu, 13 Jan 2022 15:01:58 +0000 (UTC) > Subject: [OpenSCAD] Fwd: Box lid "finger indentation" - rounded > ellipsoidal indentation? > I've been looking at this sort of thing: > > https://willadams.gitbook.io/design-into-3d/radiused-fingerjoints > > I just find it more workable to model how the cutting will be done --- > unfortunately, that really bogs down performance-wise. > > William > > > -----Original Message----- > From: Jim Witte <jim.witte@gmail.com> > To: OpenSCAD general discussion <discuss@lists.openscad.org> > Sent: Thu, Jan 13, 2022 12:36 am > Subject: [OpenSCAD] Box lid "finger indentation" - rounded ellipsoidal > indentation? > > I'm designing a jewelry box and want to "finger indentation" on the > lid/box seam, and I've got the following sketch of a cube with a subrarted > ellipsoid: > > difference() { > color("green") > translate([0,0,3]) > cube([20,30,6], center=true); > > // Pocket ellipsoid > color("purple", 0.7) > translate([0,-15,0]) > scale([2, 2, 0.9]) > sphere(3, center=true, $fn=30); > } // if difference > > Except this has sharp edges at the intersection across the front and > bottom faces. How could I round these off? (Without importing it into > Fusion which I don't know how to do - but I'm sure it would take about 5 > seconds if I did). > > I guessed that I might use minkowski with a small sphere - but that > doesn't seem to work, takes forever, and messes with the geometry outside > "just the pocket". > > I thought of making two toruses along the front and bottom edges of the > pocket, but can't figure out what boolean operations to use too combine > them right. Careful placement of the tori, then union them will the whole > model, then one or more unions with the model? > > Jim > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org > > > > ---------- Forwarded message ---------- > From: "William F. Adams via Discuss" <discuss@lists.openscad.org> > To: "discuss@lists.openscad.org" <discuss@lists.openscad.org> > Cc: "William F. Adams" <willadams@aol.com> > Bcc: > Date: Thu, 13 Jan 2022 15:01:58 +0000 (UTC) > Subject: [OpenSCAD] Fwd: Box lid "finger indentation" - rounded > ellipsoidal indentation? > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
JW
Jim Witte
Thu, Jan 13, 2022 5:55 PM

Thanks!

On Thu, Jan 13, 2022 at 10:15 AM Leonard Martin Struttmann <
lenstruttmann@gmail.com> wrote:

Jim, I was able to round the side face using a "negative" torus and just
eyeballing the scaling, etc.

////use <LMS/toruses.scad>
//$fn = 48;
//
//difference() {
////    color("green")
//        translate([0,0,3])
//            cube([20,30,6], center=true);
//
//    // Pocket ellipsoid
////    color("purple", 0.7)
//        translate([0,-15,0])
//            scale([2, 2, 0.9])
//                sphere(3, $fn=30);
//
//      translate([0,-14.1,0])
//      scale( [ 1.48,1,.67] )
//      rotate( [ 90, 0, 0 ] )
//      difference()
//      {
//        cylinder( 2, r=5, center=true );
//
//        rotate_extrude()
//        translate([5,0,0])
//        circle(1);
//
//        translate( [ 0, 0, -3] )
//        cylinder( 6, r=10, center=true );
//      }
//
//}

difference() {
color("green")
translate([0,0,3])
cube([20,30,6], center=true);

 // Pocket ellipsoid
 color("purple", 0.7)
     translate([0,-15,0])
         scale([2, 2, 0.9])
             sphere(3, $fn=30);

     translate([0,-14.1,0])
     scale( [ 1.48,1,.67] )
     rotate( [ 90, 0, 0 ] )
     difference()
     {
       $fn=36;

       cylinder( 2, r=5, center=true );

       // torus
       rotate_extrude()
       translate([5,0,0])
       circle(1);

       translate( [ 0, 0, -3] )
       cylinder( 6, r=10, center=true );
     }

}  // if difference

On Thu, Jan 13, 2022 at 9:09 AM William F. Adams via Discuss <
discuss@lists.openscad.org> wrote:

---------- Forwarded message ----------
From: "William F. Adams" willadams@aol.com
To: "discuss@lists.openscad.org" discuss@lists.openscad.org
Cc:
Bcc:
Date: Thu, 13 Jan 2022 15:01:58 +0000 (UTC)
Subject: [OpenSCAD] Fwd: Box lid "finger indentation" - rounded
ellipsoidal indentation?
I've been looking at this sort of thing:

https://willadams.gitbook.io/design-into-3d/radiused-fingerjoints

I just find it more workable to model how the cutting will be done ---
unfortunately, that really bogs down performance-wise.

William

-----Original Message-----
From: Jim Witte jim.witte@gmail.com
To: OpenSCAD general discussion discuss@lists.openscad.org
Sent: Thu, Jan 13, 2022 12:36 am
Subject: [OpenSCAD] Box lid "finger indentation" - rounded ellipsoidal
indentation?

I'm designing a jewelry box and want to "finger indentation" on the
lid/box seam, and I've got the following sketch of a cube with a subrarted
ellipsoid:

difference() {
color("green")
translate([0,0,3])
cube([20,30,6], center=true);

 // Pocket ellipsoid
 color("purple", 0.7)
     translate([0,-15,0])
         scale([2, 2, 0.9])
             sphere(3, center=true, $fn=30);

}  // if difference

Except this has sharp edges at the intersection across the front and
bottom faces.  How could I round these off?  (Without importing it into
Fusion which I don't know how to do - but I'm sure it would take about 5
seconds if I did).

I guessed that I might use minkowski with a small sphere - but that
doesn't seem to work, takes forever, and messes with the geometry outside
"just the pocket".

I thought of making two toruses along the front and bottom edges of the
pocket, but can't figure out what boolean operations to use too combine
them right.  Careful placement of the tori, then union them will the whole
model, then one or more unions with the model?

Jim


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

---------- Forwarded message ----------
From: "William F. Adams via Discuss" discuss@lists.openscad.org
To: "discuss@lists.openscad.org" discuss@lists.openscad.org
Cc: "William F. Adams" willadams@aol.com
Bcc:
Date: Thu, 13 Jan 2022 15:01:58 +0000 (UTC)
Subject: [OpenSCAD] Fwd: Box lid "finger indentation" - rounded
ellipsoidal indentation?


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


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

Thanks! On Thu, Jan 13, 2022 at 10:15 AM Leonard Martin Struttmann < lenstruttmann@gmail.com> wrote: > Jim, I was able to round the side face using a "negative" torus and just > eyeballing the scaling, etc. > > ////use <LMS/toruses.scad> > //$fn = 48; > // > //difference() { > //// color("green") > // translate([0,0,3]) > // cube([20,30,6], center=true); > // > // // Pocket ellipsoid > //// color("purple", 0.7) > // translate([0,-15,0]) > // scale([2, 2, 0.9]) > // sphere(3, $fn=30); > // > // translate([0,-14.1,0]) > // scale( [ 1.48,1,.67] ) > // rotate( [ 90, 0, 0 ] ) > // difference() > // { > // cylinder( 2, r=5, center=true ); > // > // rotate_extrude() > // translate([5,0,0]) > // circle(1); > // > // translate( [ 0, 0, -3] ) > // cylinder( 6, r=10, center=true ); > // } > // > //} > > difference() { > color("green") > translate([0,0,3]) > cube([20,30,6], center=true); > > // Pocket ellipsoid > color("purple", 0.7) > translate([0,-15,0]) > scale([2, 2, 0.9]) > sphere(3, $fn=30); > > translate([0,-14.1,0]) > scale( [ 1.48,1,.67] ) > rotate( [ 90, 0, 0 ] ) > difference() > { > $fn=36; > > cylinder( 2, r=5, center=true ); > > // torus > rotate_extrude() > translate([5,0,0]) > circle(1); > > translate( [ 0, 0, -3] ) > cylinder( 6, r=10, center=true ); > } > } // if difference > > On Thu, Jan 13, 2022 at 9:09 AM William F. Adams via Discuss < > discuss@lists.openscad.org> wrote: > >> >> >> >> ---------- Forwarded message ---------- >> From: "William F. Adams" <willadams@aol.com> >> To: "discuss@lists.openscad.org" <discuss@lists.openscad.org> >> Cc: >> Bcc: >> Date: Thu, 13 Jan 2022 15:01:58 +0000 (UTC) >> Subject: [OpenSCAD] Fwd: Box lid "finger indentation" - rounded >> ellipsoidal indentation? >> I've been looking at this sort of thing: >> >> https://willadams.gitbook.io/design-into-3d/radiused-fingerjoints >> >> I just find it more workable to model how the cutting will be done --- >> unfortunately, that really bogs down performance-wise. >> >> William >> >> >> -----Original Message----- >> From: Jim Witte <jim.witte@gmail.com> >> To: OpenSCAD general discussion <discuss@lists.openscad.org> >> Sent: Thu, Jan 13, 2022 12:36 am >> Subject: [OpenSCAD] Box lid "finger indentation" - rounded ellipsoidal >> indentation? >> >> I'm designing a jewelry box and want to "finger indentation" on the >> lid/box seam, and I've got the following sketch of a cube with a subrarted >> ellipsoid: >> >> difference() { >> color("green") >> translate([0,0,3]) >> cube([20,30,6], center=true); >> >> // Pocket ellipsoid >> color("purple", 0.7) >> translate([0,-15,0]) >> scale([2, 2, 0.9]) >> sphere(3, center=true, $fn=30); >> } // if difference >> >> Except this has sharp edges at the intersection across the front and >> bottom faces. How could I round these off? (Without importing it into >> Fusion which I don't know how to do - but I'm sure it would take about 5 >> seconds if I did). >> >> I guessed that I might use minkowski with a small sphere - but that >> doesn't seem to work, takes forever, and messes with the geometry outside >> "just the pocket". >> >> I thought of making two toruses along the front and bottom edges of the >> pocket, but can't figure out what boolean operations to use too combine >> them right. Careful placement of the tori, then union them will the whole >> model, then one or more unions with the model? >> >> Jim >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email to discuss-leave@lists.openscad.org >> >> >> >> ---------- Forwarded message ---------- >> From: "William F. Adams via Discuss" <discuss@lists.openscad.org> >> To: "discuss@lists.openscad.org" <discuss@lists.openscad.org> >> Cc: "William F. Adams" <willadams@aol.com> >> Bcc: >> Date: Thu, 13 Jan 2022 15:01:58 +0000 (UTC) >> Subject: [OpenSCAD] Fwd: Box lid "finger indentation" - rounded >> ellipsoidal indentation? >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email to discuss-leave@lists.openscad.org >> > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
AM
Adrian Mariano
Thu, Jan 13, 2022 11:33 PM

I got sucked into trying to find a solution to this that doesn't
involve guesswork, and produces a smooth transition to the roundover.
This has some funny business at the bottom of the cutout where the two
masks intersect, but it renders OK.  No guesswork.  BOSL2 is only
really used for generating the curved edge with the smooth transition.

include <BOSL2/std.scad>
include <BOSL2/rounding.scad>

difference() {
color("green")
translate([0,0,3])
cube([20,30,6], center=true);
// Pocket ellipsoid
color("purple", 0.7)
translate([0,-15,0])
scale([2, 2, 0.9])
xrot_copies([0,-90])
zflip()
rotate_extrude($fn=128)
polygon([
[0,1],
each path_join([arc(r=3, N=64, angle=[-90,
0]), [[0,0],[1.1,.01]]], joint=1),
[4.1,1]
]);
}  // if difference

On Thu, Jan 13, 2022 at 12:56 PM Jim Witte jim.witte@gmail.com wrote:

Thanks!

On Thu, Jan 13, 2022 at 10:15 AM Leonard Martin Struttmann lenstruttmann@gmail.com wrote:

Jim, I was able to round the side face using a "negative" torus and just eyeballing the scaling, etc.

////use <LMS/toruses.scad>
//$fn = 48;
//
//difference() {
////    color("green")
//        translate([0,0,3])
//            cube([20,30,6], center=true);
//
//    // Pocket ellipsoid
////    color("purple", 0.7)
//        translate([0,-15,0])
//            scale([2, 2, 0.9])
//                sphere(3, $fn=30);
//
//      translate([0,-14.1,0])
//      scale( [ 1.48,1,.67] )
//      rotate( [ 90, 0, 0 ] )
//      difference()
//      {
//        cylinder( 2, r=5, center=true );
//
//        rotate_extrude()
//        translate([5,0,0])
//        circle(1);
//
//        translate( [ 0, 0, -3] )
//        cylinder( 6, r=10, center=true );
//      }
//
//}

difference() {
color("green")
translate([0,0,3])
cube([20,30,6], center=true);

 // Pocket ellipsoid
 color("purple", 0.7)
     translate([0,-15,0])
         scale([2, 2, 0.9])
             sphere(3, $fn=30);

     translate([0,-14.1,0])
     scale( [ 1.48,1,.67] )
     rotate( [ 90, 0, 0 ] )
     difference()
     {
       $fn=36;

       cylinder( 2, r=5, center=true );

       // torus
       rotate_extrude()
       translate([5,0,0])
       circle(1);

       translate( [ 0, 0, -3] )
       cylinder( 6, r=10, center=true );
     }

}  // if difference

On Thu, Jan 13, 2022 at 9:09 AM William F. Adams via Discuss discuss@lists.openscad.org wrote:

---------- Forwarded message ----------
From: "William F. Adams" willadams@aol.com
To: "discuss@lists.openscad.org" discuss@lists.openscad.org
Cc:
Bcc:
Date: Thu, 13 Jan 2022 15:01:58 +0000 (UTC)
Subject: [OpenSCAD] Fwd: Box lid "finger indentation" - rounded ellipsoidal indentation?
I've been looking at this sort of thing:

https://willadams.gitbook.io/design-into-3d/radiused-fingerjoints

I just find it more workable to model how the cutting will be done --- unfortunately, that really bogs down performance-wise.

William

-----Original Message-----
From: Jim Witte jim.witte@gmail.com
To: OpenSCAD general discussion discuss@lists.openscad.org
Sent: Thu, Jan 13, 2022 12:36 am
Subject: [OpenSCAD] Box lid "finger indentation" - rounded ellipsoidal indentation?

I'm designing a jewelry box and want to "finger indentation" on the lid/box seam, and I've got the following sketch of a cube with a subrarted ellipsoid:

difference() {
color("green")
translate([0,0,3])
cube([20,30,6], center=true);

 // Pocket ellipsoid
 color("purple", 0.7)
     translate([0,-15,0])
         scale([2, 2, 0.9])
             sphere(3, center=true, $fn=30);

}  // if difference

Except this has sharp edges at the intersection across the front and bottom faces.  How could I round these off?  (Without importing it into Fusion which I don't know how to do - but I'm sure it would take about 5 seconds if I did).

I guessed that I might use minkowski with a small sphere - but that doesn't seem to work, takes forever, and messes with the geometry outside "just the pocket".

I thought of making two toruses along the front and bottom edges of the pocket, but can't figure out what boolean operations to use too combine them right.  Careful placement of the tori, then union them will the whole model, then one or more unions with the model?

Jim


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

---------- Forwarded message ----------
From: "William F. Adams via Discuss" discuss@lists.openscad.org
To: "discuss@lists.openscad.org" discuss@lists.openscad.org
Cc: "William F. Adams" willadams@aol.com
Bcc:
Date: Thu, 13 Jan 2022 15:01:58 +0000 (UTC)
Subject: [OpenSCAD] Fwd: Box lid "finger indentation" - rounded ellipsoidal indentation?


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


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


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

I got sucked into trying to find a solution to this that doesn't involve guesswork, and produces a smooth transition to the roundover. This has some funny business at the bottom of the cutout where the two masks intersect, but it renders OK. No guesswork. BOSL2 is only really used for generating the curved edge with the smooth transition. include <BOSL2/std.scad> include <BOSL2/rounding.scad> difference() { color("green") translate([0,0,3]) cube([20,30,6], center=true); // Pocket ellipsoid color("purple", 0.7) translate([0,-15,0]) scale([2, 2, 0.9]) xrot_copies([0,-90]) zflip() rotate_extrude($fn=128) polygon([ [0,1], each path_join([arc(r=3, N=64, angle=[-90, 0]), [[0,0],[1.1,.01]]], joint=1), [4.1,1] ]); } // if difference On Thu, Jan 13, 2022 at 12:56 PM Jim Witte <jim.witte@gmail.com> wrote: > > Thanks! > > On Thu, Jan 13, 2022 at 10:15 AM Leonard Martin Struttmann <lenstruttmann@gmail.com> wrote: >> >> Jim, I was able to round the side face using a "negative" torus and just eyeballing the scaling, etc. >> >> ////use <LMS/toruses.scad> >> //$fn = 48; >> // >> //difference() { >> //// color("green") >> // translate([0,0,3]) >> // cube([20,30,6], center=true); >> // >> // // Pocket ellipsoid >> //// color("purple", 0.7) >> // translate([0,-15,0]) >> // scale([2, 2, 0.9]) >> // sphere(3, $fn=30); >> // >> // translate([0,-14.1,0]) >> // scale( [ 1.48,1,.67] ) >> // rotate( [ 90, 0, 0 ] ) >> // difference() >> // { >> // cylinder( 2, r=5, center=true ); >> // >> // rotate_extrude() >> // translate([5,0,0]) >> // circle(1); >> // >> // translate( [ 0, 0, -3] ) >> // cylinder( 6, r=10, center=true ); >> // } >> // >> //} >> >> difference() { >> color("green") >> translate([0,0,3]) >> cube([20,30,6], center=true); >> >> // Pocket ellipsoid >> color("purple", 0.7) >> translate([0,-15,0]) >> scale([2, 2, 0.9]) >> sphere(3, $fn=30); >> >> translate([0,-14.1,0]) >> scale( [ 1.48,1,.67] ) >> rotate( [ 90, 0, 0 ] ) >> difference() >> { >> $fn=36; >> >> cylinder( 2, r=5, center=true ); >> >> // torus >> rotate_extrude() >> translate([5,0,0]) >> circle(1); >> >> translate( [ 0, 0, -3] ) >> cylinder( 6, r=10, center=true ); >> } >> } // if difference >> >> On Thu, Jan 13, 2022 at 9:09 AM William F. Adams via Discuss <discuss@lists.openscad.org> wrote: >>> >>> >>> >>> >>> ---------- Forwarded message ---------- >>> From: "William F. Adams" <willadams@aol.com> >>> To: "discuss@lists.openscad.org" <discuss@lists.openscad.org> >>> Cc: >>> Bcc: >>> Date: Thu, 13 Jan 2022 15:01:58 +0000 (UTC) >>> Subject: [OpenSCAD] Fwd: Box lid "finger indentation" - rounded ellipsoidal indentation? >>> I've been looking at this sort of thing: >>> >>> https://willadams.gitbook.io/design-into-3d/radiused-fingerjoints >>> >>> I just find it more workable to model how the cutting will be done --- unfortunately, that really bogs down performance-wise. >>> >>> William >>> >>> >>> -----Original Message----- >>> From: Jim Witte <jim.witte@gmail.com> >>> To: OpenSCAD general discussion <discuss@lists.openscad.org> >>> Sent: Thu, Jan 13, 2022 12:36 am >>> Subject: [OpenSCAD] Box lid "finger indentation" - rounded ellipsoidal indentation? >>> >>> I'm designing a jewelry box and want to "finger indentation" on the lid/box seam, and I've got the following sketch of a cube with a subrarted ellipsoid: >>> >>> difference() { >>> color("green") >>> translate([0,0,3]) >>> cube([20,30,6], center=true); >>> >>> // Pocket ellipsoid >>> color("purple", 0.7) >>> translate([0,-15,0]) >>> scale([2, 2, 0.9]) >>> sphere(3, center=true, $fn=30); >>> } // if difference >>> >>> Except this has sharp edges at the intersection across the front and bottom faces. How could I round these off? (Without importing it into Fusion which I don't know how to do - but I'm sure it would take about 5 seconds if I did). >>> >>> I guessed that I might use minkowski with a small sphere - but that doesn't seem to work, takes forever, and messes with the geometry outside "just the pocket". >>> >>> I thought of making two toruses along the front and bottom edges of the pocket, but can't figure out what boolean operations to use too combine them right. Careful placement of the tori, then union them will the whole model, then one or more unions with the model? >>> >>> Jim >>> _______________________________________________ >>> OpenSCAD mailing list >>> To unsubscribe send an email to discuss-leave@lists.openscad.org >>> >>> >>> >>> ---------- Forwarded message ---------- >>> From: "William F. Adams via Discuss" <discuss@lists.openscad.org> >>> To: "discuss@lists.openscad.org" <discuss@lists.openscad.org> >>> Cc: "William F. Adams" <willadams@aol.com> >>> Bcc: >>> Date: Thu, 13 Jan 2022 15:01:58 +0000 (UTC) >>> Subject: [OpenSCAD] Fwd: Box lid "finger indentation" - rounded ellipsoidal indentation? >>> _______________________________________________ >>> OpenSCAD mailing list >>> To unsubscribe send an email to discuss-leave@lists.openscad.org >> >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email to discuss-leave@lists.openscad.org > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org
G
gadgetChris
Fri, Jan 14, 2022 12:46 AM

Here is my solution with less guesswork.
It still needs some fiddling, but hopefully it's clear why I added offsets.

$fn=40;
difference() {
color("green")
translate([0,0,3])
cube([20,30,6], center=true);

// Pocket ellipsoid
color("purple", 0.7)
    translate([0,-15,0])
        scale([2, 2, 0.9])
            sphere(3);

difference(){
translate([0,-15,0-.01]) scale([2,2,1]) rotate_extrude()
translate([3-.1,0]) square(.5);
translate([0,-15,.5]) scale([2,2,1]) rotate_extrude()
translate([3+.5-.06,0]) circle(.5);
}
difference(){
translate([0,-15+.5-.01,0]) rotate([90,0,0]) scale([2,.9,1])
rotate_extrude() translate([3-.1,0]) square(.5);
translate([0,-15+.5,0]) rotate([90,0,0]) scale([2,.9,1])
rotate_extrude() translate([3+.5-.06,0]) circle(.5);
}

}  // end difference

On Thu, Jan 13, 2022 at 6:33 PM Adrian Mariano avm4@cornell.edu wrote:

I got sucked into trying to find a solution to this that doesn't
involve guesswork, and produces a smooth transition to the roundover.
This has some funny business at the bottom of the cutout where the two
masks intersect, but it renders OK.  No guesswork.  BOSL2 is only
really used for generating the curved edge with the smooth transition.

include <BOSL2/std.scad>
include <BOSL2/rounding.scad>

difference() {
color("green")
translate([0,0,3])
cube([20,30,6], center=true);
// Pocket ellipsoid
color("purple", 0.7)
translate([0,-15,0])
scale([2, 2, 0.9])
xrot_copies([0,-90])
zflip()
rotate_extrude($fn=128)
polygon([
[0,1],
each path_join([arc(r=3, N=64, angle=[-90,
0]), [[0,0],[1.1,.01]]], joint=1),
[4.1,1]
]);
}  // if difference

On Thu, Jan 13, 2022 at 12:56 PM Jim Witte jim.witte@gmail.com wrote:

Thanks!

On Thu, Jan 13, 2022 at 10:15 AM Leonard Martin Struttmann <

Jim, I was able to round the side face using a "negative" torus and

just eyeballing the scaling, etc.

////use <LMS/toruses.scad>
//$fn = 48;
//
//difference() {
////    color("green")
//        translate([0,0,3])
//            cube([20,30,6], center=true);
//
//    // Pocket ellipsoid
////    color("purple", 0.7)
//        translate([0,-15,0])
//            scale([2, 2, 0.9])
//                sphere(3, $fn=30);
//
//      translate([0,-14.1,0])
//      scale( [ 1.48,1,.67] )
//      rotate( [ 90, 0, 0 ] )
//      difference()
//      {
//        cylinder( 2, r=5, center=true );
//
//        rotate_extrude()
//        translate([5,0,0])
//        circle(1);
//
//        translate( [ 0, 0, -3] )
//        cylinder( 6, r=10, center=true );
//      }
//
//}

difference() {
color("green")
translate([0,0,3])
cube([20,30,6], center=true);

 // Pocket ellipsoid
 color("purple", 0.7)
     translate([0,-15,0])
         scale([2, 2, 0.9])
             sphere(3, $fn=30);

     translate([0,-14.1,0])
     scale( [ 1.48,1,.67] )
     rotate( [ 90, 0, 0 ] )
     difference()
     {
       $fn=36;

       cylinder( 2, r=5, center=true );

       // torus
       rotate_extrude()
       translate([5,0,0])
       circle(1);

       translate( [ 0, 0, -3] )
       cylinder( 6, r=10, center=true );
     }

}  // if difference

On Thu, Jan 13, 2022 at 9:09 AM William F. Adams via Discuss <

---------- Forwarded message ----------
From: "William F. Adams" willadams@aol.com
To: "discuss@lists.openscad.org" discuss@lists.openscad.org
Cc:
Bcc:
Date: Thu, 13 Jan 2022 15:01:58 +0000 (UTC)
Subject: [OpenSCAD] Fwd: Box lid "finger indentation" - rounded

ellipsoidal indentation?

I've been looking at this sort of thing:

https://willadams.gitbook.io/design-into-3d/radiused-fingerjoints

I just find it more workable to model how the cutting will be done ---

unfortunately, that really bogs down performance-wise.

William

-----Original Message-----
From: Jim Witte jim.witte@gmail.com
To: OpenSCAD general discussion discuss@lists.openscad.org
Sent: Thu, Jan 13, 2022 12:36 am
Subject: [OpenSCAD] Box lid "finger indentation" - rounded ellipsoidal

indentation?

I'm designing a jewelry box and want to "finger indentation" on the

lid/box seam, and I've got the following sketch of a cube with a subrarted
ellipsoid:

difference() {
color("green")
translate([0,0,3])
cube([20,30,6], center=true);

 // Pocket ellipsoid
 color("purple", 0.7)
     translate([0,-15,0])
         scale([2, 2, 0.9])
             sphere(3, center=true, $fn=30);

}  // if difference

Except this has sharp edges at the intersection across the front and

bottom faces.  How could I round these off?  (Without importing it into
Fusion which I don't know how to do - but I'm sure it would take about 5
seconds if I did).

I guessed that I might use minkowski with a small sphere - but that

doesn't seem to work, takes forever, and messes with the geometry outside
"just the pocket".

I thought of making two toruses along the front and bottom edges of

the pocket, but can't figure out what boolean operations to use too combine
them right.  Careful placement of the tori, then union them will the whole
model, then one or more unions with the model?

Jim


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

---------- Forwarded message ----------
From: "William F. Adams via Discuss" discuss@lists.openscad.org
To: "discuss@lists.openscad.org" discuss@lists.openscad.org
Cc: "William F. Adams" willadams@aol.com
Bcc:
Date: Thu, 13 Jan 2022 15:01:58 +0000 (UTC)
Subject: [OpenSCAD] Fwd: Box lid "finger indentation" - rounded

ellipsoidal indentation?


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


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


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


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

Here is my solution with less guesswork. It still needs some fiddling, but hopefully it's clear why I added offsets. $fn=40; difference() { color("green") translate([0,0,3]) cube([20,30,6], center=true); // Pocket ellipsoid color("purple", 0.7) translate([0,-15,0]) scale([2, 2, 0.9]) sphere(3); difference(){ translate([0,-15,0-.01]) scale([2,2,1]) rotate_extrude() translate([3-.1,0]) square(.5); translate([0,-15,.5]) scale([2,2,1]) rotate_extrude() translate([3+.5-.06,0]) circle(.5); } difference(){ translate([0,-15+.5-.01,0]) rotate([90,0,0]) scale([2,.9,1]) rotate_extrude() translate([3-.1,0]) square(.5); translate([0,-15+.5,0]) rotate([90,0,0]) scale([2,.9,1]) rotate_extrude() translate([3+.5-.06,0]) circle(.5); } } // end difference On Thu, Jan 13, 2022 at 6:33 PM Adrian Mariano <avm4@cornell.edu> wrote: > I got sucked into trying to find a solution to this that doesn't > involve guesswork, and produces a smooth transition to the roundover. > This has some funny business at the bottom of the cutout where the two > masks intersect, but it renders OK. No guesswork. BOSL2 is only > really used for generating the curved edge with the smooth transition. > > include <BOSL2/std.scad> > include <BOSL2/rounding.scad> > > > difference() { > color("green") > translate([0,0,3]) > cube([20,30,6], center=true); > // Pocket ellipsoid > color("purple", 0.7) > translate([0,-15,0]) > scale([2, 2, 0.9]) > xrot_copies([0,-90]) > zflip() > rotate_extrude($fn=128) > polygon([ > [0,1], > each path_join([arc(r=3, N=64, angle=[-90, > 0]), [[0,0],[1.1,.01]]], joint=1), > [4.1,1] > ]); > } // if difference > > > > On Thu, Jan 13, 2022 at 12:56 PM Jim Witte <jim.witte@gmail.com> wrote: > > > > Thanks! > > > > On Thu, Jan 13, 2022 at 10:15 AM Leonard Martin Struttmann < > lenstruttmann@gmail.com> wrote: > >> > >> Jim, I was able to round the side face using a "negative" torus and > just eyeballing the scaling, etc. > >> > >> ////use <LMS/toruses.scad> > >> //$fn = 48; > >> // > >> //difference() { > >> //// color("green") > >> // translate([0,0,3]) > >> // cube([20,30,6], center=true); > >> // > >> // // Pocket ellipsoid > >> //// color("purple", 0.7) > >> // translate([0,-15,0]) > >> // scale([2, 2, 0.9]) > >> // sphere(3, $fn=30); > >> // > >> // translate([0,-14.1,0]) > >> // scale( [ 1.48,1,.67] ) > >> // rotate( [ 90, 0, 0 ] ) > >> // difference() > >> // { > >> // cylinder( 2, r=5, center=true ); > >> // > >> // rotate_extrude() > >> // translate([5,0,0]) > >> // circle(1); > >> // > >> // translate( [ 0, 0, -3] ) > >> // cylinder( 6, r=10, center=true ); > >> // } > >> // > >> //} > >> > >> difference() { > >> color("green") > >> translate([0,0,3]) > >> cube([20,30,6], center=true); > >> > >> // Pocket ellipsoid > >> color("purple", 0.7) > >> translate([0,-15,0]) > >> scale([2, 2, 0.9]) > >> sphere(3, $fn=30); > >> > >> translate([0,-14.1,0]) > >> scale( [ 1.48,1,.67] ) > >> rotate( [ 90, 0, 0 ] ) > >> difference() > >> { > >> $fn=36; > >> > >> cylinder( 2, r=5, center=true ); > >> > >> // torus > >> rotate_extrude() > >> translate([5,0,0]) > >> circle(1); > >> > >> translate( [ 0, 0, -3] ) > >> cylinder( 6, r=10, center=true ); > >> } > >> } // if difference > >> > >> On Thu, Jan 13, 2022 at 9:09 AM William F. Adams via Discuss < > discuss@lists.openscad.org> wrote: > >>> > >>> > >>> > >>> > >>> ---------- Forwarded message ---------- > >>> From: "William F. Adams" <willadams@aol.com> > >>> To: "discuss@lists.openscad.org" <discuss@lists.openscad.org> > >>> Cc: > >>> Bcc: > >>> Date: Thu, 13 Jan 2022 15:01:58 +0000 (UTC) > >>> Subject: [OpenSCAD] Fwd: Box lid "finger indentation" - rounded > ellipsoidal indentation? > >>> I've been looking at this sort of thing: > >>> > >>> https://willadams.gitbook.io/design-into-3d/radiused-fingerjoints > >>> > >>> I just find it more workable to model how the cutting will be done --- > unfortunately, that really bogs down performance-wise. > >>> > >>> William > >>> > >>> > >>> -----Original Message----- > >>> From: Jim Witte <jim.witte@gmail.com> > >>> To: OpenSCAD general discussion <discuss@lists.openscad.org> > >>> Sent: Thu, Jan 13, 2022 12:36 am > >>> Subject: [OpenSCAD] Box lid "finger indentation" - rounded ellipsoidal > indentation? > >>> > >>> I'm designing a jewelry box and want to "finger indentation" on the > lid/box seam, and I've got the following sketch of a cube with a subrarted > ellipsoid: > >>> > >>> difference() { > >>> color("green") > >>> translate([0,0,3]) > >>> cube([20,30,6], center=true); > >>> > >>> // Pocket ellipsoid > >>> color("purple", 0.7) > >>> translate([0,-15,0]) > >>> scale([2, 2, 0.9]) > >>> sphere(3, center=true, $fn=30); > >>> } // if difference > >>> > >>> Except this has sharp edges at the intersection across the front and > bottom faces. How could I round these off? (Without importing it into > Fusion which I don't know how to do - but I'm sure it would take about 5 > seconds if I did). > >>> > >>> I guessed that I might use minkowski with a small sphere - but that > doesn't seem to work, takes forever, and messes with the geometry outside > "just the pocket". > >>> > >>> I thought of making two toruses along the front and bottom edges of > the pocket, but can't figure out what boolean operations to use too combine > them right. Careful placement of the tori, then union them will the whole > model, then one or more unions with the model? > >>> > >>> Jim > >>> _______________________________________________ > >>> OpenSCAD mailing list > >>> To unsubscribe send an email to discuss-leave@lists.openscad.org > >>> > >>> > >>> > >>> ---------- Forwarded message ---------- > >>> From: "William F. Adams via Discuss" <discuss@lists.openscad.org> > >>> To: "discuss@lists.openscad.org" <discuss@lists.openscad.org> > >>> Cc: "William F. Adams" <willadams@aol.com> > >>> Bcc: > >>> Date: Thu, 13 Jan 2022 15:01:58 +0000 (UTC) > >>> Subject: [OpenSCAD] Fwd: Box lid "finger indentation" - rounded > ellipsoidal indentation? > >>> _______________________________________________ > >>> OpenSCAD mailing list > >>> To unsubscribe send an email to discuss-leave@lists.openscad.org > >> > >> _______________________________________________ > >> OpenSCAD mailing list > >> To unsubscribe send an email to discuss-leave@lists.openscad.org > > > > _______________________________________________ > > OpenSCAD mailing list > > To unsubscribe send an email to discuss-leave@lists.openscad.org > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
LM
Leonard Martin Struttmann
Fri, Jan 14, 2022 2:50 AM

Adrian,

  •                      each path_join([arc(r=3, N=64, angle=[-90,0]),
    

[[0,0],[1.1,.01]]], joint=1),                          [4.1,1]*

Very nice! How did you pick these values?

On Thu, Jan 13, 2022 at 5:33 PM Adrian Mariano avm4@cornell.edu wrote:

I got sucked into trying to find a solution to this that doesn't
involve guesswork, and produces a smooth transition to the roundover.
This has some funny business at the bottom of the cutout where the two
masks intersect, but it renders OK.  No guesswork.  BOSL2 is only
really used for generating the curved edge with the smooth transition.

include <BOSL2/std.scad>
include <BOSL2/rounding.scad>

difference() {
color("green")
translate([0,0,3])
cube([20,30,6], center=true);
// Pocket ellipsoid
color("purple", 0.7)
translate([0,-15,0])
scale([2, 2, 0.9])
xrot_copies([0,-90])
zflip()
rotate_extrude($fn=128)
polygon([
[0,1],
each path_join([arc(r=3, N=64, angle=[-90,
0]), [[0,0],[1.1,.01]]], joint=1),
[4.1,1]
]);
}  // if difference

On Thu, Jan 13, 2022 at 12:56 PM Jim Witte jim.witte@gmail.com wrote:

Thanks!

On Thu, Jan 13, 2022 at 10:15 AM Leonard Martin Struttmann <

Jim, I was able to round the side face using a "negative" torus and

just eyeballing the scaling, etc.

////use <LMS/toruses.scad>
//$fn = 48;
//
//difference() {
////    color("green")
//        translate([0,0,3])
//            cube([20,30,6], center=true);
//
//    // Pocket ellipsoid
////    color("purple", 0.7)
//        translate([0,-15,0])
//            scale([2, 2, 0.9])
//                sphere(3, $fn=30);
//
//      translate([0,-14.1,0])
//      scale( [ 1.48,1,.67] )
//      rotate( [ 90, 0, 0 ] )
//      difference()
//      {
//        cylinder( 2, r=5, center=true );
//
//        rotate_extrude()
//        translate([5,0,0])
//        circle(1);
//
//        translate( [ 0, 0, -3] )
//        cylinder( 6, r=10, center=true );
//      }
//
//}

difference() {
color("green")
translate([0,0,3])
cube([20,30,6], center=true);

 // Pocket ellipsoid
 color("purple", 0.7)
     translate([0,-15,0])
         scale([2, 2, 0.9])
             sphere(3, $fn=30);

     translate([0,-14.1,0])
     scale( [ 1.48,1,.67] )
     rotate( [ 90, 0, 0 ] )
     difference()
     {
       $fn=36;

       cylinder( 2, r=5, center=true );

       // torus
       rotate_extrude()
       translate([5,0,0])
       circle(1);

       translate( [ 0, 0, -3] )
       cylinder( 6, r=10, center=true );
     }

}  // if difference

On Thu, Jan 13, 2022 at 9:09 AM William F. Adams via Discuss <

---------- Forwarded message ----------
From: "William F. Adams" willadams@aol.com
To: "discuss@lists.openscad.org" discuss@lists.openscad.org
Cc:
Bcc:
Date: Thu, 13 Jan 2022 15:01:58 +0000 (UTC)
Subject: [OpenSCAD] Fwd: Box lid "finger indentation" - rounded

ellipsoidal indentation?

I've been looking at this sort of thing:

https://willadams.gitbook.io/design-into-3d/radiused-fingerjoints

I just find it more workable to model how the cutting will be done ---

unfortunately, that really bogs down performance-wise.

William

-----Original Message-----
From: Jim Witte jim.witte@gmail.com
To: OpenSCAD general discussion discuss@lists.openscad.org
Sent: Thu, Jan 13, 2022 12:36 am
Subject: [OpenSCAD] Box lid "finger indentation" - rounded ellipsoidal

indentation?

I'm designing a jewelry box and want to "finger indentation" on the

lid/box seam, and I've got the following sketch of a cube with a subrarted
ellipsoid:

difference() {
color("green")
translate([0,0,3])
cube([20,30,6], center=true);

 // Pocket ellipsoid
 color("purple", 0.7)
     translate([0,-15,0])
         scale([2, 2, 0.9])
             sphere(3, center=true, $fn=30);

}  // if difference

Except this has sharp edges at the intersection across the front and

bottom faces.  How could I round these off?  (Without importing it into
Fusion which I don't know how to do - but I'm sure it would take about 5
seconds if I did).

I guessed that I might use minkowski with a small sphere - but that

doesn't seem to work, takes forever, and messes with the geometry outside
"just the pocket".

I thought of making two toruses along the front and bottom edges of

the pocket, but can't figure out what boolean operations to use too combine
them right.  Careful placement of the tori, then union them will the whole
model, then one or more unions with the model?

Jim


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

---------- Forwarded message ----------
From: "William F. Adams via Discuss" discuss@lists.openscad.org
To: "discuss@lists.openscad.org" discuss@lists.openscad.org
Cc: "William F. Adams" willadams@aol.com
Bcc:
Date: Thu, 13 Jan 2022 15:01:58 +0000 (UTC)
Subject: [OpenSCAD] Fwd: Box lid "finger indentation" - rounded

ellipsoidal indentation?


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


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


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


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

Adrian, * each path_join([arc(r=3, N=64, angle=[-90,0]), [[0,0],[1.1,.01]]], joint=1), [4.1,1]* Very nice! How did you pick these values? On Thu, Jan 13, 2022 at 5:33 PM Adrian Mariano <avm4@cornell.edu> wrote: > I got sucked into trying to find a solution to this that doesn't > involve guesswork, and produces a smooth transition to the roundover. > This has some funny business at the bottom of the cutout where the two > masks intersect, but it renders OK. No guesswork. BOSL2 is only > really used for generating the curved edge with the smooth transition. > > include <BOSL2/std.scad> > include <BOSL2/rounding.scad> > > > difference() { > color("green") > translate([0,0,3]) > cube([20,30,6], center=true); > // Pocket ellipsoid > color("purple", 0.7) > translate([0,-15,0]) > scale([2, 2, 0.9]) > xrot_copies([0,-90]) > zflip() > rotate_extrude($fn=128) > polygon([ > [0,1], > each path_join([arc(r=3, N=64, angle=[-90, > 0]), [[0,0],[1.1,.01]]], joint=1), > [4.1,1] > ]); > } // if difference > > > > On Thu, Jan 13, 2022 at 12:56 PM Jim Witte <jim.witte@gmail.com> wrote: > > > > Thanks! > > > > On Thu, Jan 13, 2022 at 10:15 AM Leonard Martin Struttmann < > lenstruttmann@gmail.com> wrote: > >> > >> Jim, I was able to round the side face using a "negative" torus and > just eyeballing the scaling, etc. > >> > >> ////use <LMS/toruses.scad> > >> //$fn = 48; > >> // > >> //difference() { > >> //// color("green") > >> // translate([0,0,3]) > >> // cube([20,30,6], center=true); > >> // > >> // // Pocket ellipsoid > >> //// color("purple", 0.7) > >> // translate([0,-15,0]) > >> // scale([2, 2, 0.9]) > >> // sphere(3, $fn=30); > >> // > >> // translate([0,-14.1,0]) > >> // scale( [ 1.48,1,.67] ) > >> // rotate( [ 90, 0, 0 ] ) > >> // difference() > >> // { > >> // cylinder( 2, r=5, center=true ); > >> // > >> // rotate_extrude() > >> // translate([5,0,0]) > >> // circle(1); > >> // > >> // translate( [ 0, 0, -3] ) > >> // cylinder( 6, r=10, center=true ); > >> // } > >> // > >> //} > >> > >> difference() { > >> color("green") > >> translate([0,0,3]) > >> cube([20,30,6], center=true); > >> > >> // Pocket ellipsoid > >> color("purple", 0.7) > >> translate([0,-15,0]) > >> scale([2, 2, 0.9]) > >> sphere(3, $fn=30); > >> > >> translate([0,-14.1,0]) > >> scale( [ 1.48,1,.67] ) > >> rotate( [ 90, 0, 0 ] ) > >> difference() > >> { > >> $fn=36; > >> > >> cylinder( 2, r=5, center=true ); > >> > >> // torus > >> rotate_extrude() > >> translate([5,0,0]) > >> circle(1); > >> > >> translate( [ 0, 0, -3] ) > >> cylinder( 6, r=10, center=true ); > >> } > >> } // if difference > >> > >> On Thu, Jan 13, 2022 at 9:09 AM William F. Adams via Discuss < > discuss@lists.openscad.org> wrote: > >>> > >>> > >>> > >>> > >>> ---------- Forwarded message ---------- > >>> From: "William F. Adams" <willadams@aol.com> > >>> To: "discuss@lists.openscad.org" <discuss@lists.openscad.org> > >>> Cc: > >>> Bcc: > >>> Date: Thu, 13 Jan 2022 15:01:58 +0000 (UTC) > >>> Subject: [OpenSCAD] Fwd: Box lid "finger indentation" - rounded > ellipsoidal indentation? > >>> I've been looking at this sort of thing: > >>> > >>> https://willadams.gitbook.io/design-into-3d/radiused-fingerjoints > >>> > >>> I just find it more workable to model how the cutting will be done --- > unfortunately, that really bogs down performance-wise. > >>> > >>> William > >>> > >>> > >>> -----Original Message----- > >>> From: Jim Witte <jim.witte@gmail.com> > >>> To: OpenSCAD general discussion <discuss@lists.openscad.org> > >>> Sent: Thu, Jan 13, 2022 12:36 am > >>> Subject: [OpenSCAD] Box lid "finger indentation" - rounded ellipsoidal > indentation? > >>> > >>> I'm designing a jewelry box and want to "finger indentation" on the > lid/box seam, and I've got the following sketch of a cube with a subrarted > ellipsoid: > >>> > >>> difference() { > >>> color("green") > >>> translate([0,0,3]) > >>> cube([20,30,6], center=true); > >>> > >>> // Pocket ellipsoid > >>> color("purple", 0.7) > >>> translate([0,-15,0]) > >>> scale([2, 2, 0.9]) > >>> sphere(3, center=true, $fn=30); > >>> } // if difference > >>> > >>> Except this has sharp edges at the intersection across the front and > bottom faces. How could I round these off? (Without importing it into > Fusion which I don't know how to do - but I'm sure it would take about 5 > seconds if I did). > >>> > >>> I guessed that I might use minkowski with a small sphere - but that > doesn't seem to work, takes forever, and messes with the geometry outside > "just the pocket". > >>> > >>> I thought of making two toruses along the front and bottom edges of > the pocket, but can't figure out what boolean operations to use too combine > them right. Careful placement of the tori, then union them will the whole > model, then one or more unions with the model? > >>> > >>> Jim > >>> _______________________________________________ > >>> OpenSCAD mailing list > >>> To unsubscribe send an email to discuss-leave@lists.openscad.org > >>> > >>> > >>> > >>> ---------- Forwarded message ---------- > >>> From: "William F. Adams via Discuss" <discuss@lists.openscad.org> > >>> To: "discuss@lists.openscad.org" <discuss@lists.openscad.org> > >>> Cc: "William F. Adams" <willadams@aol.com> > >>> Bcc: > >>> Date: Thu, 13 Jan 2022 15:01:58 +0000 (UTC) > >>> Subject: [OpenSCAD] Fwd: Box lid "finger indentation" - rounded > ellipsoidal indentation? > >>> _______________________________________________ > >>> OpenSCAD mailing list > >>> To unsubscribe send an email to discuss-leave@lists.openscad.org > >> > >> _______________________________________________ > >> OpenSCAD mailing list > >> To unsubscribe send an email to discuss-leave@lists.openscad.org > > > > _______________________________________________ > > OpenSCAD mailing list > > To unsubscribe send an email to discuss-leave@lists.openscad.org > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
AM
Adrian Mariano
Fri, Jan 14, 2022 3:44 AM

So the purpose of that code is to make the thumbnail cutout cross
section curve, but add a roundover to its end.  The path_join function
will take two paths, join them end to and and apply a roundover at the
joined corner, so what I need is an appropriate quarter circle for the
cutout, and then a flat that will go along the top of the cube.  The
r=3 is chosen to match the original radius in the post.  Then I picked
angles to make the 90 degree arc, going from theta=-90 to theta=0.
That's the first path to be joined.  The second one is just a
horizontal line of length 1.01, which I chose to be just slightly
longer than the "joint" distance for the rounding that connects the
two paths.  That way there's not a lot of extra.  I then tossed some
additional points to give some extra height to the shape to ensure no
problems with the difference operation.  There may be better or
easier ways to make a suitable curve.

On Thu, Jan 13, 2022 at 9:50 PM Leonard Martin Struttmann
lenstruttmann@gmail.com wrote:

Adrian,

                       each path_join([arc(r=3, N=64, angle=[-90,0]), [[0,0],[1.1,.01]]], joint=1),
                       [4.1,1]

Very nice! How did you pick these values?

On Thu, Jan 13, 2022 at 5:33 PM Adrian Mariano avm4@cornell.edu wrote:

I got sucked into trying to find a solution to this that doesn't
involve guesswork, and produces a smooth transition to the roundover.
This has some funny business at the bottom of the cutout where the two
masks intersect, but it renders OK.  No guesswork.  BOSL2 is only
really used for generating the curved edge with the smooth transition.

include <BOSL2/std.scad>
include <BOSL2/rounding.scad>

difference() {
color("green")
translate([0,0,3])
cube([20,30,6], center=true);
// Pocket ellipsoid
color("purple", 0.7)
translate([0,-15,0])
scale([2, 2, 0.9])
xrot_copies([0,-90])
zflip()
rotate_extrude($fn=128)
polygon([
[0,1],
each path_join([arc(r=3, N=64, angle=[-90,
0]), [[0,0],[1.1,.01]]], joint=1),
[4.1,1]
]);
}  // if difference

On Thu, Jan 13, 2022 at 12:56 PM Jim Witte jim.witte@gmail.com wrote:

Thanks!

On Thu, Jan 13, 2022 at 10:15 AM Leonard Martin Struttmann lenstruttmann@gmail.com wrote:

Jim, I was able to round the side face using a "negative" torus and just eyeballing the scaling, etc.

////use <LMS/toruses.scad>
//$fn = 48;
//
//difference() {
////    color("green")
//        translate([0,0,3])
//            cube([20,30,6], center=true);
//
//    // Pocket ellipsoid
////    color("purple", 0.7)
//        translate([0,-15,0])
//            scale([2, 2, 0.9])
//                sphere(3, $fn=30);
//
//      translate([0,-14.1,0])
//      scale( [ 1.48,1,.67] )
//      rotate( [ 90, 0, 0 ] )
//      difference()
//      {
//        cylinder( 2, r=5, center=true );
//
//        rotate_extrude()
//        translate([5,0,0])
//        circle(1);
//
//        translate( [ 0, 0, -3] )
//        cylinder( 6, r=10, center=true );
//      }
//
//}

difference() {
color("green")
translate([0,0,3])
cube([20,30,6], center=true);

// Pocket ellipsoid
color("purple", 0.7)
    translate([0,-15,0])
        scale([2, 2, 0.9])
            sphere(3, $fn=30);

    translate([0,-14.1,0])
    scale( [ 1.48,1,.67] )
    rotate( [ 90, 0, 0 ] )
    difference()
    {
      $fn=36;

      cylinder( 2, r=5, center=true );

      // torus
      rotate_extrude()
      translate([5,0,0])
      circle(1);

      translate( [ 0, 0, -3] )
      cylinder( 6, r=10, center=true );
    }

}  // if difference

On Thu, Jan 13, 2022 at 9:09 AM William F. Adams via Discuss discuss@lists.openscad.org wrote:

---------- Forwarded message ----------
From: "William F. Adams" willadams@aol.com
To: "discuss@lists.openscad.org" discuss@lists.openscad.org
Cc:
Bcc:
Date: Thu, 13 Jan 2022 15:01:58 +0000 (UTC)
Subject: [OpenSCAD] Fwd: Box lid "finger indentation" - rounded ellipsoidal indentation?
I've been looking at this sort of thing:

https://willadams.gitbook.io/design-into-3d/radiused-fingerjoints

I just find it more workable to model how the cutting will be done --- unfortunately, that really bogs down performance-wise.

William

-----Original Message-----
From: Jim Witte jim.witte@gmail.com
To: OpenSCAD general discussion discuss@lists.openscad.org
Sent: Thu, Jan 13, 2022 12:36 am
Subject: [OpenSCAD] Box lid "finger indentation" - rounded ellipsoidal indentation?

I'm designing a jewelry box and want to "finger indentation" on the lid/box seam, and I've got the following sketch of a cube with a subrarted ellipsoid:

difference() {
color("green")
translate([0,0,3])
cube([20,30,6], center=true);

// Pocket ellipsoid
color("purple", 0.7)
    translate([0,-15,0])
        scale([2, 2, 0.9])
            sphere(3, center=true, $fn=30);

}  // if difference

Except this has sharp edges at the intersection across the front and bottom faces.  How could I round these off?  (Without importing it into Fusion which I don't know how to do - but I'm sure it would take about 5 seconds if I did).

I guessed that I might use minkowski with a small sphere - but that doesn't seem to work, takes forever, and messes with the geometry outside "just the pocket".

I thought of making two toruses along the front and bottom edges of the pocket, but can't figure out what boolean operations to use too combine them right.  Careful placement of the tori, then union them will the whole model, then one or more unions with the model?

Jim


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

---------- Forwarded message ----------
From: "William F. Adams via Discuss" discuss@lists.openscad.org
To: "discuss@lists.openscad.org" discuss@lists.openscad.org
Cc: "William F. Adams" willadams@aol.com
Bcc:
Date: Thu, 13 Jan 2022 15:01:58 +0000 (UTC)
Subject: [OpenSCAD] Fwd: Box lid "finger indentation" - rounded ellipsoidal indentation?


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


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


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


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


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

So the purpose of that code is to make the thumbnail cutout cross section curve, but add a roundover to its end. The path_join function will take two paths, join them end to and and apply a roundover at the joined corner, so what I need is an appropriate quarter circle for the cutout, and then a flat that will go along the top of the cube. The r=3 is chosen to match the original radius in the post. Then I picked angles to make the 90 degree arc, going from theta=-90 to theta=0. That's the first path to be joined. The second one is just a horizontal line of length 1.01, which I chose to be just slightly longer than the "joint" distance for the rounding that connects the two paths. That way there's not a lot of extra. I then tossed some additional points to give some extra height to the shape to ensure no problems with the difference operation. There may be better or easier ways to make a suitable curve. On Thu, Jan 13, 2022 at 9:50 PM Leonard Martin Struttmann <lenstruttmann@gmail.com> wrote: > > Adrian, > > each path_join([arc(r=3, N=64, angle=[-90,0]), [[0,0],[1.1,.01]]], joint=1), > [4.1,1] > > Very nice! How did you pick these values? > > > > On Thu, Jan 13, 2022 at 5:33 PM Adrian Mariano <avm4@cornell.edu> wrote: >> >> I got sucked into trying to find a solution to this that doesn't >> involve guesswork, and produces a smooth transition to the roundover. >> This has some funny business at the bottom of the cutout where the two >> masks intersect, but it renders OK. No guesswork. BOSL2 is only >> really used for generating the curved edge with the smooth transition. >> >> include <BOSL2/std.scad> >> include <BOSL2/rounding.scad> >> >> >> difference() { >> color("green") >> translate([0,0,3]) >> cube([20,30,6], center=true); >> // Pocket ellipsoid >> color("purple", 0.7) >> translate([0,-15,0]) >> scale([2, 2, 0.9]) >> xrot_copies([0,-90]) >> zflip() >> rotate_extrude($fn=128) >> polygon([ >> [0,1], >> each path_join([arc(r=3, N=64, angle=[-90, >> 0]), [[0,0],[1.1,.01]]], joint=1), >> [4.1,1] >> ]); >> } // if difference >> >> >> >> On Thu, Jan 13, 2022 at 12:56 PM Jim Witte <jim.witte@gmail.com> wrote: >> > >> > Thanks! >> > >> > On Thu, Jan 13, 2022 at 10:15 AM Leonard Martin Struttmann <lenstruttmann@gmail.com> wrote: >> >> >> >> Jim, I was able to round the side face using a "negative" torus and just eyeballing the scaling, etc. >> >> >> >> ////use <LMS/toruses.scad> >> >> //$fn = 48; >> >> // >> >> //difference() { >> >> //// color("green") >> >> // translate([0,0,3]) >> >> // cube([20,30,6], center=true); >> >> // >> >> // // Pocket ellipsoid >> >> //// color("purple", 0.7) >> >> // translate([0,-15,0]) >> >> // scale([2, 2, 0.9]) >> >> // sphere(3, $fn=30); >> >> // >> >> // translate([0,-14.1,0]) >> >> // scale( [ 1.48,1,.67] ) >> >> // rotate( [ 90, 0, 0 ] ) >> >> // difference() >> >> // { >> >> // cylinder( 2, r=5, center=true ); >> >> // >> >> // rotate_extrude() >> >> // translate([5,0,0]) >> >> // circle(1); >> >> // >> >> // translate( [ 0, 0, -3] ) >> >> // cylinder( 6, r=10, center=true ); >> >> // } >> >> // >> >> //} >> >> >> >> difference() { >> >> color("green") >> >> translate([0,0,3]) >> >> cube([20,30,6], center=true); >> >> >> >> // Pocket ellipsoid >> >> color("purple", 0.7) >> >> translate([0,-15,0]) >> >> scale([2, 2, 0.9]) >> >> sphere(3, $fn=30); >> >> >> >> translate([0,-14.1,0]) >> >> scale( [ 1.48,1,.67] ) >> >> rotate( [ 90, 0, 0 ] ) >> >> difference() >> >> { >> >> $fn=36; >> >> >> >> cylinder( 2, r=5, center=true ); >> >> >> >> // torus >> >> rotate_extrude() >> >> translate([5,0,0]) >> >> circle(1); >> >> >> >> translate( [ 0, 0, -3] ) >> >> cylinder( 6, r=10, center=true ); >> >> } >> >> } // if difference >> >> >> >> On Thu, Jan 13, 2022 at 9:09 AM William F. Adams via Discuss <discuss@lists.openscad.org> wrote: >> >>> >> >>> >> >>> >> >>> >> >>> ---------- Forwarded message ---------- >> >>> From: "William F. Adams" <willadams@aol.com> >> >>> To: "discuss@lists.openscad.org" <discuss@lists.openscad.org> >> >>> Cc: >> >>> Bcc: >> >>> Date: Thu, 13 Jan 2022 15:01:58 +0000 (UTC) >> >>> Subject: [OpenSCAD] Fwd: Box lid "finger indentation" - rounded ellipsoidal indentation? >> >>> I've been looking at this sort of thing: >> >>> >> >>> https://willadams.gitbook.io/design-into-3d/radiused-fingerjoints >> >>> >> >>> I just find it more workable to model how the cutting will be done --- unfortunately, that really bogs down performance-wise. >> >>> >> >>> William >> >>> >> >>> >> >>> -----Original Message----- >> >>> From: Jim Witte <jim.witte@gmail.com> >> >>> To: OpenSCAD general discussion <discuss@lists.openscad.org> >> >>> Sent: Thu, Jan 13, 2022 12:36 am >> >>> Subject: [OpenSCAD] Box lid "finger indentation" - rounded ellipsoidal indentation? >> >>> >> >>> I'm designing a jewelry box and want to "finger indentation" on the lid/box seam, and I've got the following sketch of a cube with a subrarted ellipsoid: >> >>> >> >>> difference() { >> >>> color("green") >> >>> translate([0,0,3]) >> >>> cube([20,30,6], center=true); >> >>> >> >>> // Pocket ellipsoid >> >>> color("purple", 0.7) >> >>> translate([0,-15,0]) >> >>> scale([2, 2, 0.9]) >> >>> sphere(3, center=true, $fn=30); >> >>> } // if difference >> >>> >> >>> Except this has sharp edges at the intersection across the front and bottom faces. How could I round these off? (Without importing it into Fusion which I don't know how to do - but I'm sure it would take about 5 seconds if I did). >> >>> >> >>> I guessed that I might use minkowski with a small sphere - but that doesn't seem to work, takes forever, and messes with the geometry outside "just the pocket". >> >>> >> >>> I thought of making two toruses along the front and bottom edges of the pocket, but can't figure out what boolean operations to use too combine them right. Careful placement of the tori, then union them will the whole model, then one or more unions with the model? >> >>> >> >>> Jim >> >>> _______________________________________________ >> >>> OpenSCAD mailing list >> >>> To unsubscribe send an email to discuss-leave@lists.openscad.org >> >>> >> >>> >> >>> >> >>> ---------- Forwarded message ---------- >> >>> From: "William F. Adams via Discuss" <discuss@lists.openscad.org> >> >>> To: "discuss@lists.openscad.org" <discuss@lists.openscad.org> >> >>> Cc: "William F. Adams" <willadams@aol.com> >> >>> Bcc: >> >>> Date: Thu, 13 Jan 2022 15:01:58 +0000 (UTC) >> >>> Subject: [OpenSCAD] Fwd: Box lid "finger indentation" - rounded ellipsoidal indentation? >> >>> _______________________________________________ >> >>> OpenSCAD mailing list >> >>> To unsubscribe send an email to discuss-leave@lists.openscad.org >> >> >> >> _______________________________________________ >> >> OpenSCAD mailing list >> >> To unsubscribe send an email to discuss-leave@lists.openscad.org >> > >> > _______________________________________________ >> > OpenSCAD mailing list >> > To unsubscribe send an email to discuss-leave@lists.openscad.org >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email to discuss-leave@lists.openscad.org > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org