Individual skill

solidcraft-step-parts

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.

skills/solidcraft-step-parts/SKILL.md

Read pinned source

Source commit 55dfc666a755711026aeb6e13051c7adfe69ee80

What was checked

Matches the observed repository HEAD
Yes
Scanner rules are current
No
Repository scan complete
No
Skill scan complete
Yes
Observed behavior
Not checked yet
Last checked
Nov 5, 2026

These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.

Install this skill

Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.

An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.

Repository context

Repository stars (not skill ratings)
12
Repository last updated
Nov 2, 2026
License
Apache-2.0

Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.

Files and excerpt

File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.

Browse files
Read excerpt

# 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`).