**20455 - Hemisphere 9 x 4 x 7 (from Jurassic World)**

2015-05-08, 20:01 (This post was last modified: 2015-06-05, 7:25 by Gerald Lasser.)

2015-05-08, 20:01 (This post was last modified: 2015-06-05, 7:25 by Gerald Lasser.)

I want to list the steps here, first of all the final result of the CSG operations:

I made the blind stud transparent to show the pocket that is there.

To start we need some Hi-Res spheres, i.e. 48 divisions of a circle, for the outer and inner surfaces.

Code:

`0 !LPE CSG_QUALITY 48`

0 !LPE CSG_ELLIPSOID OuterSphere 16 0 68 0 85 0 0 0 85 0 0 0 85

0 !LPE CSG_ELLIPSOID InnerSphere 16 0 68 0 82.50 0 0 0 82.50 0 0 0 82.50

Now we need the inner parts, which are all formed from cylinders. Those are the bases for the Axleholes and the blind stud as I call it for a lack of better name. I have decided not to use hi-res here so switch back to 16 sides:

Code:

`0 !LPE CSG_QUALITY 16`

0 !LPE CSG_CYLINDER AxleHoleR 16 50 18 0 0 25 0 0 0 9 9 0 0

0 !LPE CSG_CYLINDER AxleHoleL 16 50 118 0 0 25 0 0 0 9 9 0 0

0 !LPE CSG_CYLINDER BlindStud 47 50 18 20 0 20 0 0 0 9 9 0 0

Now we need the 3mm wide hole for the bases and a slightly larger cylinder to get the pocket within the Blind Stud

Code:

`0 !LPE CSG_CYLINDER HoleR 16 50 18 0 0 25 0 0 0 4 4 0 0`

0 !LPE CSG_CYLINDER HoleL 16 50 118 0 0 25 0 0 0 4 4 0 0

0 !LPE CSG_CYLINDER PocketR 16 55 18 20 0 25 0 0 0 5 5 0 0

The final parts are used to cut the bowl into shape:

Code:

`0 !LPE CSG_CUBOID Cube 16 90 68 0 90 0 0 0 90 0 0 0 90`

0 !LPE CSG_CUBOID l 16 90 98 0 90 0 0 0 90 0 0 0 90

0 !LPE CSG_CUBOID m 16 90 38 0 90 0 0 0 90 0 0 0 90

All parts are now available and the construction starts!

The first step is to unite the inner parts and cut the pocket. I tried to cut the pocket in the end, but this did not form the bottom of the pocket, so I did it at this step as well:

Code:

`0 !LPE CSG_UNION AxleHoleR AxleHoleL InnerParts`

0 !LPE CSG_UNION InnerParts BlindStud InnerParts

0 !LPE CSG_DIFFERENCE InnerParts PocketR InnerParts

Second Step is to cut the inner parts with the shape of the Inner Sphere as they need to be attached to this surface:

Code:

`0 !LPE CSG_INTERSECTION InnerParts InnerSphere InnerParts`

As the inner parts are nearly done, I can do the bowl itself: First cut the sphere in half, the subtract the inner sphere

Code:

`0 !LPE CSG_INTERSECTION OuterSphere Cube OuterSphereHalf`

0 !LPE CSG_DIFFERENCE OuterSphereHalf InnerSphere BowlHalf

Next we put in the Inner Parts into the bowl:

Code:

`0 // Add the Inner Parts`

0 !LPE CSG_UNION BowlHalf InnerParts Bowl1

0 // “Drill” the holes, the Pocket needs to be done again

0 !LPE CSG_DIFFERENCE BowlHalf HoleR BowlHalf

0 !LPE CSG_DIFFERENCE BowlHalf HoleL BowlHalf

0 !LPE CSG_DIFFERENCE BowlHalf PocketR BowlHalf

Finally we need to cut off the unwanted parts and we get the final result before adding primitives.

Code:

`0 // Cut off the Top and Bottom of the bowl`

0 !LPE CSG_INTERSECTION BowlHalf l BowlHalf

0 !LPE CSG_INTERSECTION BowlHalf m BowlHalf

Kudos to Nils for this fine SW that made the generation of this central subpart very smooth!

If I cut off the part first with the help of the cubes, the result looks very good as a DAT:

When I then subtract the inner sphere and convert it to DAT, a whole bunch of T-Junctions occur all over:

Looks like there is some tweaking necessary:

I can avoid a lot of those T-Junctions when I do the inner and outer surface as separate CSGs. However I have to edit the result, remove covering triangles etc. and then do the second CSG and finally merge them in a file.

I tried experimenting with the Epsilon value, but I got no better result.

The CSG is really nice, but I will do the shape now in a two step approach.

First I thought the wall is too thin, just 2,5 LDU but the strange tri-angles do not depend on the size of the inner sphere. When I do the complete sphere with CSG, I also get "shadows" of the intersection of the axle-hole with the inner sphere projected onto the outer sphere.

Users browsing this thread: 1 Guest(s)

Users browsing this thread: 1 Guest(s)