As you all probably know, DraftSight ceases to be free by the end of this year, so that basically leaves Linux with just a few good free 2D CAD options:
- LibreCAD, free and opensource, but partial DWG support and features (no TTF fonts, etc)
- QCAD (from which LibreCAD was originally forked), free and opensource (no DWG support), or paid for DWG support (which I did, BTW, it's cheap and I like the development model that the QCAD author tries to achieve)
I think FreeCAD could be a decent third option there, so I am starting to use it as my main 2D app, and fix issues as I meet them. This includes a number of TD issues too, so I thought I'd start a thread here to keep track of progresses.
What I did recently is adding an "OverrideStyle" property to TD Draft views, that is True by default, so the TD Draft view still works like before (the color/linestyle defined in the TD view applies to all objects), but that you can disable, so each Draft object is rendered with its own style/color.
This gives pretty good results. With OverrideStyle turned off, the line width specified on the TD Draft view serves as a base width, so if it is for ex. 0.15, a Draft line with width of 1.0 will render as 0.15, another one with 2.0 will render as 0.30, and so on. All in all, we get pretty accurate result, and
is the file if anyone is interested in having a look...
Next step I want to support is some form of hatching. Not sure what's the best path here, I need to play a bit more.
Some issues to look at later on (not sure they have an easy solution, though):
- When using right-click->print PDF, the resulting PDF is 100% identical to what appears in the TD view. All texts, however, get converted to paths, which makes the document unsearchable, and inflates its size too.
- When exporting to SVG, the template texts are rendered as text, the texts inside the TD Draft View are exported as paths. But I saw there is a trick where the template gets "rewritten" in post-processing. Maybe we can do the same for svg-based views...
- Clip objects are not supported in SVG export.