A big problem I have in communicating the improvements to BricsCAD in V17 is that there are such a huge number of them. This isn’t an AutoCAD 201x-style touch-up masquerading as serious progress, this is a real upgrade. You know, an AutoCAD V12-style upgrade that veteran AutoCAD users will remember from the good old days before Autodesk got bored and distracted. Dozens upon dozens of new features, improvements to existing features, performance improvements and bug fixes. Lots of stuff that’s genuinely useful.
I could write three posts a week on the changes and not be finished by this time next year. So I’m going to be lazy. I’ll pick out a few features for future posts but for the big picture I’ll point you to the official list. This isn’t a marketing document, it’s a technical list of terse descriptions of changes (to the Windows version only – remember BricsCAD supports Mac and Linux too), and it’s large. To give you some idea of the scale of changes, there are 3,200 words describing new V17 features, for example:
DMDISTANCE3D Specific measuring modes for cylinders, circles, and spheres have been introduced. Distance can be specified between boundaries (nearest points), central points or axes of the corresponding geometries.
There are 1,600 words describing improvements, such as:
IMAGEATTACH Multiple selection of images from a single folder is supported now so multiple images can be attached in one go. This is especially useful for images with geo-information attached.
There are 1,450 words describing fixes, like:
MATCHPROP When the source entity was non-annotative and the target annotative, the target undesiredly remained annotative.
There are 1,100 words describing API changes and fixes, e.g.:
BRX/LISP/SDS wcmatch() now supports the (undocumented) space character as a pattern key to match any contiguous sequence of whitespace characters (space, tab)
That last one is a fix for a bug that I reported in V16. Within ten days of submitting my report, I was informed directly by the developer that the fix had been done and would be available in V17. Here’s another one of mine:
BRX/LISP Improved sds_getFiled() / (getfiled) behavior during a Save operation when default filename argument is empty.
Elapsed time between my report and acknowledgement by the developer that a fix would be forthcoming? Just under 12 hours. Less than 3.5 hours after that, I was informed that the fix had been implemented. Hands up all those people who have had similar experiences with Autodesk?
Steve, be sure to encourage Torsten to get a lisp debugger going, or anyone who can influence that. There are small incompatibilities with lisp that are rather hard to troubleshoot as is, even when adding (princ “nStep 1…) messages to see how far things got. I think its a major reason long time users hesitate to switch to bcad, as the rest of the program has been pretty solid. We even noticed it handles errors in dxf files better than acad. The 3d conceptual mode display seems better than acad too.
I agree. BricsCAD does a whole bunch of things better than AutoCAD, but providing a LISP IDE isn’t one of them. I’ve put in a support request.
Yesterday I’ve downloaded BricsCad V17, ported my AutoCad application and yes, BricsCad ist great now. Some past minor flaws which were important for me are corrected now, especially: fields in xrefs are now filled in as expected. And transparency now seems to work as expected as well. That’s great.
But the minor error which I reported 4 years ago to the support still exists in V17:
(setvar “users1” “abcdefghijklmnopqrstuvwxyz”)
(princ “n’p’ expected: “)(princ (menucmd “M=$(substr,$(getvar,users1),16,1)”))
(princ “n’q’ expected: “)(princ (menucmd “M=$(substr,$(getvar,users1),17,1)”))
The diesel function “substr” should not be limited to the first 16 chars of a string.
But all in all: great job BricsCad, especially the Lisp, BRX and .NET-api, very easy to port an AutoCad-application.
Lucky you! That bug is fixed in v17.1.10: