Doop
Doop is an open-source multiplayer design canvas and design MCP for Claude Code, Codex, and any AI agent. Design side by side with agents — free in beta.
Design gears and drives, check they'll run, and get print files, CAD and drawings in one click.
Translation pending
DesignRustGitHub @sheetdeveloperOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Parametric gears and drives for 3D printing and CAD: check every mesh, then export print files, STEP, drawings and Inventor/SolidWorks scripts.
Taken from the repository README
Loading the full README.
Read the full README ↗Parametric gears and drives, written in Rust: involute gears (including crossed helical pairs), timing belt pulleys, chain sprockets, cycloidal drives, Geneva drives and ratchets. Pick a type or a preset, edit the parameters with a live 3D or top view, watch the parts turn at their real ratios, check how each pair meshes, and export everything in one click: print files, CAD files (including one STEP assembly), A4 drawings, and scripts that rebuild gears parametrically in Inventor or SolidWorks. Add a printable gearbox housing, engrave a label, tune the print files to your printer, or copy an existing gear from caliper readings or a scan.
| Type | What you get |
|---|---|
| Spur / helical gear | One gear, or a compound stack on one axis. Each stage can be spur, helical or herringbone, with face recesses, lightening and edge chamfers. Optional fillet or chamfer where a smaller stage meets a larger one, a raised hub with a set screw, an engraved label, and up to two mating gears placed in mesh, on parallel or crossed shafts. |
| Internal ring gear | Teeth on the inside of a rim, spur, helical or herringbone |
| Rack | Straight or helical rack with a solid back |
| Bevel gear | Straight bevel for any shaft angle, sized from the mating gear's tooth count |
| Worm and wheel | Worm with 1–8 starts plus its matching wheel, positioned at the right centre distance. The wheel is throated (cut the way the worm would cut it) or a plain helical gear |
| Planetary set | Sun, planets and ring, phased so they mesh. Spur, helical or herringbone |
| Timing belt pulley | GT2 (2, 3 and 5 mm) and HTD (3M, 5M and 8M) pulleys with flanges, a hub and set screw. Optionally a driven pulley at the centre distance a closed belt sets, with the belt drawn |
| Chain sprocket | ISO 606 tooth form for standard roller chains (#25, #35, #40, #50, #60, 05B, 06B, 08B and 1/2 × 1/8 bicycle), with chamfered tooth sides and a hub. Optionally a driven sprocket at the centre distance a chain length sets, with the chain drawn |
| Cycloidal drive | One or two lobed discs, a housing with printed ring pins or pockets for dowels, the eccentric cam and the output carrier with its pins |
| Geneva drive | A slotted wheel that turns one slot for each turn of its crank and is locked in between: 3 to 18 slots |
| Ratchet and pawl | A saw-toothed wheel that turns one way only, with a pawl shaped to sit in its teeth |
Every design can use a round, keyway, D-flat, double-D, hex or involute spline bore. Keyways default to DIN 6885 sizes for the bore diameter: for example a 2 mm key on a 6–8 mm shaft, or 5 mm on 12–17 mm.
Spline bores follow DIN 5480 (30° involute, flat root). The module and tooth count come from the standard for the bore diameter, or set your own; Spline fit is the play on each flank. Give a Shaft length and GearForge makes the matching spline shaft as its own part to print.
All three are under Tooth form in each stage card.
GearForge checks that everything fits:
By default the worm wheel is cut the way its worm would cut it. Each slice through the wheel is made by rolling the worm's thread through mesh at the right ratio, the way a hob cuts a real wheel. The hob is slightly oversize: 0.25 module deeper, for root clearance, and thicker by the backlash.
The result:
Turn off Throated on the Wheel card for a plain helical wheel. A throated wheel's face width is limited so the worm can still reach its faces; the card shows the limit.
Grooves follow each belt's published groove shape. GT2 grooves have a round bottom and larger flank arcs; HTD grooves are one arc. Each groove's corner is rounded onto the outside diameter, which is the pitch diameter less twice the belt's pitch line offset. A 20-tooth GT2 2 mm pulley comes out 12.22 mm across, as bought ones are.
Teeth use the ISO 606 form, taking the middle of the standard's range: a roller seat, then a convex flank up to the tip. Pick a chain size and its pitch, roller diameter, width and plate height fill in; or enter your own under Chain sizes.
The ring has N pins and the disc N − 1 lobes, so the reduction is (N − 1) : 1, with the output turning the opposite way. The disc's outline is worked out exactly from the pin path: it touches every pin at every input angle, which the tests check.
The animation shows the discs riding the cam and turning back slowly against the input.
A crank pin enters a slot in the wheel, turns it one slot (360° ÷ slots), and leaves. In between, the crank's locking disc sits in the wheel's concave arc and holds it still. With 4 slots the wheel moves for 90° of each crank turn and is locked for the other 270°; more slots give smaller steps and a longer dwell. The wheel turns the opposite way to the crank.
The animation shows the wheel index and stop.
The wheel turns freely anticlockwise (seen from the top) and locks clockwise. Each tooth rises steeply from its valley, the locking face, and slopes down to the next.
The animation shows the pawl riding up each tooth and dropping into the next valley. The tests check it never cuts into the wheel, and that turning back runs the locking face into its tip.
A mating gear can sit on a shaft that crosses the stack's at an angle, rather than parallel: pick Crossed on the mating-gear card and give the shaft angle (90° for square shafts).
Text cut into a stage face, set round the bore so it reads from outside: the teeth and pitch ("27T 32DP") unless you type your own. Pick the stage, the face, the depth (0.4–0.6 mm reads well) and the height, or leave the height at 0 to fill the room.
- + = / . : × ° Ø are covered.For spur and helical stacks with their mating gears, belt drives and chain drives: two plates on pillars that hold every shaft at its centre distance.
Corrections for how your printer prints, applied to the print files only (STL, 3MF and OBJ). STEP, drawings and the CAD scripts stay at the true sizes.
Lay the gear on a flatbed scanner, or photograph it square-on beside a ruler, and open the image in Copy from a scan.
An A4 drawing for every part, as PDF and SVG:
Pulleys, sprockets, cycloidal discs, Geneva and ratchet parts and the housing plates get the same sheet with their own data.
For every meshing pair in a design, GearForge reports:
Each pair is rated runs smoothly, runs roughly or won't run properly, with what to change. The analysis is in the inspector's Mesh card and the spec sheet, and problems show under Warnings.
Copying an existing gear needs a few caliper readings:
The tool lists the best candidates with how closely each predicts every reading, and copies the teeth, module, pressure angle and shift into a stage with one click. Caliper readings to 0.01 mm are enough: the tests recover a 27-tooth 32 DP gear from rounded, slightly-off readings.
Download: get gearforge.exe from the latest release.
It's a single program for 64-bit Windows 10 or 11, with nothing to install. The first time you run
it, Windows may say it protected your PC because the program isn't signed: choose More info,
then Run anyway.
Double-click gearforge.exe, or from a terminal:
gearforge # open the editor
gearforge my_gear.toml # open the editor with a gear file
gearforge export my_gear.toml out # write every format without opening the editor
gearforge example > my_gear.toml # start a new gear file
* when there are unsaved changes, and you're asked before anything is lost.
Ctrl+N new, Ctrl+O open, Ctrl+S save, Ctrl+Shift+S save as, Ctrl+E export.%APPDATA%\GearForge\data\app.ron.Documents\GearForge until you choose elsewhere.| File | Use |
|---|---|
.stl | 3D printing (binary, watertight, mm). One per part; _x3 in the name means print three. |
.3mf | 3D printing: every part (and every copy) as its own object, laid out side by side on the bed |
_assembly.stl / .obj | Every part in its working position, for checking fit |
_assembly.step | A STEP assembly: each part defined once and every copy placed where it works, so CAD opens it as an assembly of named components (planet:1, planet:2 …). Parts use smooth geometry where they have it, faceted otherwise (bevel gears, belts and chains) |
.obj | Mesh for Blender and similar tools |
.step | CAD import. Faceted solid: flat facets, includes every feature |
_smooth.step | CAD import with true geometry. Straight walls are flat faces, real cylinders and extruded B-spline flanks, merged across features. Helical and herringbone teeth, worms and throated wheels are smooth B-spline surfaces. Every type except bevel gears. It leaves out the stepped stage fillet or chamfer, edge chamfers, the set-screw hole and sprocket tooth chamfers (add them in CAD), and the spec sheet says so |
_<profile>.dxf | 2D profile (with lightening) for laser, waterjet or CNC: gear stages, pulleys and flanges, sprockets, cycloidal discs and housing, Geneva and ratchet parts |
_drawing.pdf / _drawing.svg | An A4 drawing per part: views, dimensions, gear data and title block |
_<profile>.svg, _all_profiles.svg | 2D profiles at true scale in mm |
.scad | OpenSCAD: profiles as polygon modules, parts as polyhedron, plus the assembly |
_spec.txt | Dimensions, span measurement, root form, recesses, lightening, hub, label, ratios, centre distances, belt and chain lengths, Geneva and ratchet motion, housing, print fit, mesh analysis, volume and weight |
.toml | The gear file, to reload or batch-export later |
_inventor.iLogicVb | Inventor iLogic rule that builds the gear with editable parameters |
The smooth STEP files were checked by importing them into Inventor 2026, covering:
Each comes in as a single valid solid. Volumes are within 0.1% of GearForge's own, and the worm within 0.5%, the gap being GearForge's mesh.
STEP assemblies of a planetary set, a worm drive, a cycloidal drive, a belt drive, a Geneva drive, a ratchet and a crossed helical pair open in Inventor 2026 as assemblies. Every component comes in at the right position and angle (the crossed mate with its axis square to the stack's), with the right volume.
GearForge writes a script that builds the gear natively in your CAD package, with real involute curves (splines and arcs, not facets) driven by named parameters. The scripts cover the involute gear types; take pulleys, sprockets and cycloidal drives into CAD with smooth STEP.
Inventor (*_inventor.iLogicVb):
Teeth1, Module1, Thickness1, PressureAngle1, Shift1, Backlash1,
Addendum1, Dedendum1, HelixAngle1, Hand1 (1 right, -1 left), Herringbone1 (0 or 1),
RootFillet1 (cutter tip radius / module), TipRound1 (mm), EdgeChamfer1 (mm).RecessBottom1 (1 on, 0 off), RecessBottomID1,
RecessBottomOD1, RecessBottomDepth1, RecessBottomToStage1 (1 = run in to the next
stage's teeth), and the same for RecessTop….Lighten1 (0 none, 1 holes, 2 spokes), LightenCount1, LightenID1,
LightenOD1, LightenWeb1, LightenCorner1.HubOn, HubOnTop, HubDia, HubLength, SetScrew, ScrewDia, ScrewRound.LabelDepth. The text and its layout are fixed when GearForge exports; the rule
draws them as sketch outlines and cuts them to depth.BoreDia, BoreShape, KeyWidth, KeyDepth, FlatDepth,
FilletRadius, JointChamfer (1 = chamfer the stage joints, 0 = fillet), plus RimDia for
rings and BackHeight for racks.MateTeeth, ShaftAngle and BackThickness. Worms use WormModule,
Starts, PitchDia, WormLength, PressureAngle, Backlash, Addendum, Dedendum
and Hand.25.4 mm / 32 to work in diametral pitch.Every involute gear type is supported:
Geneva drives and ratchets go to CAD as smooth STEP.
All of them were run in Inventor 2026. Each solid's volume matches GearForge's own to within about 0.5%, and for every feature design 600 sample points agree on inside and outside with GearForge's model. That covers the thread hand and phase, the side the set screw is on, and where the spokes sit.
Inventor can't fillet a stage joint tighter than the curved tooth roots. When that happens, the rule steps the fillet radius down until it fits and says so on the status bar. Edge chamfers that would run into each other on narrow tooth tips step down the same way.
Inventor can't fillet or chamfer the edges of helical (lofted) teeth. The rule leaves those features off and says so; the print files have them.
Labels were checked in Inventor 2026 on a bottom face and a top face: deepening the label from 0.4 to 0.8 mm removes 5.64 and 12.51 mm³, against 5.6 and 12.5 mm³ in GearForge's own models.
The recess and chamfer features were checked in Inventor 2026 against 600 sample points each:
GF_… on each rebuild, so put your own features after
them.SolidWorks (*_solidworks.swb): Tools > Macro > Run and pick the file. It adds global variables
with the same names (Tools > Equations). Edit them and run the macro again to rebuild. It builds the
same features:
It also builds throated worm wheels as a loft. Helical ring teeth are built straight. The macro hasn't been run in SolidWorks yet. Its structure is checked automatically, but treat it as a first draft and report anything it gets wrong.
The example is a 27-tooth gear 23 mm across and 2.5 mm thick, under a 17-tooth gear 4 mm thick, with a 0.4 mm fillet where they meet. 23 mm over 27 teeth fits 32 diametral pitch (module 0.79375, OD 23.02 mm) better than module 0.8 (OD 23.2 mm). Use Measure a gear in the app with spans over 3 and 4 teeth to confirm the pitch, pressure angle and any profile shift.
To copy a gear with recessed faces:
Needs Rust (rustup, GNU toolchain) and MinGW-w64 on PATH (WinLibs from winget works).
Build from a short folder path: a very deep path breaks some Windows build scripts. Crates used
beyond eframe include image (scans) and i_overlay (polygon booleans for labels and mechanisms).
cargo test --release
cargo build --release
Source:
gear.rs: parameters, involute and trochoid maths, design checksdrives.rs: belt pulley grooves, ISO 606 sprocket teeth, cycloidal discs, belt and chain lengthsmechanisms.rs: Geneva drives, ratchets and pawls, and their stepped motionlabel.rs: the stroke font and label layouthousing.rs: gearbox housing layout, bearings and screwsscan.rs: tracing a gear from an image and fitting involutes to itdrawing.rs: A4 drawings as PDF and SVGanalysis.rs: mesh analysis (contact ratio, backlash, clearance, rolling check, stepping through
mesh)matching.rs: measure and match (module, pressure angle and shift from caliper readings)geom.rs: 2D helpers, offsetting and roundinglayers.rs: the layered-solid builder (bands of loops, worked-out steps between them)model.rs: stacks with fillets, recesses, lightening and hubs; rings, racks, bevels, worms,
planetary sets, pulleys, sprockets and cycloidal drives; meshing and assembliesbrep.rs: smooth STEP (lines, arcs and B-spline fitting, advanced B-rep) and STEP assembliesearcut.rs: face triangulationexport.rs: file writers (STL, 3MF, OBJ, STEP, DXF, SVG, OpenSCAD) and spec sheetsstrength.rs, train.rs, testprint.rs: strength estimate, gear train search, clearance testcad.rs, solidworks.rs: Inventor iLogic rule and SolidWorks macro generatorsgui/: the editordocs/: the project website (GitHub Pages) and its imagesQuestions, ideas or something that doesn't work? Email [email protected], or open an issue on GitHub.
GearForge is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License, version 3, as published by the Free Software Foundation. It is distributed in the hope that it will be useful, but without any warranty; see LICENSE for details.
_solidworks.swb | SolidWorks macro that builds the gear from global variables |