-
Notifications
You must be signed in to change notification settings - Fork 5
Home
Around June of 2007 I got offended at how much CAD/CAM programs cost for generating GCode toolpath files for CNC mills. So I did what any insane idiot coder would do. I started writing my own. Most coders would get a ways into it and give it up due to complexity, but I kept working on it. The result is TkCAD, written in 42,000+ lines of TCL code and just a few hundred lines of C extensions.
TkCAD can import and export SVG and 2D DXF file formats, as well as it's own XML based file format.
TkCAD currently only supports OS X, 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)
Since almost all of the code for TkCAD is platform-independant TCL, moving this app to other platforms is simply a matter of porting the above C-based extensions. mlcnc_critcl and enhimgcopy are fairly simple extensions written in portable C code using critcl. You should be able to port them by just recompiling them using critcl on the target platforms. The fontdata extension is simple, but is written for the OS X Carbon API. It should be easy to make Windows and unix equivalents. Img already has Windows and UNIX support. MacCarbonPrint is a lot more complex to port, but is only used for printing from the CAD. Sadly, MacCarbonPrint and tkpath are both orphaned works, due to the death of the developer.