Category Archives: BricsCAD

The game has changed – Robert Green migrates to BricsCAD

Is anybody left who still thinks BricsCAD isn’t a serious replacement for AutoCAD? If that’s you, perhaps the latest news might make you take it seriously. No, not the Heidi Hewett news. Even more recent news than that!

Robert Green, CAD Management guru, Cadalyst writer and consultant (not to mention a rather good guitarist) has been announced as the first Bricsys Certified Migration Consultant.

Image courtesy of Bricsys

Read all about what Robert has to say on this Bricsys blog post.

Anybody who has been reading this blog for the last few years will be surprised by none of what Robert has to say in that blog post. It’s not merely a repeat of what I’ve been saying for some time now, it’s all factually correct and easily verifiable by any competent CAD Manager.

I’ve been there and done that. I’ve gone through the process of taking a very complex custom AutoCAD environment, applying it to BricsCAD and giving it to my users. They loved it. No training was required to work as usual. Most things happened quicker, more conveniently, or both, starting right from the speedy installation. Once the product is in place and established, training can then be applied to take advantage of the places where BricsCAD is ahead of AutoCAD.

If you’re a CAD Manager where AutoCAD is used and you haven’t checked out BricsCAD yet, it’s about time you did.

This might come as a shock to those who see Autodesk domination of DWG CAD as a permanent fact of life, but the game has changed. AutoCAD’s stagnation and comments by senior figures show that the former flagship is clearly unloved by the powers within Autodesk. AutoCAD LT, even more so. An unimpressive AutoCAD 2019 shows that major improvements can no longer be expected in exchange for your ever-increasing annual payments, and with large numbers of people having been offloaded from the research and development teams, who would do it anyway? Meanwhile, BricsCAD development shoots ahead.

Thanks to decades of hostility towards customers that has only accelerated in recent years, Autodesk can’t even rely on customer loyalty for survival. When there’s a serious competitor that offers an easy migration path, the inertia that has kept Autodesk alive so far in the DWG space is no longer enough. The feeling among industry observers I meet is that Autodesk is in a decline of its own making. The only debate is whether that decline is temporary or terminal.

Back to Robert et al. Autodesk has lost many good people, and Bricsys is gaining them. The momentum is clearly with the Belgian company. Anybody want to run bets on who the next big name defector will be?

BricsCAD Shape for Mac

BricsCAD Shape, the free DWG-based 3D direct modeling application from Bricsys, has now been released for macOS (formerly OS X). See my previous post on Shape for details of what it’s all about.

This is the same, just on a different OS. That’s because unlike Autodesk’s versions of its DWG products, the Bricsys versions are not cynically watered down for Apple users. Those users can now do full 3D conceptual modeling as part of a workflow that leads to full BIM (or simply view and edit DWG files if you’re not that ambitious), and without paying for the privilege.

It’s a proper free perpetual licence without usage restrictions, not a demo. You can’t get a perpetual license of DWG-editing software from Autodesk for any money, so by any measure Shape is a bargain.

The Bricsys blog post can be found here. The download page is here.

A Linux version of Shape is expected later.

Steve at the BricsCAD New Zealand and Australia Roadshow

Sofoco (Australia) and CAD Concepts (New Zealand) are currently running a series of seminars throughout Australasia demonstrating BricsCAD.

Here are the dates and locations:

Auckland – 9 April 2018, Jet Park Hotel and Conference Centre
Christchurch – 11 April 2018, Christchurch Community House
Melbourne – 17 April 2018, Airport Motel and Convention Centre
Sydney – 18 April 2018, Stamford Plaza Sydney Airport
Brisbane – 19 April 2018, Royal on the Park

Each seminar is in two parts. The morning session is for leaders and decision makers and the the afternoon is less structured and goes into more details, with informal discussions, questions and answers and one-on-one sessions. There will be many short presentations from various presenters to demonstrate the different things that BricsCAD is capable of, with or without third party add-ons.

I’ll be travelling to the Brisbane show. I’ll be there for the whole day but will be doing a brief presentation about BricsCAD’s LISP, with reference to AutoCAD compatibility and the tools available to CAD Managers and developers, including BLADE.

I have experience not only in developing using LISP in AutoCAD and BricsCAD, but also in transitioning from one to the other in a comprehensively modified custom environment. I hope to be of some assistance to CAD Managers and users who are considering such a move. I believe there are still seats available.

Disclosure: the organisers will be covering part of my expenses.

Video – 3Dconnexion fine tuning in BricsCAD and BricsCAD Shape

The second video in the cad nauseam YouTube channel is more typical than the first in that it’s a tips and tricks video. In this case it only applies to BricsCAD and Shape users, but future videos will provide information for AutoCAD and other DWG-based CAD applications.

Bricsys 2018 comes to London

I’ve had the pleasure of attending the Bricsys Conference in 2016 (Munich) and 2017 (Paris). This year’s conference will be in another great European city, London, on 23 and 24 October.

Other details have not yet been revealed, but will be posted on the Bricsys Conference page as time goes on. You can sign up on that page for email notifications.

This is a great opportunity for British companies looking at reducing costs and improving efficiency in their CAD and BIM operations to get an idea of what BricsCAD and related applications can do. If you’re further afield, it’s still worth the effort. I was certainly blown away by what I learned at my first conference, and I’d already been evaluating the product for a couple of years before that. It was well worth the journey from Australia.

Disclosure: Bricsys covered my travel expenses for the 2016 and 2017 conferences.

CAD Panacea tip – startup files in BricsCAD

One of the things that might initially baffle a CAD Manager or power user when investigating switching from AutoCAD to BricsCAD is how to set up the startup routines. Head over to CAD Panacea for R.K. McSwain’s concise, handy description of how to do it.

Due to BricsCAD’s high level of compatibility, you can maintain a common folder or set of folders containing LISP and other custom files for both applications. That way, you don’t need to do double maintenance during the transition period. I’ve done this successfully in a highly complex custom environment. Some code and other adjustments were required in places, but all but a handful of my hundreds of AutoCAD LISP files worked as-is in BricsCAD with zero effort.

Having added your AutoCAD custom folder(s) to BricsCAD’s search path, I suggest you make a common startup LISP file (e.g. rename your old acaddoc.lsp to something like CADStartupDoc.lsp) and have tiny stub startup LISP files for each application (acaddoc.lsp and on_doc_load.lsp) that each loads the common startup file.

