Skip to content

Code2Form 0.2.0

Choose a tag to compare

@enzotripoli enzotripoli released this 21 Oct 19:52
c698b3d

More ways out of Code2Form: 3MF for printing, SVG and DXF for cutting, plus find and replace in the editor.

What's new

  • 3MF export: the toolbar's Export menu saves solids as STL or 3MF. A 3MF package carries its units (millimeters) and is 20 to 30 times smaller than the ASCII STL; PrusaSlicer loads it as a closed mesh, with nothing to repair, even where two colors meet.
  • SVG and DXF export for 2D models, laid out as the reference implementation writes them: same page size in millimeters, same outlines.
  • Find and replace in the editor: ⌘F to find, ⌘G and ⇧⌘G to step through the matches, ⌥⌘F to replace. One ⌘Z undoes a whole Replace All.
  • Command line: c2f 3mf, c2f svg and c2f dxf write to stdout, like c2f stl.

Fixes

  • offset(r = …) rounds its corners exactly as the reference implementation (release 2021.01) does: same points, same count.
  • Data files of a used library are named with / on every system.

Under the hood

  • Every push and pull request now runs the tests and clippy on macOS, Windows and Linux.
  • The Liberation fonts 2.00.1 that the text() tests compare against are kept in the repository, with their licence (SIL Open Font License 1.1).

Downloads

File For
Code2Form-0.2.0-macos-arm64.zip The app, for Macs with Apple silicon (M1 or later), macOS 11 or later
c2f-0.2.0-macos-arm64.zip The command line, same platform
SHA256SUMS.txt Checksums of both

The app is not notarized by Apple yet. On first launch, macOS blocks it: open it once, then go to System Settings → Privacy & Security and click Open Anyway. Or run, once:

xattr -dr com.apple.quarantine /Applications/Code2Form.app

To open .c2f and .scad files with Code2Form by double-click: Finder → Get Info on a file → Open with → Code2Form → Change All.

Intel Macs, Windows and Linux: build from source with Rust 1.85 or later (cargo build --release); see the README.

Known limitations

  • projection() without cut keeps holes open where the reference implementation fills them, which changes the volume of some models (0.3% on the GEB example).
  • No undo history across reloads, recent files or animation yet.