|
|
> I've thrown away my first idea, which was to put cylinders around the
> four sides of the box (first subtracting the radius as a box) but that
> only works along the sides of the hole. I need the corners to be nicely
> rounded too.
You've got the right idea. The corners are harder, but can be rounded off
using a torus with a minor and major radius both equal to the
roundoff-radius. Cut out one quarter of the torus by differencing (or
intersecting with) two planes. This just leaves a little bit of space
*behind* the torus which can be filled in by a small box differenced by a
cylinder.
- Slime
[ http://www.slimeland.com/ ]
Post a reply to this message
|
|
|
|
I would try this, maybe in a macro:
First cut out the hole like you did
> ___ __
> | |
> | |
> |____|
Then cut out a hole not so deep but with a bigger radius
__ __
|_ _|
| |
|____|
The last thing is placing a torus that way, that it fills the edges. The
major radius for the torus is the radius for the bigger hole and the
minor radius is the radius for the first hole you made.
___ _ _ ___
| |_\ /_| |
\___| |___/<-- this is the torus
|____|
I hope this is clear enough.
I also could post some code if you wish...
So long,
Bonsai
--
<--------------------------->
___ __ __ _ ___ ___ _
| _ ) \ \( ) _) _ )( )
| _ \() |\ \ |\ \/ _ \| |
|___/__/_)\__)___)/ \_)_)
www.b0n541.net
<--------------------------->
Post a reply to this message
|
|
|
|
Bonsai wrote:
Something thats incorrect because he had not enough coffee, yet. ;-)
> The last thing is placing a torus that way, that it fills the edges. The
> major radius for the torus is the radius for the bigger hole and the
> minor radius is the radius for the first hole you made.
The radius for the minor radius is the difference between the radii of
the two holes.
Here is a short example scene:
#default {
texture { pigment {color rgb 1}}
}
// create a regular point light source
light_source {
<20, 40, -20>
color rgb <1,1,1> // light's color
}
// perspective (default) camera
camera {
location <10, 10, 0>
look_at <0.0, 5.0, 0.0>
right x*image_width/image_height
}
merge {
difference {
box { <-5, -5, -5>, < 5, 5, 5>}
cylinder { <0, 0, 0>, <0, 6, 0>, 2 }
cylinder { <0, 4, 0>, <0, 6, 0>, 3 }
}
torus { 3, 1 translate <0, 4, 0>}
}
Hope that helps...
So long,
Bonsai
--
<--------------------------->
___ __ __ _ ___ ___ _
| _ ) \ \( ) _) _ )( )
| _ \() |\ \ |\ \/ _ \| |
|___/__/_)\__)___)/ \_)_)
www.b0n541.net
<--------------------------->
Post a reply to this message
|
|