Edited 3/17/2024: In the hustle of working to get things ready for our wedding, I mistakenly posted this article before it was completed. I had taken a break from this series while we got some things in order and thought that this piece was ready to be published, but that I had simply forgotten.Welcome to part 2 of the series! This part covers how to create the first shell half of the Pokéball. I targeted a radius of 30 millimeters for the entire Pokéball, which is based on some general searches online for the "correct" size of one. There is certainly some subjectivity to this value, so feel free to use values that you see fit.

Model reference

When it comes to modeling anything, you should always use something as a reference to help guide your process. This can be anything from a simple image, a detailed schematic, or even pictures of a rough clay model that was made by hand. It's not impossible to model without a reference, but it's far harder to make meaningful progress. This is why 3D modelers generally have some kind of drawing or rough sketch when blocking out a new model.

FreeCAD, being parametric, doesn't really require that you use model references the same way as you would in Blender. For FreeCAD, precise, real-world dimensions should always be your north star. This is an application you use when you actually want to produce something.

Unfortunately, I couldn't find many reference images that depict an open Pokéball; only two seemed to be actually from the official show (meaning, not fan art), and shows what the interior of the Pokéball looks like.

The first is from the show's introduction sequence:


This image is a solid depiction of what the interior looks like, except that you can't really see what the very top and bottom of the interior looks like. Plus, it's a little obscured by the red flash.

