David Wilkinson wrote:
>
> This is very impressive.
Thank you!
> The creation of internal fillet radii and rounding of
> external sharp edges is a real problem when trying to model real world objects
> with CSG.
> There are, however, a very large number of combinations of different objects
> possible in creating a composite CSG object.
Yes, to my big frustration I am aware of the many possible
combinations.
I have only chosen to attack a small subset of them.
> Does your macro attack the general
> problem?
I'm afraid not...
I think that would require some pre-processing of the POV-file.
Or I would have to make macros that did some "intelligent"
scaling of the objects before the CSG was applied.
The macro(s) would also have to figure out if it's possible
to do the "smoothing" with POV-Rays object primitives.
(There are some "missing") And then at last it would have
to select and "custom cut" the chosen object primitives before
applying them to the final CSG operations...
...And I do not have time now to even try figuring out all this.
> Or, if not, what cases does it apply to?
To combinations of these object primitives:
Plane
Cylinder
Cone
Sphere
Torus
(But there will be restrictions on how they are aligned
and positioned relative to each other.)
Macro so far:
Sphere meets Sphere
Torus meets Sphere
Torus meets Torus
(Cylinder meets Cylinder)
Next to do:
Sphere meets Cone
Torus meets Cone
Sphere meets Cylinder
Torus meets Cylinder
Cylinder meets Cone
Cone meets Cone
And finally:
Sphere meets Plane
Torus meets Plane
Cylinder meets Plane
Cone meets Plane
Plane meets Plane
I have enclosed to images with this posting.
The first one shows how the CSG would have looked if the
"smoothing" had not been applied (upper part of picture)
and also the different objects that my macro returned for
"CSG-ing" (lower part of picture).
The second picture shows in detail a cut of the right part
of my "wheel".
The grey area again shows how the CSG-object would have
looked without "smoothing".
The green parts shows the parts (objects) that my macro
returned which I chose to "add" to the final object.
And the red parts shows the parts (objects) that my macro
returned which I chose to "subtract" from the final object.
My macro(s) needs numerical information about the two
objects that are to be "smoothed" together (radii, centres,
endpoints, etc.)
Then one has to select from different types of "smoothing"
("internal"/"external" fillet radii or "internal"/"external"
rounding-radii).
In addition to returning parts that can be directly included
in the final CSG operation my macro(s) will also return some
useful numerical information about these parts.
> (Whatever the answer your macro/macros will be a welcome addition to the CSG
> toolbox!)
If there is any interest for my macros then I will release
them so that other POV-ers can use them.
(But I think that I should finish them first. ;-)
Tor Olav
--
mailto:tor### [at] hotmailcom
http://www.crosswinds.net/~tok/tokrays.html
Post a reply to this message
Attachments:
Download 'tt01.jpg' (46 KB)
Download 'tt02.jpg' (14 KB)
Preview of image 'tt01.jpg'
Preview of image 'tt02.jpg'
|