# Monitor Mount

16 messages
Open this post in threaded view
|

## Monitor Mount

Open this post in threaded view
|

## Re: Monitor Mount

Open this post in threaded view
|

## Re: Monitor Mount

Open this post in threaded view
|

## Re: Monitor Mount

Open this post in threaded view
|

## Re: Monitor Mount

Open this post in threaded view
|

## Re: Monitor Mount

Open this post in threaded view
|

## Re: Monitor Mount

 In reply to this post by alexgibson On 2019-11-22 15:48, Alex Gibson wrote: > Here's an example of that.  It's better, as it gives both fillets, if > you want them the same radius: Yes, that's what I meant, as I did this https://gist.github.com/arnholm/a8254293238b2143c4565fc179104576Carsten Arnholm _______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Open this post in threaded view
|

## Re: Monitor Mount

Open this post in threaded view
|

## Re: Monitor Mount

Open this post in threaded view
|

## Re: Monitor Mount

Open this post in threaded view
|

## Re: Monitor Mount

 In reply to this post by alexgibson On 2019-11-22 16:25, Alex Gibson wrote: > Nice!  I must check out AngelCAD. > > So this works well for square-edged items.  I wanted to check how well > my example would work for  rounded shapes.  Not so well. > > In this case the 'mount' is supposed to have rounded ends being the > union of two cylinders.  But the cubes I used to inflate the original > piece overpowered the original shape's radii: I have not tried that, but this technique is equivalent to "machine away" a layer of material of thickness equal to fillet radius from all sides, so if the shape is rounded in the first place, that rounding will be reduced or disappear. Perhaps the general solution is to first inflate the original rounded shape using minkowski, using a sphere with the fillet radius. Then apply the same technique as demonstrated for the square-edge items on the result. This could be considered a 3d equivalent to positive followed by negative offsets in 2d. Carsten Arnholm _______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Open this post in threaded view
|

## Re: Monitor Mount

 For convex shapes, one can use the following solution that builds on hull: convex_fillet(10)   linear_extrude(50)     offset(0) square([10, 40], center = true); module convex_fillet(r=10, n=6) {   for(i=[0:n-1])   {     w0 = 90/n*i;     w1 = 90/n*(i+1);     x0 = r*(1-sin(w0));     x1 = r*(1-sin(w1));     y0 = r*(1-cos(w0));     y1 = r*(1-cos(w1));     hull()     {       translate([0,0,y0])linear_extrude(.01)       offset(x0)projection() children();         translate([0,0,y1])linear_extrude(.01)       offset(x1)projection() children();     }   }    children(); } -- Sent from: http://forum.openscad.org/_______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Open this post in threaded view
|

## Re: Monitor Mount

Open this post in threaded view
|

## Re: Monitor Mount

 I wrote a module specifically to handle this sort of problem.  My module, offset_sweep, constructs a polygon from a set of polygons offset from a given polygon.  You have to supply the starting shape as a point sequence rather than geometry.   I contributed by function to the BOSL2 library.   Here's the code: include include fillet_radius = 10; mount_width = 15; mount_length = 75; rectangle = square([mount_width, mount_length],center=true); round_rectangle = round_corners(rectangle, measure="radius", size=mount_width/2,\$fn=64); cuboid([200,100,10],anchor=TOP); offset_sweep(round_rectangle, height=50, bottom=os_circle(r=-fillet_radius)); And here's the result, which previews in 1s and renders in 3s on my machine.   -- Sent from: http://forum.openscad.org/_______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org