The other image also appears to be from the official show, but I am not familiar enough with it to know where exactly it came from. With that being said, this is the second image I am using as a reference for this project. This one does show what the very top of the interior looks like (and I'm operating under the assumption that the bottom looks the same):


From looking at these images, we can make the following observations about the general design of a Pokéball:

  • There is no hinge mechanism depicted
    • This isn't something that can be emulated in a real-world reproduction; some kind of hinge will be required in order to be able to open and close it
  • The interior of the shell is segmented; the exterior is not
    • Though not depicted in either image, this segmentation will be most-easily accomplished by having an inner and outer shell for each half
  • There are pins at the corner intersections for the interior panels
    • I'm not sure what these actually are, but they serve as a good location to place screw holes for small, brass screws to secure the inner shell to the outer
  • Each segment in the middle row of inner panels has some kind of glass material pane
  • The top-most segment has a separate segment different from the rest of the inner panels (the green-ish section)
    • Various fan art resources I've seen online listed this section as the "energy cells", which I like - I will stick to referring to this section such

These design notes, coupled with the outermost radius of 30 millimeters should give us everything we need to start creating the model.

Creating the outer shell

The first step with creating the shell half is to create the "base" shell object. Each half of the Pokéball has an inner and outer shell.

Create a Sphere object

In a new FreeCAD document, switch to the Part Workbench by clicking the following dropdown button and selecting "Part":


Once you've selected the the Part workbench, the application interface will update to expose new options. Among those options are a number of primitive shapes. Select the option to create a new Sphere primitive object, which is the icon circled in red here:


As soon as you click this button, a new sphere object will be added to your document, but the default values will not be correct for what we need. As mentioned in the introduction to this section, I'm targeting an outermost radius of 30 millimeters. To correct the sphere's radius, select it in the document tree. Then, down in the Data View, edit the Radius value from its default value to the correct radius.

Refer to this screenshot for a little more clarity:


Make sure you apply the change so the document updates and the sphere size is increased in the editor view.

Cut the sphere in half

This and the next step can technically be done in either order. However, it's easier to start with cutting the sphere in half so you can see the inner sphere (which is used when hollowing out the sphere).

Cutting the sphere in half is simply a matter of adding an object that can cover the entire top-half of the sphere and apply a boolean operation that cuts one object using another. In fact, this process is pretty central to much of what you'll do in FreeCAD; combining shapes in various ways to achieve your desired result.

In this case, we'll be creating a simple 70x70x70 millimeter cube and shift it so that it covers the top half of the sphere. To do this:

  1. Add a new Cube primitive
  2. Click it in the document tree
  3. In the Data View, set the Length, Width and Height to 70 millimeters
  4. In the "Base" section of the Data View, click on the "Placement" label to expand it
  5. In the dropdown, click "Position" to expand it
  6. Set the X and Y positions to -35

Once you've followed these steps, the objects in your editor should be situated like this:


With the cube in position, it's time to cut the sphere in half. To do this, select the SPHERE first, then CTRL-click the cube. The order in which you select them is important! The first object selected is always the one that an operation is performed on using the second-selected object.

There are multiple different types of boolean operations, but the kind we are interested in for this operation is called the Cut operation. With the objects selected (remember to select in the correct order), click the Cut icon, which is the icon circled in red here:


Once you click this button, you should be left with only the bottom half of the sphere. However, you may notice that the document tree has updated in ways you may not expect, if you're new to FreeCAD. After the Cut operation has been applied, your document tree will look something like this:


Understanding this is crucial to working with FreeCAD. Combining objects in any way will result in a similar tree node being created. What's happening is that both "input" objects are being nested under a new node representing the operation that took place as well as being marked as hidden. In other words, the input objects still exist and are still usable.

This is a key concept to understand in FreeCAD; you don't need to repeat yourself! If you find yourself needing to reuse an object, you can (and should) do it. If you need to edit the shared object for any reason, you can select any reference to it from anywhere it shows up in your document tree and update it; The change will be propagated to all object that depend on it.

Hollow out the sphere

At this point, you should have half of the original sphere visible in the editor. The process for hollowing out the sphere is simply a matter of adding a smaller sphere centered within the original. So long as you didn't move the original sphere from its default starting location, centering the new sphere is simply a matter of adding a new sphere to the scene; all spheres are centered on the origin when added to the document.

We need to determine the thickness of the shell wall we want. If trying to match the show closely, the shell wall should be relatively thin. Practically speaking, though, if you intend to 3D print the model, you should opt for a thicker shell wall thickness than what's depicted in the show.

Aside from making the 3D print harder to execute, thin shell walls will lead to a delicate model likely to break during assembly. Unless you have a very high-quality SLA printer, you're likely to encounter holes in any model that's too thin. You can try and mitigate these issues with thicker, more numerous supports on the print, but this vastly increases the difficulty in post-processing.

With all that in mind, I've opted for a radius of 26 millimeters for the cutout sphere. The shell wall will appear thicker than whats depicted in the show, but will still be thin enough to leave room for all of the interior details, as well as provide enough support for a hinge attachment. A cutout with a radius of 26 millimeters will result in an initial shell wall thickness of 4 millimeters, which gives ample room for further cutouts that will come later.

To hollow out the half-sphere:

  1. In the Part workbench > click the Sphere icon to add a new sphere primitive
  2. Select the new sphere > Navigate to the Data View and edit the radius to be 26 millimeters
  3. De-select the newly-added sphere
  4. Select the half-sphere (the original one you added) > CTRL+click the newly-added sphere
  5. Click the Cut icon

At this point, you should be left with a hollowed out, half-sphere that looks similar to the following:


Creating the inner panels

If you refer back to the model reference images, you can see lines separating the inner panels into separate segments. There are many ways to go about modeling these lines, but I am preferential to simply cutting the inner shell into the separate segments, which does result in more parts for the model, but looks closer to the reference model than other approaches.

Obtaining the base inner shell object

The first step with creating the inner panels is to cut the inner shell out from the outer shell. If you used the same radii values that I did, you should have a shell wall thickness of 4 millimeters. As mentioned previously, this wall thickness gives us ample material to play with when making further cuts. This is one of those further cuts; we will be cutting the inner shell "from" the base shell object, which will result in inner and outer shell objects.

To cut the inner shell from the base shell object, first follow these setup steps (which don't include actually making the cut, yet):

  1. In the Part workbench > Click the Sphere icon to add a new sphere primitive
  2. Select the newly-added sphere
  3. Navigate to the selected sphere's Data View > edit the radius to be 28 millimeters

Once you've followed these steps, you should end up with your editor looking similar to the following:


The red arrows are not from FreeCAD; I've added those in to illustrate the most-important part required for this setup (in case you're using different values).

The operation we need to obtain the panels is called the Intersection tool, which is the icon circled in red here:


This tool works by taking two objects and returning only the parts where they intersect. The red arrows in the previous screenshot illustrate that the inner sphere is indeed overlapping with the shell base object; you can tell by the lack of black line where the models intersect (e.g., what the arrows are pointing at).

The black line is only present if it's an actual edge in the geometry, which isn't the case when two unlinked objects intersect one another.

To obtain the base inner panels object, click the shell base object first, then CTRL-click the newly-added inner sphere. With both selected, click the Intersection icon depicted in the last screenshot.

It may look like nothing has happened; after running this operation, you'll be left with what looks like the same shell base. However, this is due to FreeCAD's behavior of hiding input objects and showing only the output object. In this case, we want to reveal the shell base again. Expand the newly-created node in your document tree that was created after the Intersection operation. Then, click the base shell object and press the space bar to reveal it.

Your editor should now look similar to the following:


The yellow highlight is due to me hovering over the object with my mouse to indicate that the base shell still overlaps with the inner shell. Because the base shell half input object is still the original object, it does not have the inner panel section of the object cut out from it, yet.

The final step for obtaining the base inner panels object is to make sure you've cut the inner panels from the input base shell half. To do this:

  1. Click the un-hidden base shell half
  2. CTRL-click the PARENT node of the un-hidden base shell half - see click order below

Once you've ensured you have the selected in the proper order, click the Cut operation icon to remove the portion of the base shell mesh where the inner shell will sit.

After applying the operation, you will again be left with only one part of the shell showing due to FreeCAD hiding input objects for operations. Expand the newly-created node in your document tree, click the node for representing the inner shell and press space to reveal it. Your document tree should look something like this:


Assuming all is well, your editor should now look something similar to the following:


The yellow highlight is from me hovering my mouse over the outer shell object; FreeCAD highlights continuous faces when hovered over, which is useful in making sure you did this part right. Refer back to the previous screenshot of the editor;l you can see the highlight intersecting with the face of the un-selected object, which is not what we want. If you did it correctly, hovering over the top face of the outer shell like this should ONLY highlight the outer face ring, as shown here.

Cutting the inner panels into segments

Cutting the inner panels is simply a matter of creating "cutting planes" and using the Slice Apart operation. However, some of this process will require you to switch between benches between operations. It's simply a quirk of how FreeCAD works; you will find yourself regularly switching between benches when making objects with even a moderate degree of complexity.

In total, we need to make 4 cutting planes. The first two will be to cut the inner shell in to quarter segments. We'll need to use the Sketcher workbench to create a 2D shape that we'll then convert to geometry so we can use it as a cutting plane. Once in the Sketcher workbench, the interface will update and show some new buttons; the button to add a new sketch is circled in red here:


We'll start with just one of the cuts first. To create the first cutting plane:

  1. Click the Workbench dropdown and select the Sketcher workbench
  2. Click the Create sketch button
  3. Choose the XZ plane and leave the offset set to 0

Once you've created the new sketch, you'll be brought to a view centered on the origin, aligned with the XZ plane. The cutting plane we'll be creating is just a simple square centered on the origin. To add the square to the sketch, click the dropdown arrow next to the square icon and select the "Centered rectangle" option. Here is what the dropdown looks like:


With "Centered rectangle" selected, click EXACTLY on the origin to start drawing the square. FreeCAD defaults to applying automatic constraints where it can when creating sketches; by clicking on the origin when drawing a centered rectangle, FreeCAD automatically applies a "coincident constraint" for the center point, which will lock the rectangle's center point to the origin.

For the rest, first exit drawing mode by clicking anywhere in the drawing area; you'll be applying constraints that set the correct lengths next, so it doesn't matter what the rectangle looks like when you exit drawing mode.

The next two constraints are the horizontal and vertical distance constraints shown here:


Apply the vertical distance constraint to one of the vertical sides and set the value to 70 millimeters. Do the same thing with the horizontal constraint on one of the horizontal sides and set the distance to 70 millimeters. Since the shape you applied the constraints to is supposed to be a rectangle, FreeCAD knows to apply the same constraint to the opposing side for both of the constraints you manually-added (to ensure the shape is always rectangular).

Once both of the manual distance constraints have been applied, your editor should look something like this:


With the base square shape drawing done, you can now use it to create a 2D cutting plane. To do this, switch to the Part bench. Then:

  1. Select the 2D drawing
  2. In the toolbar, click the Make face from wires button

You should now have a 2D plane intersecting the base shell shapes, similar to the following:


With the base cutting plane made, it's possible to just duplicate it and rotate it by 90 degrees to get the other half of the cutting shape. However, there is also a Mirroring button in the Part work bench that can simplify the process a bit:

  1. Select the first cutting plane
  2. Click the Mirroring button in the Part workbench toolbar
  3. Make sure the cutting plane is the selected shape in the resulting screen
  4. Click "OK"
  5. There will now be a duplicate cutting plane overlapping the first
  6. Click the parent (not the original) item in the tree for the Mirroring operation you just performed
  7. Click the Angle field in the property editor and set it to 90 degrees

After rotating the mirrored cutting plane, your object editor view should now look similar to the following:


Once you have the cutting shape completed, you can now use it to cut the inner shell into 4 parts using one operation:

  1. Make sure you are in the Part workbench
  2. Select the inner shell
  3. Select both the base cutting plane, and the mirrored one
  4. With all three selected (make sure the shell piece is the first-selected), click the Slice apart operation (screenshot below)

The dropdown where the Slice apart operation is found is here:


Once you run the operation, the inner shell will be cut into four distinct pieces:


Next time

In the next part, I'll cover making the interior panel cutouts for both the mirrors as well as the energy cells. Neither of these parts are really covered in detail in the show, as far as I am aware, so there will be some creative liberties taken. Be on the lookout for the next part soon!