[OpenSCAD] truncated teardrop countersink

nop head nop.head at gmail.com
Fri Sep 30 22:42:46 CEST 2011


Thanks All,

I think a 3D hull would have been the easiest and most general solution to
this type of problem, but hull is only 2D in the version I have.

Whosawhatsis' version looks good. I used Triifid's because it was easier to
drop in. I tidied it up a bit:

module teardrop2(r1 = 10, r2 = 5, h=5) {
   slope = -atan((r1 - r2) / h);
   union() {
       rotate([0, 0, 45])
           difference() {
               cube([r1, r1, h]);
               translate([r1 * sqrt(2), 0, 0])
                   rotate([0, 0, 45])
                       rotate([0, slope, 0])
                           translate([0, 0, -r1])
                               cube([r1 * 2, r1 * 2, h * r1]);
               translate([r1, r1, 0])
                   rotate([0, 0, 90])
                       rotate([0, slope, 0])
                           translate([0, 0, -r1])
                               cube([r1 * 2, r1 * 2, h * r1]);
               translate([r1, -r1, 0])
                   rotate([0, 0, 0])
                       rotate([0, slope, 0])
                           translate([0, 0, -r1])
                               cube([r1 * 2, r1 * 2, h * r1]);
           }
       cylinder(r1 = r1, r2 = r2, h = h, $fn = 32);
   }
}

The tear-dropped version uses a little less plastic and has less overhangs,
as well as looking nicer, but the original does print OK.


On 30 September 2011 00:53, Triffid Hunter <triffid.hunter at gmail.com> wrote:
> here's a present for you!
>
> module teardrop2(r1 = 10, r2 = 5, h=5) {
>        difference() {
>                cube([r1, r1, h]);
>                translate([r1 * sqrt(2), 0, 0]) rotate([0, 0, 45])
rotate([0,
> -atan((r1 - r2) / h), 0]) translate([0, 0, -r1]) cube([r1 * 2, r1 * 2,
> h * (r1)]);
>                translate([r1, r1, 0]) rotate([0, 0, 90]) rotate([0,
-atan((r1 - r2)
> / h), 0]) translate([0, 0, -r1]) cube([r1 * 2, r1 * 2, h * (r1)]);
>                translate([r1, -r1, 0]) rotate([0, 0, 0]) rotate([0,
-atan((r1 - r2)
> / h), 0]) translate([0, 0, -r1]) cube([r1 * 2, r1 * 2, h * (r1)]);
>        }
>        cylinder(r1 = r1, r2 = r2, h=h);
> }
>
> r1 must be > r2 at the moment
>
> enjoy :)
>
> On Fri, Sep 30, 2011 at 7:23 AM, nop head <nop.head at gmail.com> wrote:
>> Anybody know how to model this?
>>
>> The hole and the counter-bore are truncated tear drops. How do I join
>> them with a 45 degree countersink that is also tear dropped?
>>
>> It would be a loft operation in CoCreate.
>>
>> _______________________________________________
>> OpenSCAD mailing list
>> OpenSCAD at rocklinux.org
>> http://rocklinux.net/mailman/listinfo/openscad
>>
>>
> _______________________________________________
> OpenSCAD mailing list
> OpenSCAD at rocklinux.org
> http://rocklinux.net/mailman/listinfo/openscad
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://rocklinux.net/pipermail/openscad/attachments/20110930/826c7577/attachment.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fixing-block2.png
Type: image/png
Size: 13243 bytes
Desc: not available
Url : http://rocklinux.net/pipermail/openscad/attachments/20110930/826c7577/fixing-block2.png


More information about the OpenSCAD mailing list