acaddoc.lsp contents:
(load "CADStartupDoc")

on_doc_load.lsp contents:
(load "CADStartupDoc")

You can add error checking and messaging if you like, but if you have control of your environment you probably won’t even need that. If you find you do need any application-specific code, you can just add it or load it from the acaddoc.lsp or on_doc_load.lsp stubs as appropriate.

BLADE – putting things back to “normal”

Disclaimer: I’m making money using BLADE. I’m using it on a paying project right now (well, not while I’m typing this, but you get the idea). I’m developing a routine to automate a massively repetitive task for one of my AutoCAD-using clients, and I’m developing it in BricsCAD and BLADE rather than AutoCAD and VLIDE.

I can simply develop faster in the more modern environment, and BricsCAD’s significantly quicker start-up time helps with that. So does the fact that the routine runs several times faster in BricsCAD, making testing the large data sets much more efficient. I’m getting paid on results and not by the hour, so using BLADE is putting cash straight into my pocket while giving me more time to walk my dog.

Using BLADE in production, I’m discovering a few bugs, quirks and things I don’t like. That’s totally understandable with a new feature of this level of complexity and functionality. Where I think it makes sense, I’m submitting problem reports or feature requests to Bricsys. I’m sure Bricsys already has a bunch of these from other developers, so they’ll be very busy for a while. From past experience, I know my reports will be taken seriously and acted on appropriately in a timely manner, if it’s feasible to do so. Your LISP IDE feedback won’t be ignored for decades by Bricsys.

One of the things Torsten Moses mentioned to me that didn’t make it into the published interview was that many developers are very conservative. There’s some truth in that. I’m missing certain keystrokes, for example: 1978-era WordStar Ctrl-Y to delete a line, anyone? It’s a reasonable expectation that as more VLIDE users migrate to BLADE, many requests will come in for VLIDE-like things. I’m told that some of these things will be provided in coming months.

In the meantime, there are things we conservative developers can do to make ourselves feel more at home. One of these is to configure the editor appearance. Here’s the VLIDE editor:

Here’s the BLADE equivalent:

One of the great things about BLADE is how configurable it is, and I know Torsten’s working right now on making it even more so. Configurations are stored in the Registry in a version-independent location (HKCU\Software\Bricsys\BricsCAD\VLispDbgEditor). These can be exported and imported directly or via BLADE, so multiple complete setups and configurations can be managed.

In this post, I’m going to be going through the process of configuring BLADE’s editor appearance to make it look more like VLIDE. I’m not suggesting that’s necessary or even a good idea in most cases, but if you really want to do it, here’s how.

Note: before you do all this manually, please note that at the end of this post I will provide a configuration file that will do it for you.

  1. Start up BricsCAD V18.2 or later and start BLADE using either the BLADE or VLIDE command.
  2. Open a LISP file in BLADE so you can check the effects of the changes we’re going to make.
  3. Use Preferences > Show preference dialog…
  4. In the Preferences & Settings dialog, pick the Styles tab and the Lexer Styles sub-tab.
  5. I’m perfectly happy with Courier New 10, but if you want the VLIDE look, change 1 – Default text to Fixedsys 11.
  6. Click next to 3 – Comment, turn on the Background color toggle and change the Back Color to mid-grey (192,192,192) and Fore Color to dark magenta (128,0,128). You’ll need to specify that RGB value in the lower right corner and use Add to Custom Colors to do this.
  7. Click next to 5 – String and change the Fore Color to magenta (255,0,255).
  8. Click next to 7 – Operator and change the Fore Color to red (255,0,0).
  9. The 8 – Keyword 1 setting should already be blue as in VLIDE. If you want system constants such as T, nil and pi to also be that shade of blue then change 9 – Keyword 2 accordingly. Personally, I prefer a different shade so they stand out. Mid-dark cyan (0,128,192) works well.
  10. I like the pale grey background in BLADE that helps identify the current line. If you don’t, click next to 8 – Caret colour and turn off the Background color toggle.
  11. Switch to the Editor Colors sub-tab, click next to 5 – Selection colour and change the Back Color to a custom mid-blue (0,120,215).
  12. While you’re in the Editor Colors sub-tab, there are a few other non-VLIDE things you can play with. 1 – Brace hilight and 2 – Brace mismatch are dynamically applied to matching and non-matching parentheses respectively. I like my Brace hilight setting to be plum and bold (turn on the Attributes toggle to enable this):

I like my non-matching setting to be white on red (the inverse of a normal parenthesis so it shows up):

