Updated 2015-01-13 23:20:49 by ak

TkCad is a 2D CAD program with rudimentary support for 2.5D GCode generation, written in 42,000+ lines of TCL code and just a few hundred lines of C extensions.

It's currently for OS X only, almost completely due to the extensions it uses:

  • fontdata Gets font glyph curves. (Critcl, Carbon only, simple)
  • mlcnc_critcl Speeds up geometry calculations. (Critcl, portable)
  • enhimgcopy Allows scaling and rotation of images. (Critcl, portable)
  • Img Allows loading of JPEG images and such. (TEA, portable)
  • MacCarbonPrint Allows printing under OS X. (TEA, Carbon only, complex)

If you ported the extensions, you could port TkCAD to other platforms easily, other than printing. The mlcnc extension actually has TCL equivalents of its calls as a fallback, but they're much slower. It used to use the tkpath extension, as it makes much cleaner beziers, but it has occasional crashes with complex files. Sadly, MacCarbonPrint and tkpath are both orphaned works, due to the death of the developer.

If running under Wish 8.6, TkCAD supports canvas font rotation. If the tkpath extension is loaded, that is used instead. Finally, as a fallback, the font glyph curves are extracted by the fontdata extension and they are displayed as beziers.

ak - 2015-01-13 23:20:49

Quick question - Where do we find the various extensions listed above as used by TkCad ?