SOLVESPACE(1)

πŸ’– SOLVESPACE πŸ’–

okay bestie, gather round, because today we're talking about solvespace β€” a parametric 2d/3d CAD program β€” straight out of the General Commands Manual. yes, CAD. no, it's not boring, it's literally giving main character energy. let's go ✨


🌸 NAME 🌸

solvespace β€” parametric 2d/3d CAD


✨ SYNOPSIS ✨

solvespace-cli <command> [options] <filename>

like, that's the whole vibe: you give it a command, some options, a filename, and it does the thing. periodt.


πŸ¦‹ DESCRIPTION πŸ¦‹

so solvespace is a parametric 2d/3d CAD program, and the way it eats is honestly unreal. here's what you can do with it, no cap:

  • modeling 3d parts β€” draw with extrudes, revolves, and Boolean (union / difference) operations;
  • modeling 2d parts β€” draw the part as a single section, and export DXF, PDF, SVG; use 3d assembly to verify fit;
  • 3d-printed parts β€” export the STL or other triangle mesh expected by most 3d printers;
  • preparing CAM data β€” export 2d vector art for a waterjet machine or laser cutter; or generate STEP or STL, for import into third-party CAM software for machining;
  • mechanism design β€” use the constraint solver to simulate planar or spatial linkages, with pin, ball, or slide joints;
  • plane and solid geometry β€” replace hand-solved trigonometry and spreadsheets with a live dimensioned drawing.

like... trigonometry by hand? in THIS economy? πŸ™ˆ absolutely not. let the solver cook. πŸ’…


πŸ‘‘ COMMON OPTIONS πŸ‘‘

these are the options that every command can share, and they're lowkey the most important part, so pay attention bestie:

  • -o, --output <pattern> β€” for an input file <name>.slvs, replaces the % symbol in <pattern> with <name> and uses it as output file. for example, when using --output %-2d.png for input files f/a.slvs and f/b.slvs, output files f/a-2d.png and f/b-2d.png will be written. (yes, the % is the magic placeholder. it's giving ✨template✨)
  • -v, --view <direction> β€” selects the camera direction. <direction> can be one of "top", "bottom", "left", "right", "front", "back", or "isometric". pick your angle, you're the director of this photoshoot πŸ“Έ
  • -t, --chord-tol <tolerance> β€” selects the chord tolerance, used for converting exact curves to piecewise linear, and exact surfaces into triangle meshes. for export commands, the unit is mm, and the default is 1.0 mm. for non-export commands, the unit is %, and the default is 1.0 %.
ngl the mm-vs-% thing is a trap and I want you to clock it: export commands = mm, non-export commands = %. don't mix them up, i'm begging πŸ₯Ί

πŸ”₯ COMMANDS πŸ”₯

okay this is the main event. each command does exactly one iconic thing:

  • thumbnail --output <pattern> --size <size> --view <direction> [--chord-tol <tolerance>] β€” outputs a rendered view of the sketch, like the SolveSpace GUI would. <size> is <width>x<height>, in pixels. graphics acceleration is not used, and the output may look slightly different from the GUI.
  • export-view --output <pattern> --view <direction> [--chord-tol <tolerance>] β€” exports a view of the sketch, in a 2d vector format.
  • export-wireframe --output <pattern> [--chord-tol <tolerance>] β€” exports a wireframe of the sketch, in a 3d vector format.
  • export-mesh --output <pattern> [--chord-tol <tolerance>] β€” exports a triangle mesh of solids in the sketch, with exact surfaces being triangulated first.
  • export-surfaces --output <pattern> β€” exports exact surfaces of solids in the sketch, if any. (if any!! key detail!!)
  • regenerate [--chord-tol <tolerance>] β€” reloads all imported files, regenerates the sketch, and saves it. note that, although this is not an export command, it uses absolute chord tolerance, and can be used to prepare assemblies for export.
fr fr, that last note matters: regenerate is not an export command but it still takes the absolute chord tolerance, so it's the glow-up prep step before you export. πŸ’–

🌈 FILE FORMATS 🌈

here's who outputs what β€” the compatibility chart of dreams:

  • thumbnail:
    • PNG image (png)
  • export-view:
    • PDF file (pdf)
    • Encapsulated PostScript (eps, ps)
    • Scalable Vector Graphics (svg)
    • STEP file (step, stp)
    • DXF file (AutoCAD 2007) (dxf)
    • HPGL file (plt, hpgl)
    • G Code (ngc, txt)
  • export-wireframe:
    • STEP file (step, stp)
    • DXF file (AutoCAD 2007) (dxf)
  • export-mesh:
    • STL mesh (stl)
    • Wavefront OBJ mesh (obj)
    • Three.js-compatible mesh, with viewer (html)
    • Three.js-compatible mesh, mesh only (js)
    • Q3D Object file (q3do)
    • VRML text file (wrl)
  • export-surfaces:
    • STEP file (step, stp)

πŸŽ€ AUTHORS πŸŽ€

this manual page was written by Alexander Pozdnyakov <almipo@mail.ru>, β€” yes bestie, a real human wrote this for you, show some respect 🫢


and that's the whole page!! tysm for reading, you ate that. this was version 3.0.0, dated 06 Oct 2019, and honestly? still iconic. now go make something. πŸ’…βœ¨πŸ¦‹πŸŒΈ