agentleFS
randomonkey05randomonkey05/SolidCraft-Agent-Skills/skills/solidcraft-step-parts/SKILL.md

solidcraft-step-parts

Skill12 starsChanged 17 days agoApache-2.0View on GitHub

Use when a SolidCraft assembly needs real purchasable parts (screws, nuts, washers, bearings, standoffs, motors, boards, profiles) instead of placeholder geometry: find them in the step.parts catalog, download the STEP with a checksum, insert it with file.insert_step and place it.

The file

We split this skill into the rules it gives an agent

3 rules. About 0 are common, 3 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Search the catalog BEFORE modelling a placeholder cylinder for a screw or a bearing.

    line 10
  2. Distinctive:

    Check interferences after placing hardware.

    line 33
  3. Distinctive:

    Do not commit downloaded STEP files into a public skills repository.

    line 38

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Real hardware in assemblies (step.parts to SolidCraft)

Adapted from the step-parts skill of earthtojake/text-to-cad (MIT, see NOTICE). The workflow and the helper script are rewritten for SolidCraft. Everything marked "verified" was run on SolidCraft 0.25.1 in October 2026.

Search the catalog BEFORE modelling a placeholder cylinder for a screw or a bearing. A real part gives the right envelope, mass and hole size, and the assembly stays honest.

Workflow

  1. Search. python scripts/step_parts.py "M3 socket head 12" --standard "ISO 4762" --limit 5 (standard library only, prints JSON). Facets: --category, --family, --standard, --tag. Catalog about 16,800 parts (about 2,100 fasteners, 86 bearings, standoffs, motors, boards, profiles).
  2. Check the attributes, not the name. Query tokens match as substrings, so "M3" also returns M30 parts. Read attributes.thread, lengthMm, the standard and the bore before choosing. If several fit, show the best two or three with their ids.
  3. Download into the model's own folder. python scripts/step_parts.py --id <id> --download --out-dir <model folder>/parts. The script verifies the SHA-256 against the catalog and refuses to save on a mismatch. --download takes the first result, so use --id once you have chosen.
  4. Insert. file.insert_step {path, name, matrix?}. The path must be a path the SolidCraft app can open (a Windows path when the app runs on Windows, not a path inside the agent's shell).
  5. Verify with measure (bounding box against the catalog attributes) and a screenshot.
  6. Place. Pass matrix at insert time, or move the occurrence afterwards (occurrence.move, which composes with the current transform; see solidcraft-assemblies).

Verified behaviour (SolidCraft 0.25.1)

  • file.insert_step {path, name} creates a component named name holding the part's solid in the active component. The result lists component, occurrence, bodies and a system field with the step.parts page URL. The body keeps the name from the file (for example Chamfer001), so refer to parts by component name.
  • The file's axes are kept (Z up). matrix is a row-major 3x4 [r11 r12 r13 tx, r21 r22 r23 ty, r31 r32 r33 tz]; [1,0,0,30, 0,1,0,0, 0,0,1,0] placed a bearing with its centre at x = 30 mm.
  • ISO 4762 M3x12 socket head cap screw (iso4762_socket_head_cap_screw_m3x12): axis along Z, the plane under the head at z = 0, head up to z = +3 (diameter 5.5), shank down to z = -12. 16 faces, no thread geometry (plain cylinder), volume 142 mm3.
  • 608ZZ bearing (bearing_608zz): axis along Z, centred on the origin, outside diameter 22, width 7 (z from -3.5 to +3.5), volume 2243 mm3.
  • Rotate with the matrix to point a screw along another axis, and remember where its reference plane is (under the head, not the centre).
  • A Y-up file opens lying down and the app offers "Stand this part up?"; use up: "y" in file.insert_step, or accept the offer. step.parts files were already Z up.
  • An imported part (or assembly) is one rigid group until component.unlock.

Assembly rules (see also solidcraft-assemblies)

  • Insert each part type ONCE, then add the other placements as instances of that component. Do not insert the same STEP twelve times.
  • Screws and nuts are fixtures: keep their placeholders out of the final body count, and do not join them to the plates. Keep gaps real (clearance holes slightly larger than the thread, per the standard).
  • Size holes from the part: for a clearance hole take the catalog attributes (thread, diameter) and the standard's clearance column, then verify with measure between the hole face and the screw body.
  • Check interferences after placing hardware.

Provenance and licensing

  • Record the part id, its pageUrl and the sha256 in the model notes.
  • Each part page states its source; check the terms there before redistributing a model that embeds the part.
  • Do not commit downloaded STEP files into a public skills repository. Keep them in the model folder.

When the service is unreachable

A network or DNS failure is inconclusive. Retry once. Do not tell the user a part does not exist unless the API answered and returned no relevant candidates. If it still fails, use a documented envelope (a cylinder with the datasheet dimensions), label it as a placeholder in the notes, and say so in the report.

Sources

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.