How to Use PenguinCAM
PenguinCAM supports two workflows: direct import from Onshape (recommended), or manual DXF file upload.
Onshape Workflow (Recommended)
1. Install the Onshape App
Add PenguinCAM to your Onshape account from the Onshape App Store. This adds a PenguinCAM panel to your Onshape workspace.
2. Design Your Part
Create your part in Onshape as a flat plate or profile to be cut from sheet stock. PenguinCAM works best with:
- Flat parts designed in a single plane
- Through holes and pockets
- Parts with a clear top and bottom face
3. Select Mode
In the PenguinCAM panel, choose between:
- Multi-layer (2.5D) mode: For parts with grooves, pockets, or countersinks at multiple depths. Stock thickness must match your CAD part thickness.
- 2D mode: For simple flat patterns. Any stock thickness works - you're just cutting the perimeter and through-features.
4. Open PenguinCAM Panel and Select a Face
Open the PenguinCAM panel in Onshape, then click on a face in your model:
- For 2.5D mode: Select a face at the top-most layer of your part
- For 2D mode: Select the top face of your part
5. Send to PenguinCAM
Click "Send to PenguinCAM" in the panel. This will:
- Export your part geometry from Onshape
- Open PenguinCAM with your part pre-loaded
- Auto-detect part thickness (for 2.5D mode)
6. Configure Parameters
Review and adjust the cutting parameters:
| Parameter | Description |
|---|---|
| Machine | Select which CNC machine to use (if you have multiple configured) |
| Material Type | Choose the material preset (plywood, aluminum, etc.). Sets feed rates and depth of cut. |
| Material Thickness | Stock thickness in inches. Auto-detected for 2.5D parts from CAD. |
| Tool Diameter | End mill diameter in inches (e.g., 0.157 for 4mm) |
7. Orient Your Part (2D Setup View)
Before generating G-code, you'll see your DXF pattern in the 2D setup view:
- Rotate: Click "Rotate 90° CW" to change orientation. The origin (0,0) stays at the bottom-left corner.
- Origin: The white dot shows where (0,0) will be on your CNC machine. This is always the bottom-left corner of your part's bounding box.
Orient your part to match how you'll clamp the stock on your machine table.
8. Generate G-code
Click "Generate Program" to create the CNC toolpaths. PenguinCAM will:
- Detect holes and mill them as circular pockets
- Detect larger pockets and clear them with a spiral pattern
- Cut the perimeter with tabs to secure the part (see tab strategies below)
- Calculate tool compensation for accurate dimensions
Tab Strategies
PenguinCAM offers two strategies for securing parts during perimeter cutting:
- Automatic tabs (default): Tabs are placed automatically along the perimeter at regular intervals. The program cuts the perimeter leaving tabs intact, then returns at the end to remove all tabs. This is the safest option and requires no additional fixturing.
- Pause for fixturing: No tabs are placed on the perimeter. Instead, the program pauses (M0) before cutting the perimeter, allowing you to fixture the part through recently-milled holes using screws or clamps. This provides a cleaner perimeter edge but requires manual intervention. Configure this option in your team's config file.
9. Preview Toolpaths
Switch to "Preview G-code" mode to see the 3D visualization:
- Stock box (gray): Shows your material dimensions
- DXF overlay (white): Shows the part outline on top of the stock
- Toolpaths (orange/green): Shows where the tool will move
- Scrubber: Drag to step through each move and watch the tool animate
Use the mouse to rotate the view, scroll to zoom, and verify everything looks correct.
10. Download Program
Click "Download Program" to save the G-code (.nc file) to your computer. If Google Drive is configured, you can also save directly to your team's shared drive.
Manual File Upload
For users who prefer to work with manually exported files or don't use Onshape, PenguinCAM supports direct DXF file upload:
- Export a DXF file from your CAD software (top view, looking down)
- Open penguincam.popcornpenguins.com
- Drag and drop your DXF file into the upload area
- Configure parameters and generate G-code as described above
Aluminum Tube Mode
For machining patterns on aluminum tubing:
- Select "Aluminum Tube" as the material type
- Enter the tube height (distance from bottom to top in the CNC jig)
- Enable "Square the zero end" to face off the first end
- Enable "Machine far end to length" to cut the tube to size
Tube mode will:
- Face half the tube circumference
- Prompt you to flip the tube 180°
- Face the other half to complete the pattern
Understanding the Output
G-code Header Comments
Every generated program starts with setup instructions:
- Stock size required
- Tool diameter used
- Material settings
- Origin location (bottom-left corner, Z=0 at sacrifice board)
Coordinate System
PenguinCAM uses this coordinate system:
- X-axis: Increases to the right (looking at the machine)
- Y-axis: Increases away from you
- Z-axis: Z=0 at the sacrifice board, positive is UP
- Origin (0,0): Bottom-left corner of your part's bounding box
Work Coordinate System
Programs use G54 work coordinates. Set your work zero on the CNC at:
- X=0, Y=0 at the bottom-left corner of the stock
- Z=0 at the top of the sacrifice board (not the stock top)
Troubleshooting
Part doesn't fit on stock
Check the "Stock Size" display after generating G-code. If it's larger than your machine, you'll need to either:
- Scale down your part in CAD
- Use a larger machine (configure in your team config file)
- Split the part into smaller pieces
Holes aren't round
Make sure your tool diameter is smaller than the hole. PenguinCAM will warn you about unmillable features if the tool is too large.
Tabs are in bad locations
Tabs are placed automatically based on perimeter length. You cannot manually position tabs, but they're designed to be easily removed with a file or grinder after cutting. Alternatively, configure the "pause for fixturing" option in your team config to skip tabs entirely and fixture through milled holes instead.
Multi-layer part has incorrect depths
Verify the auto-detected thickness matches your CAD part. If wrong:
- Check for extra faces at unexpected depths in your CAD
- Make sure you selected a face on the top layer
- Hide any construction geometry or drawings before exporting