Stap 2: Een fundamentele ping-pong bal
We beginnen met de externe envellope van de bal, die bestaat uit een cilinder met een diameter van 40mm.
function main(){ var ballDiameter = 40; var sphereRes = 50; var outerSphere = CSG.sphere({ center: [0, 0, 0], radius: ballDiameter/2., // must be scalar resolution: sphereRes // optional }); return outerSphere; }
U kunt meer informatie over het genereren van sferen met OpenJSCAD in de gebruikershandleiding vinden hier.
Na het genereren van het model (Shift + Enter), moet u een bol zoals in de bovenstaande afbeelding.
Maar wacht, wat we hier hebben is een stevige bol, die in een vrij resulteren zou
zware bal! Om het model van een werkelijke ping pong bal, we moeten hol uit de
binnenkant van ons gebied.
Om dat te doen, zullen we gebruiken een Booleaanse bewerking genoemd een verschil, dat gebeurt
in OpenJSCAD door het aanroepen van de functie van de verschil met twee 3D-objecten als parameters.
Fundamentele ping-pong bal script
function main(){ var ballDiameter = 40; var wallThickness = 1.0; var sphereRes = 50; var outerSphere = CSG.sphere({ center: [0, 0, 0], radius: ballDiameter/2., // must be scalar resolution: sphereRes // optional }); var innerSphere = CSG.sphere({ center: [0, 0, 0], radius: ballDiameter/2. - wallThickness , // must be scalar resolution: sphereRes // optional }); var cuttingCube = CSG.cube({ center: [0, -ballDiameter/2., 0], radius: [ballDiameter/2, ballDiameter/2, ballDiameter/2] }); var ball = difference(outerSphere, innerSphere); return difference(ball, cuttingCube); }
Ik gebruikte een kubus te snijden de bol doormidden zodat u beter zien kunt dat de bal wordt
inderdaad holle. Een wanddikte van 1mm garandeert bedrukbaarheid, alsmede degelijkheid,
temeer daar later we gaten helemaal over het oppervlak van de bal voegen.