The first round part of the sphere I did with Pathtruder, however I wanted to try the CSG with LDPE to get a proper result.
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.
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:
Now we need the 3mm wide hole for the bases and a slightly larger cylinder to get the pocket within the Blind Stud
The final parts are used to cut the bowl into shape:
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:
Second Step is to cut the inner parts with the shape of the Inner Sphere as they need to be attached to this surface:
As the inner parts are nearly done, I can do the bowl itself: First cut the sphere in half, the subtract the inner sphere
Next we put in the Inner Parts into the bowl:
Finally we need to cut off the unwanted parts and we get the final result before adding primitives.
Kudos to Nils for this fine SW that made the generation of this central subpart very smooth!
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!