Changing all that should give you something that looks like this. Familiar enough?
There are several things in the above image that might be unfamiliar but which I suggest you leave turned on because they’re useful. If you really insist, here are the locations for these settings in the Preferences & Settings dialog:

  1. Line numbers  – View > Margins, Show line number margin
  2. Marker margin – View > Margins, Show marker margin. If this is turned off, bookmarks show up using the settings under Styles > Editor Colors > 13 – Bookmark marker.
  3. Edge marker (that vertical line on the right indicating 80 character width) – View > Edge marker > Type, No background.
  4. Indentation guides (those vertical lines that show you what your code is lining up with) – Tabs and EOL > Indentation, Show indentation guides.
  5. Code folding margin (the margin on the left that allows you to collapse functions, etc. – Folding and Wrapping > Show code folding margin.

Unlike VLIDE, the default in BLADE is to use spaces for indentation, not tabs. As I don’t know of any LISP developer who uses tabs except by accident, this is a much more sensible default. But if you really want to use tabs, turn it on using Preferences > Use tabs and set the width to the VLIDE default of 8 in Preferences > Set tab width.

If you’ve left opening parentheses on previous lines and have indented the following code as usual, then as you go on to finish off the code with closing parentheses, in BLADE a single backspace will take you back your indent width (2 spaces by default) rather than a single space as in VLIDE. If your coding finger can’t get used to this keystroke-saving feature, you can turn this off with Preferences > Backspace unindents.

Having done all that, and having arranged the rest of the interface to your needs (overall window size, pane and field widths, etc.), make sure you save it! It’s as simple as Preferences > Save preferences, but it’s not done automatically. If you want to keep a safe copy of your settings, you can do so with Preferences > Save preferences to file. This simply exports the relevant part of the registry to a .reg file of your choice. This is a text file you can hack about with at your leisure (using BLADE if you like!), and you can even make files that represent subsets of your preferences.

For example, I’ve removed all but the style settings from a .reg file I exported. I’ve uploaded it renamed as a .txt file because .reg files are considered dangerous by browsers, etc.

If you want to use this to give BLADE that old familiar VLIDE look, here are the steps.

  1. Download SteveVLIDE-likeBLADEStyleSettings.reg.txt.
  2. Rename the file to remove the .txt extension so it becomes SteveVLIDE-likeBLADEStyleSettings.reg.
  3. In BLADE, use Preferences > Load Config from File
  4. Close BLADE and BricsCAD.
  5. Restart BricsCAD and BLADE.

That should do it. Happy BLADEwork!

Interviewing the creator of BLADE – CAD’s best LISP IDE – part 2

This post continues my interview with Torsten Moses about BLADE, the new LISP IDE that arrived with BricsCAD V18.2. See here for post 1.

Steve: I’ve noted before that BricsCAD execution of AutoLISP and Visual LISP is several times faster than AutoCAD’s. How does the new technology affect that performance?

Torsten: All the new BLADE-related stuff doesn’t really affect normal LISP execution outside the IDE and debugger. The connection is made by a few callbacks, which take zero time in normal processing. Therefore there is also no chance of breaking things. The BLADE implementation is very safe, and performance remains high for normal usage. For the debugger and the synchronization, it is all home-brewed stuff, optimized for best performance even when debugging, and minimum system and LISP memory usage.

In the course of implementing the debugger and internal versus external synchronization, I also removed most emulations and implemented that as core OpenLisp functionality. That has the side-effect that the (repeat), (foreach) and (vlax-for) functions now run about five times faster at the loop construction. So rather than slowing things down, creating BLADE has actually speeded things up!

Steve: Will the Mac and Linux versions also get this feature?

Torsten: Yes, it is fully compatible. This is due to the implementations of WxWidgets and my own stuff. I have already verified BLADE running under Linux. There are no differences; even the implementation code has no Windows-specific stuff.

Steve: Can you give a simple example of the workflow of a debugging session?

Torsten: First, don’t pre-load any LISP file into BricsCAD. Such code loaded outside the debugger is fully functional, but it can’t be used for debugging. The special connection between internal and external representation is only established when loading the LISP code under a debug state.

Next, in BLADE open an existing FAS or VLX project, and/or a “Named Session”, or simply any LISP file you want to start debugging with.

Now you can select Start Debugging from menu or toolbar, or hit the F8 hotkey. The special Debug Toolbar will appear. You can either activate AutoBreak, which stops at first executable code, or activate the LISP source where you want to start debugging and place some breakpoints.

Then load the dedicated LISP file, either by the normal Load into BricsCAD function, or from the Load button in the Debug Toolbar. Now that loaded code is debug-enabled and you will see the file and debug-enabled functions in the two right tabs.

When the debugger halts at the first breakpoint, all debug-step modes are enabled in the toolbar, and you have all the usual debug step modes. More than in AutoCAD’s VLIDE, actually. You can set the watches (observed and tracked variables) as “Data Break Point” by activating the checkbox. Then, whenever that value changes, the debugger also stops automatically at the related LISP statement.

Steve: What if your code calls code in other files you haven’t loaded?

Torsten: Don’t worry about that. The debugger recognizes this and will ask to load the related LISP file on-demand. In normal LISP, you would get an unknown function error but the debugger catches this upfront. In fact, this is one of the high-end features – only load the primary LISP file, any further debugging into other files resolves by loading during the debugging session. This is very handy for dealing with complex apps – there’s no need to preload any other LISP source. I’m sure you’ve experienced Murphy’s Law, where the particular function you need is the one that’s not loaded. You won’t have that problem in BLADE.

Steve: Where to from here? Is this job done or is there still room for improvement?

Torsten: As BLADE is still a very young product, there is definitely a lot more to come. So far, the main target was to provide good debugging features, and a somewhat reasonable handling of projects, but not so much focusing on plain editor capabilities.

My to-do list still has a number of major key features to be implemented. We want to add a hotkey editor, because every developer loves his own keystrokes and learning others is a nightmare! We also want cross-reference checking on a per-file and per-session basis, mainly for bigger LISP applications.

Then, over time, the editor capabilities will be extended and improved, providing more features. One example is to provide an editor tooltip that shows a function signature and short help when hovering over a LISP function name.

And of course, I’m aware that when people start using this in production, a lot of feedback will arrive from developers in the form of wishes, hints for improvements and bug reports. It’s very likely there will be many wishes to implement several details to make BLADE resemble AutoCAD’s VLIDE more closely. This could be a bit difficult sometimes, and is also not the main target. I hope that developers will be open to a slightly different workflow, given the big advantages they get in return.

In general we are very open to developer ideas, needs and requirements, as we are with BricsCAD itself. In the end, it’s the developer who needs to work with BLADE, as easily and productively as possible. Even the initial release of BLADE is based on important feedback from beta testers such as Martin Drese (CAD Wiesel).

Steve: I can certainly attest to how well you respond to feedback. I’ve seen bugs I’ve reported fixed in a very short timeframe.

Torsten, thank you for your time. This has been very illuminating.

This interview is also available in one post on the Bricsys blog.

Interviewing the creator of BLADE – CAD’s best LISP IDE – part 1

Easily the most impressive new feature of BricsCAD V18.2 is the new Visual LISP IDE, BLADE (BricsCAD LISP Advanced Development Environment). The lack of any LISP IDE has been a BricsCAD stumbling block for a while, dissuading CAD Managers from adopting BricsCAD to replace their stagnant and increasingly expensive AutoCADs.

As I will relate elsewhere, Bricsys has not just caught up with Autodesk here, but has shot so far ahead it’s unlikely to ever be caught. BricsCAD’s BLADE is so superior to AutoCAD’s VLIDE in so many ways there’s really no comparison.

Yet it remains highly compatible. I have personal experience in making large amounts of AutoCAD LISP code (literally hundreds of routines) work in BricsCAD. That experience tells me that the vast majority of code will work just fine (and much faster) in BricsCAD. A tiny proportion of LISP or DCL code may need adjustment before it will work perfectly on both platforms, and that’s one reason an IDE that works within BricsCAD was an important step that Bricsys needed to take.

I had the chance to see this IDE privately in then-unnamed pre-release form when I attended the Bricsys Conference 2017 in Paris. I was surprised and delighted at the functionality demonstrated by its creator, Torsten Moses. I recently had the chance to interview Torsten about his creation.

Steve: I understand it was difficult to create a LISP IDE for BricsCAD because of the way BricsCAD’s LISP works. Can you explain that?

Torsten: BricsCAD LISP uses the OpenLisp core system, from French developer Christian Jullien. This is the only LISP engine still under development; the others I found stopped development in the mid-90s.

OpenLisp is a very modern implementation, not comparable to the old XLisp dialect used by AutoLISP. Even object-oriented features are supported. Therefore the internal representation of LISP expressions is different from the textual representation as seen in a LISP file.

Steve: So the AutoLISP code I write isn’t the code that BricsCAD executes?

Torsten: That’s right. A number of typical AutoLISP constructions were implemented by a kind of emulation, which drives the internal versus textual representation differences even further. That makes it a major challenge to synchronize the internal OpenLisp expression execution with the related textual representation in order to provide any debugging functionality.

Besides the plain technical details, which seemed to be virtually unresolvable, there was the expected heavy effort to implement a full-blown GUI. This was not just a plain editor, but the entire IDE GUI. It would have been a disaster, a major disgrace, if we had provided a VLIDE that was just up to AutoCAD standards. That was great in its time, but it’s 20 years later now. The idea of creating a LISP IDE for BricsCAD seemed so filled with difficulties that we put it off for a long time.

Steve: How did you finally manage to overcome these difficulties?

Torsten: First, it was a pure coincidence. [laughs] By luck, I discovered a hidden detail in OpenLisp – any LISP symbol (and expressions are a kind of anonymous symbols) can hold unlimited, attached custom data, very similar to XData in DWG database objects. I even knew about that for many years, but never worked out the shortcut to ‘misuse’ this for the LISP expression execution to editor and debugger bidirectional connection. Some initial quick tests showed that this approach was very suitable.

By another coincidence, I discovered that WxWidgets (our cross-platform system, not only for GUI) already includes support for the famous Scintilla editor, an OpenSource editor engine, widely used by many editors. WxWidgets even provides two levels of wrappers – a plain, core wrapper, and a high-level wrapper class system. This fits perfectly into the WxWidgets logic.

But still, that is only plain editor support – not a GUI. Then I found a very suitable, extensible editor and GUI implementation, based on that WxWidgets Scintilla system – as Open Source under the WxWidgets license. Hence, we are allowed to use that source code in a commercial application. That editor is called wxStEdit.

I verified that this source was suitable for our LISP IDE, and put in a lot of extra work to extend it. wxStEdit development finished in around 2008, and it still was compiling and working mostly fine. Nevertheless, in the course of extending that GUI, I found and fixed a lot of defects at all related levels (Scintilla, WxWidgets Scintilla wrapper and wxStEdit).

So it was this set of coincidences that suddenly opened both wings of a big gate!

See here for part 2 of this interview.

This interview is also available in one post on the Bricsys blog.

Bricsys shows Autodesk how to do mid-term updates – again!

BricsCAD V18.2 for Windows is out. The new stuff in this mid-term update is again showing up Autodesk’s lack of progress with its once-flagship product, AutoCAD. I’m sure Autodesk would love customers to accept that there’s only so much anyone can do with a DWG-based CAD product once it reaches a certain level of maturity. Customers should get used to nothing of significance being added year after year. Diminishing returns, and all that. Pay to continue using the product, but don’t expect it to get better.

What a shame for Autodesk, then, that Bricsys exists. By consistently providing a raft of significant improvements with each full and mid-term release, Bricsys shows up that idea as nonsense. It’s perfectly possible to keep improving CAD at a very rapid rate, particularly if you’re not worried about competing with other products in your range. There’s a reason AutoCAD’s parametrics are restricted to 2D, and BricsCAD’s 3D parametrics in a DWG product proves that the reason isn’t technical. It’s strategic. Also strategic is cutting the guts out of an already much-weakened AutoCAD team, because you would really prefer your customers to be using your trendier and/or more expensive products.

I should point out that BricsCAD V18 customers who have a perpetual license, even without maintenance, will be receiving V18.2 with all its improvements free of charge. Contrast that with Autodesk, which is, despicably, withholding even bug fixes from selected customers. Autodesk’s attitude to customers who aren’t constantly paying up front is one of utter contempt. Autodesk feels entitled to your money; Bricsys wants to earn it.

So what’s Bricsys done to earn your money with BricsCAD V18.2?

Mostly, it’s lots of relatively small-sounding things that add up to significant productivity enhancements. There are several items that are playing catch-up to AutoCAD, such as long-overdue in-place text editing. There are big performance improvements in drawings with PDF underlays due to a smart multi-resolution cache mechanism. The 3D-to-2D generation mechanism has also been significantly sped up. Constraints (2D and 3D, unlike AutoCAD) are easier to create. Several 3D direct modeling operations have been made easier. That also helps with sheet metal design, which has seen other improvements.

In Bricsys BIM V18.2, a lot of smarts have been added. The mechanism for converting CAD models (including those made in BricsCAD Shape) to BIM models, BIMIFY, already did some fascinatingly clever things, but that’s been improved further particularly in the areas of structural member and room recognition. For those of us in Australia, support for our steel sections is very welcome.

For me, that’s not the big news. Oh, no. The big news for me is a thing called BLADE – the BricsCAD LISP Advanced Development Environment.

If you’re a CAD Manager or in-house developer and you’ve been waiting until BricsCAD had VLIDE, wait no longer. But this isn’t just catch-up. This is a big leapfrog over Autodesk’s sadly neglected IDE for CAD’s primary user programming language. There’s so much good stuff in BLADE that I can’t hope to do it justice here, so I will be covering it extensively in future posts. For now, here’s a statement for you:

If you program in AutoLISP or Visual LISP, you should be doing it in BLADE.

It’s that good. Really. Watch this space for details.

The download is small, the install is fast, it won’t harm your AutoCAD installation, and you can evaluate it free for 30 days. Links:

Why digitally sign your LISP files?

After I mentioned in an earlier post that I had digitally signed the sample LISP file I had provided, this generated some interest. In this post, I’ll explain why you might want to sign your LISP files. In a later post, I’ll explain how to do it.

These days it is standard practice for developers to digitally sign their code. Operating systems and applications are displaying increasingly scary warnings when coming across unsigned code. Here is an example of the sort of message you get when you load an unsigned LISP file into AutoCAD from a location that has not been explicitly configured as a trusted location:

If you’re a CAD Manager dealing with your own internal code, it’s not too onerous to configure AutoCAD in Options > Files such that a folder is trusted by AutoCAD and place your code in there. The folder should be read-only; if it isn’t, AutoCAD warns you when you try to configure it. If you do this, the scary warnings don’t appear to bother and confuse your users, even if your code is unsigned.

Another way a CAD Manager can avoid the warnings is to set the SECURELOAD system variable to 0. That’s generally not recommended because it turns off AutoCAD’s security features. While you’ll probably get away with this, there’s always a chance that a user will load some malware and then you’ll have to explain yourself to management.

If you’re not just using your code internally and it’s going to be used by other parties, then you’re not going to have that level of control over the user environment. In recent AutoCADs it’s possible to set up the installation deployment such that users can’t turn off the security settings. If the CAD Manager at the location using your code has done this, your potential users are going to be presented with unprofessional-looking scary warnings.

If you sign your code, users might still get a warning, but it’s less scary. It identifies you as the verified source of the code so they will have more confidence in picking the Always Load button. Once they’ve done this, other signed code of yours will be automatically trusted.

There’s another important reason you might want to sign your code, and that’s protection against other people’s modification of your code. If somebody edits your LSP file and then gives it to someone who tries to load it, the user is presented with an even scarier warning:

Note that this warning no longer has your name on it. This means it’s possible to protect yourself from people (internal or external) who well-meaningly hack about with your code and then try to blame you when it goes wrong. It also gives a level of protection against your code being infected by malware.

Note that all of the above only applies to AutoCAD 2016 and later. AutoCAD 2014 introduced some LISP loading security measures, but the signature stuff came a couple of releases later. Earlier AutoCAD releases, along with compatibles such as BricsCAD and ZWCAD, will just ignore the digital signature. It’s just a comment in the code as far as they’re concerned.

LISP files with the LSP, MNL, FAS, or VLX file extensions can be digitally signed. There’s a bug in the original iterations of AutoCAD 2016 and AutoCAD 2018 that prevents signed VLX files from working. This was patched later in both releases (2016 SP1 and 2018.0.2), but if you’re distributing your code externally there’s always a chance that your VLX might end up in the hands of somebody using a broken release. Also, VLX files that are digitally signed cannot be loaded into AutoCAD 2015 and earlier, broken or not. You should bear that in mind before distributing signed VLX files. I don’t do it and would advise against it. Thanks, Autodesk.

Given this information, if you decide that signing your LISP is a good idea, watch this space for information on how to do it.

Setting your application or document window size using LISP

I intend to produce a few videos containing tips, tutorials, product comparisons and the like. I’ve set up a cad nauseam YouTube channel, but don’t bother visiting it yet because it’s empty.

One of the things I need to do for these videos make sure I’m capturing the screen at an appropriate resolution. I knocked up a bit of Visual LISP to take care of this task quickly and accurately, and you might as well have it. It’s a simple routine that allows you to accurately size either the main AutoCAD application window or the current document window (drawing area) within the main window.

The file is WindowSize.lsp. It should work in all full AutoCAD releases (not counting LT and AutoCAD for Mac) and AutoCAD-based verticals from 2000 on.

It works in recent BricsCAD releases (except the free and LISPless BricsCAD Shape). I’ve only tested it in Windows, but it should also work in the Mac and Linux versions due to the high degree of LISP compatibility provided even across platforms. It also works in ZWCAD 2018 for the main application window, but don’t use it on the document window because that doesn’t work.

Download it, put it in a location of your choice and load it into your CAD application (for example by dragging and dropping it from Explorer onto the drawing window).

Note: In AutoCAD 2014 and later, loading any LISP or other executable file may result in a warning depending on the release, the security settings, whether the file is located in one of AutoCAD’s trusted locations, and whether the file is digitally signed. I’ve digitally signed the file to reduce the incidence of warnings, but you could still see something like this:

The verified publisher should be cad nauseam as shown above. If you pick Always Load then you shouldn’t see the warning again for this file or any others signed by cad nauseam. Feel free to edit the file for your own needs, but if you do the signature will become invalid and you’ll be warned again when loading the file.

Once it’s loaded, enter the command WindowSize. The prompt sequence goes like this:

Command: WINDOWSIZE
Window to size [Application/Document] :
Width in pixels <1280>:
Height in pixels <720>:

Now, back to work on the first of those videos.

Why Bricsys makes the best AutoCAD for Mac

Bricsys has just released BricsCAD V18 for Mac. Here’s the download link and here are the release notes.

BricsCAD V18 is an excellent DWG 2018-based CAD application, and the Mac version lacks little in comparison to the Windows version. It’s so much more capable than the perpetually half-baked AutoCAD for Mac that I struggle to comprehend why anybody with the choice would even contemplate the notably inferior and seriously overpriced Autodesk offering.

That’s not just opinion, it can be supported objectively.

Price first. US prices are shown here for a single standalone license over five years, inclusive of the cost of upgrades. The BricsCAD prices therefore include maintenance (it’s optional); the Autodesk prices are for subscription (not optional). No temporary discounts have been included. I have excluded bargain-basement BricsCAD Classic because it lacks the full set of programming and 3D modeling tools. I have assumed that there will be no price increases over the next five years. Given recent history, that’s probably close to the truth for Bricsys prices. Autodesk, not so much.

Year BricsCAD Pro BricsCAD Platinum AutoCAD
1 970 1330 1470
2 240 240 1470
3 240 240 1470
4 240 240 1470
5 240 240 1470
Total 1930 2290 7350

It’s worth noting that if you want to stop paying Bricsys, you’re left with the latest version to use indefinitely. You can change your mind and get back on the upgrade train later, if you like. That sort of flexibility is long gone at Autodesk, where subscription means no pay, no play. If you stop paying, despite having paid 3.2 times as much for your software over the five year period, you’re left with nothing.

Now, features. You may have noticed that Autodesk is now too embarrassed to list the differences between the Windows and Mac versions of AutoCAD on its web site. The Compare AutoCAD vs. AutoCAD for Mac page is now a shadow of its former useful self, devoid of all detail. If you want to get a reasonable idea of what’s going on with AutoCAD for Mac’s deficiencies, you can check out my post about the 2017 release that lists the missing features.

Alternatively, you can have a look at the equivalent Bricsys comparison page, which you should probably do anyway before spending any money. It’s strange that you now need to visit a competitor’s page to get detailed information about an Autodesk product, but in the CAD world these are strange days indeed.

It’s important to note that the Bricsys comparison page has issues; while the BricsCAD columns are up to date, the AutoCAD columns are a year behind. That page definitely needs an update in order to provide a fair comparison. Don’t rely on it completely (e.g. all of the listed products except BricsCAD V17 for Linux use DWG 2018 as the native format, not DWG 2013), but it will give you an approximate idea. Look at the little red X marks in the rightmost column and you’ll see that a whole bunch of the missing AutoCAD for Mac features, even after all these years, are very significant and their absence could rule out the product for you. Don’t expect much in the way of future improvement. either. AutoCAD for Mac is in maintenance mode, just like the full product.

BricsCAD for Mac is not just more fully-featured, it’s ironically also more AutoCAD-compatible than Autodesk’s effort. For example, try to run a selection of LISP routines in both products. Almost all of it will run just fine in BricsCAD. Anything that uses ActiveX or DCL (dialog box) calls simply won’t work in AutoCAD. You might be all right with some simple routines (if it was written for AutoCAD for DOS then it will probably be fine) but any LISP even moderately sophisticated is going to fail.

BricsCAD for Mac doesn’t just provide capabilities that AutoCAD for Mac doesn’t have and never will, it offers something more than that. It offers a path beyond basic drafting. You can abandon all hope of Revit for Mac – that won’t be happening. AutoCAD-based vertical products? Nope. Inventor OS X? Forget it. But the availability of a product like Bricsys BIM for Mac (not priced above – it’s US$770 extra if purchased seperately) is an obvious drawcard for Mac-happy architects. You can create 3D parametric models on your Mac if you use BricsCAD Platinum, and you can create them without straying far from a familiar AutoCAD-like environment. Sheet metal? Sure (at extra cost).

If you’re a Mac-only person and you’re wedded to Autodesk, you’re not only being ripped off, you’re following a dead-end path. Time to check out the alternatives.

BricsCAD Shape – can a free DWG product be a BIM game-changer?

At the Bricsys 2017 Conference in Paris, one of the biggest surprises was the announcement of BricsCAD Shape. This product was demonstrated live, very impressively, in pre-release form. As I live-tweeted at the time, the demo jock was able to create a pretty decent architectural model in minutes, from scratch, very easily. That product has now been released.

What is BricsCAD Shape?

Shape is a 3D direct modeling application. At the core, it’s a simplified BricsCAD BIM. That means it’s small, fast, stable and it uses 2018 DWG as its native format. These are all good things. It’s obviously aimed at the AEC market, but there’s nothing to stop anyone using it for anything. Use it as a lightweight DWG viewer/editor if you like.

As you can see, it has a very simple, clean, cut-down interface. That dude is French Architect Jean Nouvel, by the way. He’s a block; you can erase him. He doesn’t appear in DWG files from other sources you open in Shape.

The idea is to do most of your work with the 18 buttons in this mini-ribbon/monster toolbar thing:

For less common operations, there is a set of pull-down menus. Although it’s hidden by default, you can even turn on a command line (Shift+F2) that will be very familiar to AutoCAD and BricsCAD users. Try to do without it; you will then discover how the excellent Quad Cursor interface (inherited from BricsCAD) uses AI technology to save you time and clicks.

How do I get it?

Click this link, enter your email address (no, they won’t sell it to spammers), and download away. Unlike Autodesk downloads, there are no nasty Akamai download managers to contend with, no multi-stage install processes, no massively bloated files, just a straightforward download of a 212 MB MSI installer. Time to download for me on ADSL2 was 2m 56s. The install time, including user interactions was 36s. Time for the first startup, including online registration, was 15s. That got me to the startup screen. The time for the first drawing startup was another 10s.

You can be using Shape in under 4 minutes. That is, you could be using it yourself in less time than it takes to read what I have to say about it.

How is it licensed? How much is it?

It’s a perpetual license, and it’s free. Bricsys has stated that it will always be free. Not much to complain about there.

So what’s in it for Bricsys?

The problem Bricsys faces in churning over large numbers of Autodesk’s disgruntled customer base is not the products. The products are fine. BricsCAD is notably superior to AutoCAD in a bunch of significant ways (while remaining inferior in a handful of less important ways), and costs a fraction as much.

No, the problem Bricsys faces is in persuading large numbers of people to try its products. Shape is an attempt to make that happen. It’s an ice-breaker in a way that goes beyond the usual 30-day free trial product.

There’s hardly any bar to entry; anybody with an email address can own it with zero investment. The interface has been kept very simple and there are a whole bunch of bite-size tutorial videos that demonstrate how to do things. If this product can create a buzz and get people to use a Bricsys product, half the battle is won. The models it creates are ready to be easily taken to the next stage using the full, paid product, BricsCAD BIM.

It’s not SketchUp
There are superficial similarities between Shape and the discarded-by-Google product, Trimble SketchUp.

However, there are very significant differences. SketchUp Free is a cloud-based product that works inside your browser (the paid product is currently a desktop product). Shape is a standalone application that does not require the Internet. SketchUp has its own file formats; getting those models into CAD or BIM is fraught. Shape is not just using industry-standard DWG file format, it’s a proper, efficient, accurate CAD application. Because it’s a cut-down version of what Bricsys is hoping you will use to fully develop the models later, there is no translation. The model you build in Shape opens directly in BricsCAD BIM where automatic classification of building elements can take place.

BricsCAD Shape. It’s free, it’s easy, it’s DWG, it’s CAD, it’s 3D, and it’s a pathway to BIM. It could change the game. I have no way of predicting whether that will happen. But if it does, it’ll be another kick in the guts for a dormant Autodesk that has largely given up on improving its products.

Tip: what to do when your text becomes empty rectangles

Dear person who used the search terms “writing has become empty rectangle in cad” and “autocad text has become an empty rectangle” on this blog, I suspect you probably have a drawing where QTEXT has been turned on. To fix this, enter QTEXT at the command prompt, set it to OFF, and if the problem doesn’t go away by itself then issue the REGENALL command.

Pedantic note: the command name is QTEXT, but this controls a system variable called QTEXTMODE. QTEXT OFF is equivalent to both SETVAR QTEXTMODE 0 and just QTEXTMODE 0. In LISP it would be (setvar “QTEXTMODE” 0).

This tip applies to all AutoCAD releases and variants you’re likely to run. Because BricsCAD has a high degree of command-line compatibility with AutoCAD, it applies to BricsCAD too. The same may apply to other AutoCAD-compatible applications.

Tip – making your 3D controller work sensibly in BricsCAD

This tip applies to BricsCAD V14 to V18 inclusive, and possibly other versions too.

BricsCAD automatically works with a 3D “mouse” (e.g. 3DConnexion SpaceNavigator controller), and due to the generally excellent performance of BricsCAD in 3D, it works very smoothly and is a real productivity boon for 3D work. If you don’t already have one and you work in 3D, it’s well worth spending a fraction of the money you saved by switching to BricsCAD to get hold of one.

Unfortunately, the way BricsCAD reacts to use of this device fails to lock the horizon by default. This means it does not keep the vertical axis vertical, so unless you have an exceptionally light and skilled touch, you will soon have your model skewed, upside down and/or flopping around all over the place.

OK, this may be a silly default setting, but how do you change it? Read on.

Method 1

Press the left button on your controller. If you’re lucky, you will see the 3dxWare Panel. (I’m not seeing it in V18 so maybe I need a driver update). Use the Button Configuration tab and change it from “All Applications” to “BricsCAD”, then it should show as:

  • L: BricsCAD Default Menu
  • R: Fit

Picking the controller’s left button in BricsCAD after doing this brings up a context menu containing a Lock Horizon option.


Once you turn this on, the controller will work as expected.

Method 2

If you don’t have those options available to you when you pick the controller’s left button and you’re comfortable messing around in the Registry (the usual caveats apply here), you can fix it up.

First close BricsCAD. Now start REGEDIT and search for the 3dMouseMenu section, e.g. HKEY_CURRENT_USER\Software\Bricsys\BricsCAD\V18x64\en_US\Profiles\3D Modeling\3dMouseMenu. Under there is a LockHorizon value: change that from 0 to 1. Next time you start BricsCAD, the controller should work as expected. If therre are multiple user profiles, you will need to repeat this process for each profile.

Method 3

If you don’t have rights to use REGEDIT or you don’t feel comfortable doing so, you can achieve the same result by exporting and importing a user profile, with a little bit of text editing inbetween.

  • Close BricsCAD
  • Start the User Profile Manager (e.g. Start > All Programs > Bricsys > BricsCAD V18 (x64) en_US > V18×64 User Profile Manager
  • Choose a user profile and export it
  • Manually edit the resultant .arg using a text editor (e.g. Notepad) and change the appropriate line under 3dMouseMenu to “LockHorizon”=dword:00000001
  • If that section doesn’t exist, add it as follows (ensuring you use the right version information, e.g. V16x64 in place of V18x64):
    [HKEY_CURRENT_USER\Software\Bricsys\BricsCAD\V18x64\en_US\Profiles\3D Modeling\3dMouseMenu]
    "Rotate"=dword:00000001
    "PanZoom"=dword:00000001
    "LockHorizon"=dword:00000001
    "RotCenterModeAuto"=dword:00000001
    "RotCenterModeSelected"=dword:00000001
    "Speed"=dword:00000001
    "3dMouseMode"=dword:00000000
    "RotCenterVis"=dword:00000002
  • Import the edited .arg – you’ll have to provide a different name to any existing profile. Don’t worry, you can rename and delete profiles later as required.
  • Set that profile current
  • Start BricsCAD

You can do the same from within BricsCAD using Tools > User Profile Manager, but as you need to restart BricsCAD anyway before the change takes effect, you may as well do the above.

BricsCAD V18 – showing Autodesk how to do DWG CAD

For years now, Autodesk has done very little worthwhile with AutoCAD. There have been a few small but welcome improvements, but it’s really just tinkering at the edges. The product as a whole continues to stagnate and yet blimp out. It’s getting bigger and slower with each new release. The downloads get bigger. The install times get longer. The startup times drag out. The responsiveness suffers. And for what? Pretty much the same old thing, every time. Sometimes you don’t even get a new desktop icon. Don’t get me started on value for money.

It’s as if Autodesk considers DWG-based desktop CAD to be a solved problem. Many CAD users accept this. There’s not much more that can be done to improve it, right?

Wrong.

Bricsys has, yet again, proven Autodesk wrong. It is very possible to significantly improve DWG-based CAD. The improvements to the just-released BricsCAD V18 go far beyond anything Autodesk has done for many years, and that’s improving on an already-excellent and innovative product in V17. I’ll be covering some of the most important changes in future posts, but for now here are a few Bricsys links:

Don’t take my word for it. The easiest way to test the validity of what I have to say is to try it out for yourself. Unlike Autodesk products, Bricsys downloads and installs are small, fast and efficient. How efficient? This efficient (R.K. McSwain, Twitter):

It’s a 258 MB download for an entire DWG-based CAD application which is significantly more fully-featured than AutoCAD. No nasty malware-like download manager. It’s not a stub or a pre-installer that expands itself before even starting the install proper. It’s a ready-to-run installer for the entire top-of-the-range product capable of parametric 3D, sheet metal design and BIM. It installs and starts up quickly. You can have no trace of BricsCAD on your computer now and be editing your DWGs with it (yes, including your AutoCAD 2018 and Civil 3D DWGs) in a few minutes.

Here’s the download link. You can evaluate it for 30 days.

Did I mention that perpetual licenses are available? Or that it’s way cheaper than AutoCAD? Or that when you report a problem it goes to a real developer who actually cares about fixing it in a reasonable timeframe?

Bricsys 2017 Conference

I have recently returned from the Bricsys 2017 Conference, held this year at the Carrousel du Louvre, Paris. There were many impressive things demonstrated at this conference and I will be posting about them in due course. In the meantime, here is a short video from Bricsys:

You may wish to check out my Twitter feed to see what I live tweeted at the time, along with the #bricsys2017 tag to see what myself and other CAD press and bloggers thought of it.

Press and bloggers at Bricsys 2017

Disclosure: Bricsys covered my travel expenses for this conference.

AutoCAD 2018.1 released, but only for some

Autodesk has released the AutoCAD (and LT) 2018.1 Update, not to be confused with the earlier ill-fated 2018.0.1 Update. It’s only available for currently-paying subscription and maintenance customers. The “non critical” bug fixes in this Update (by Autodesk’s definition) are being withheld from Autodesk’s other customers.

Those of you who have allowed your maintenance to expire due to Autodesk’s development inaction and unjustified price increases can consider yourselves duly punished for failing to fall into line.

If you have the execrable Autodesk desktop app installed (not recommended) and it works as expected, this update will present itself to you. Otherwise, get it from your Autodesk Account page. Go to Management > AutoCAD > 2018 Downloads > Updates & Add-ons and then pick the appropriate AutoCAD 2018.1 Update download.

It has yet to be seen whether this update will break things, so if you’re feeling nervous you might want to hold off for a while and let others find out for you. (Edit: it broke one person’s AutoCAD, see comment from R.K. below).

Weighing in at well over 400 MB, the AutoCAD 2018.1 Update download is about twice the size of a complete BricsCAD download, even before expansion. So it must contain a pretty impressive amount of stuff, right? Or is it all bloat? Well, it includes 2018.0.1 and 2018.0.2 and adds this:

  • Xref Layers Override – Improvements to Xref Layers make it easier to identify overrides and restore them to their default values.
  • Views and Viewports – A new Named Views panel is added to the View tab to make it easy to create and restore named views from the ribbon, and to create scaled views and viewports for your layouts. The new layout viewports are automatically assigned a standard scale that can easily be changed from a new scale grip on the viewport. Viewport grips have been enhanced.
  • High Resolution Monitor Support – Supports additional dialog boxes. Palettes and icons are correctly adjusted to the Windows setting for the display scale.
  • 3D Graphics Performance – Work on performance continues to optimize the speed of 3D display for the Wireframe, Realistic, and Shaded visual styles.

The user interface has been touched up to support the above changes. The Preview Guide has been prepared to the usual excellent standard.

That’s all useful stuff, and most welcome. Work has gone into providing some genuinely useful adjustments. But there’s not a lot of it. Autodesk is still just tinkering at the edges.

Overall, AutoCAD 2018.1 is a pretty minor mid-term update, falling a long way short of, say, Release 13c4. That update was shipped on CD to all customers. Free. No maintenance or subscription required.

Bricsys does much more significant and worthwhile mid-term updates than this, and doesn’t charge for them. Perpetual license owners, even those not on maintenance, get them for nothing. Along with the bug fixes. Which are properly documented.

Autodesk used to do all that too, but its customer service has since regressed to the point that the standards of the Release 13 days are something to yearn for. Long-term Autodesk customers will know just how damning that state of affairs is. Autodesk lags a long way behind not only the competition, but also its former self.

Autodesk CEO and all-rental architect Andrew Anagnost has asked Autodesk customers to give him a year to prove that his business model will provide them with better value. It’s not clear when that year was supposed to start, but the all-subscription start date of 1 August 2016 seems reasonable. However you reckon it, a big slab of that year is gone and there’s very little to show for it.

Time to get your finger out, Andrew.

What’s changed at blog nauseam and why

Last week, blog nauseam died. This post explains the background to that. You’re probably not that interested, so feel free to skip to the dot points that list the changes that have resulted.

The problem was a faulty WordPress installation was using excessive resources. This caused severe performance issues and resulted in the server software stepping in to throttle the site to prevent more widespread problems. The trigger for the WordPress fault has not been determined and may never be. This is somewhat akin to an old AutoCAD drawing suddenly going bad for unknown reasons. The problem may date back years but only recently became critical.

In discussions with my completely blameless web host, Saratoga Hosting, we determined the best course of action was to create a new, clean WordPress site and transfer over as much as possible from the mortally wounded old installation. This is similar to copying and pasting or inserting valid entities from a bad drawing to a clean one, and this is what we did.

I say ‘we’ because Dave from the most excellent Saratoga did a huge amount of work for me to ensure things went as smoothly as possible and with the best result. This is not the first time I have received quite outstanding above-and-beyond customer service from Saratoga in return for the few measly bucks a month I pay for hosting. Thank you, Dave!

Doing things this way provided opportunities for several improvements to both blog nauseam and its parent site, cadnauseam.com. These include:

  • Improving performance. A clean install that’s not generating many errors per second will load much faster than one that isn’t, just like a small clean program like BricsCAD will perform much better than an old bloated mess like AutoCAD that’s attempting to do hundreds of things a second even when sitting there doing nothing.
  • Upgrading site security. In addition to various unseen improvements including upgraded protection against hackers and better backups, the site now uses https SSL security, which is the way things are going to have to be in coming years. You may have noticed that the URL now starts with https:// and displays a little closed padlock, indicating this is a secure site.
  • Integrating cad nauseam with blog nauseam. My old cad nauseam site was a bunch of hand-coded HTML pages that were real cool in the 90s but which have been neglected for years. It’s now part of the same WordPress installation as the blog, which avoids duplication of various things and is much easier to maintain. It also makes sense for me from a business point of view to have my business site more closely associated with a successful blog.
  • Modern full-screen interface. The integration of cad nauseam and blog nauseam didn’t work well with the old Tempera site template, so I took the opportunity to switch to a cleaner, more modern looking template, Fluida. In addition to being very configurable, this template does all sorts of fancy hover-over stuff that some of you will undoubtedly hate, but in my tests it performed well and didn’t get in my way. The best thing about it is that it’s now full-width: Tempera was not. Some of you won’t like that change either, but I always dislike using a web site that confines itself to a narrow stripe in the middle of a high resolution CAD screen. Now I don’t have to dislike my own site.
  • I’ve redesigned the favicon to reflect the dual cad nauseam / blog nauseam nature of the site.

I have now restored the polls and image galleries. The automated redirection of old URLs to the new location should now be working. The downloads page is still a work in progress and will remain hidden for a while, but that’s mostly of historical interest anyway.

Again, my apologies for the breakdown and the inconvenience of change, but I’m glad that there have been quite a few positives arising from a bad situation.

If there are things about the site you don’t like now, feel free to let me know.