Author Archives: Steve Johnson

About Steve Johnson

Steve is the owner of cad nauseam, has been a CAD specialist since 1985. His roles have included CAD management, development, consulting and technical writing. Steve has also been a contributing editor for Cadalyst magazine, President of the Western Australian AutoCAD User Group, and a Vice President of CADLock, Inc. He is also an international veteran fencing champion.

AutoCAD 2019 rollout disaster

If you’re an AutoCAD user, you may have been intrigued by the news about the new way Autodesk is bundling up AutoCAD 2019 with various verticals (perpetual license owners need not apply). This is Autodesk’s latest attempt to promote its subscription model and raise prices again. 7% this time, but much more to come. But never mind that, the main point is that you’re getting a whole lot of stuff, and who could say that’s not a good thing?

So it’s most unfortunate for Autodesk that the AutoCAD 2019 rollout has been an unmitigated disaster.

My own experiences in trying to download the product were sub-optimal, but I later learned that I was one of the lucky ones. Subscription users not only had problems with AutoCAD 2019, they found their AutoCAD 2018s were broken too, victims of an Autodesk licensing system meltdown. That’s right, the AutoCAD 2019 launch acted as a remote kill-switch for people’s production software.

Perpetual license users were fine, of course. Only subscription customers suffered. There’s a lesson there that should not go unnoticed.

Back to my own experiences, to begin with I couldn’t download AutoCAD 2019 anywhere, despite it being having been announced everywhere some hours earlier. Autodesk Account wasn’t showing 2019, but it was showing this:

The usual workaround method of downloading the free trial wasn’t any better; that was still on 2018. I even tried installing the execrable Autodesk desktop app (temporarily!), but there was no sign of AutoCAD 2019 there either.

I’ve never had any success using Autodesk’s AVA bot for any real questions, but there was a time when it served as a gateway to Akamai-free downloads, so I tried that. Unfortunately, AVA has been “improved” and that once-excellent feature is gone. I did try asking AVA for the download link to AutoCAD 2019, but that didn’t go well.

First attempt:

Second attempt:

I mentioned my difficulties on Twitter and a few hours later the long-suffering but always-professional @AutodeskHelp people offered this:

Despite appearances, this actually turned out to be helpful because by then the product trial download had been fixed and was offering 2019 rather than 2018. I still didn’t see a direct link and against my better judgement tolerated a very temporary installation of Autodesk’s nasty Akamai download manager. About 5 minutes into the download it said it was going to take about 9 hours so I went away and left it. I returned within the hour to find it was finished, so I have no idea how long it actually took. After immediately uninstalling all traces of Akamai and Autodesk desktop app, I was able to start my evaluation.

So how’s the product? Pretty much the same as 2018, except with a better drawing compare tool. Oh, and the icons are better. The first command I ran in the new release reminded me that some things never change. The ancient rectangular pickbox bug popped in to see me, just like an old friend.

I’ve been warmed by the familiar, comforting experience of this and various other early 90s-era bugs and limitations, where the easiest workaround is to use a competitor’s product to do those bits. More on that in a future post.

An hour or so into using the product saw it crash and burn for the first time:

Don’t take my word for it, though; here are some comments from various users, CAD Managers and long-term Autodesk fans, most of whom had a worse time of it than I did. It’s not just AutoCAD; LT and Navisworks are definitely affected and there may be others. Comments here have been reproduced from various sources under fair use; names have been removed to protect the innocent.

I think it is safe to say that Autodesk are having a very bad day. Account and activation issues, subscription access issues, forum login issues, kudos and comments blocked to some users…

I installed the brand new @Navisworks Manage 2019 last night, and this morning I get the “Your trial has expired” !!!

I can safely say that ‘unimpressed’ is my status right now with the licencing idiocy going on. Not only can I not get the 2019 version, but my 2018 version has stopped working too.

Looks like all subscription (not maintenance or legacy) software is affected this way: logging in and out as well as workarounds posted are not working. Now this is a good reason to abandon Autodesk subscription model.

Good news: Autodesk began rollout of 2019 licenses! Bad news: It might break your 2018 licenses.

Hard to imagine this rollout going any worse.
[Autodesk]”Hold my beer….”

2.5 days without AutoCAD available. I just wish Autodesk would have told us so I could have gone on vacation. Instead, I will have to work thru the weekend to make up lost time.

I love Autodesk and their software, but they have just ditched an entire generation of Autodesk ‘rockstars’ and their subscription portal isn’t working. It really doesn’t look good, does it?

my 2018 is hosed on 3 devices

Unfortunately the situation has lasted for nearly 24 hours and no work done. Can we send the bill to Autodesk?

so I thought I’d try and activate LT
LOL

Although some parts of this are supposedly fixed, it’s not over yet. As I type this, people are still reporting problems and Autodesk is still offering apologies:

Even now, AVA is still completely in the dark about the current release of Autodesk’s traditional flagship product.

It’s great to see users helping each other, though. You may find this Autodesk Forum post by Travis Nave useful as an interim workaround. Also, in a marvellous continuation of McNeel’s free service to the AutoCAD (and BricsCAD) LISP community, DOSLib has been made available for AutoCAD 2019 even before many people were even able to get hold of the software it runs on. That’s what I call service!

All in all, this has not the best start to AutoCAD’s brave new world of oneness. How did it go for you?

How to get your Wacom Graphire 4 tablet working in Windows 10

I’ve been setting up a new PC at home and one of the things I struggled with was getting my Wacom Graphire 4 tablet working. This isn’t a CAD tablet (remember those?); instead, I use its pressure-sensitive stylus for image creation and editing. Press harder and you get more ink. Turn the pen over and you automatically erase instead of drawing. Press the eraser harder and you get more erasing.

I use PaintShop Pro for my image work, by the way, not Photoshop. You can still buy and optionally upgrade PaintShop Pro perpetual licenses, which is how it should be. You’re probably aware that I don’t rent stuff unless there’s no realistic alternative.

According to theĀ Wacom FAQ, I was severely out of luck.

What is the latest driver for the Graphire 3 & 4 (CTE) tablets?
The Graphire 3 & 4 CTE tablets made from 2003-2007 are no longer supported by Wacom and will not work with a current tablet driver. Below are links to the latest drivers available for these tablets.

Windows 8, Windows 7, Vista & XP Download Here
Mac 10.8, 10.7 & 10.6 Download Here

Not one to give up so easily, I tried a variety of drivers for my tablet (model CTE-440). They were either blocked from installation by Windows 10×64, or in the best case scenario failed to provide any functionality other than acting as a basic mouse. The tablet failed to appear as a WinTab device, so I couldn’t configure PaintShop Pro to use its pressure-sensitivity, defeating the object of having the thing in the first place.

So I did what I thought was best and put the tablet out on the verge with the other junk awaiting council collection and investigated a replacement. Not from Wacom, obviously! I don’t want to reward a company for abandoning its products. I was checking out Huion tablets, which are so much cheaper than Wacom’s that it’s probably worth taking a punt and buying one anyway.

But then the stubborn streak in me (have you noticed?) kicked back in and I had one last go. A bit more in-depth Googling led me to this page. This is an old, non-maintained, leftover page from Wacom Europe. Let’s hope it stays there. On that page I found the driver I needed: DRIVER 5.30-3 RC FOR WINDOWS 8, WINDOWS 7, VISTA, AND XP. The direct link to the driver installation executable (cons530-3_int.exe) is:

http://downloadeu.wacom.com/pub/WINDOWS/cons530-3_int.exe

I retrieved my tablet from the junk pile, installed that driver, cleaned off my tablet while my system rebooted, plugged it in and away I went! In PaintShop Pro 2018, the setting is found at File > Preferences > General Program Preferences in the Miscellaneous section.

Wacom’s FAQ gave me a bum steer. Yes, the driver I used isn’t supported in Windows 10 and it isn’t current, but I don’t care. It works just fine and means my perfectly good as-new tablet isn’t landfill. Wacom needs to do better both in terms of supporting its hardware with current drivers and providing more useful information to its customers.

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.

Rock on, Robert Green!

I’d like to offer my congratulations to Robert Green on his landmark of 400 issues of the CAD Manager’s Newsletter. There’s a interview with Robert here.

As a fellow CAD Manager and Cadalyst contributor, I’ve admired Robert’s work for many years. I finally got to meet Robert last year at the Bricsys Conference 2017 in Paris, and it was a pleasure.

Some of you will already be aware that Robert is a seriously good guitarist, and he did not disappoint at the after-conference party. I look forward to seeing Robert again, and to reading many more of his insightful articles.

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!

Autodesk contemplates Bentley-style licensing

Some of you may have received an invitation from Autodesk to provide survey feedback. This hints at a possible move towards time based licensing (e.g. hourly), and asks what kind of tools you will need to handle that. Sometimes these questions lead to nothing, other times they are a precursor to inevitable change (desirable or not). If it’s the latter, I can only surmise that Autodesk is concerned that its customers haven’t been thoroughly peed off by anything new in a while and is investigating novel and interesting ways to annoy them.

Ask a Bentley customer what annoys them most about dealing with the company and odds are you’ll be told that it’s the time-based licensing system introduced to SELECT customers a few years ago. Tales abound of rip-off calculations, huge unexpected end-of-period bills, companies being billed for impossible numbers of hours, and so on. Some customers even went as far as calling the system a scam or a fraud.

Some of the worst excesses of SELECT are apparently now fixed, but this system is still unpopular with many customers. So I guess it’s only natural for Autodesk to examine moving in that direction.

Discarded Autodesk employees – how old were you when you were let go?

Some things have been mentioned to me privately that have made me curious. Curiosity is like an itch for me, I just have to scratch it. So here goes.

If you have been let go, fired, made redundant, discarded, dumped, sacked, had your office closed, encouraged to take a termination offer, sidelined into an untenable position, failed to have your contract renewed or otherwise ceased your employment at Autodesk in a not-entirely-voluntary manner in the last ten years, I’d like to know how old you were at the time. There’s a poll in this post and in the left sidebar.

Discarded Autodesk employees - how old were you when you were let go?

View Results

Loading ... Loading ...

The overall results will be public, but the individual responses will of course remain private. Feel free to add your observations in the comments, with or without your real name.

CAD Nostalgia Video

For the first video in the new cad nauseam YouTube channel, I’ve had a bit of fun. I unearthed a bunch of my old stuff to show you. Does any of this take you back? Enjoy!

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.

The day my dog went viral

I’ve been on Twitter for nine years and currently have 903 followers. Sometimes a post strikes a particular chord and it might get a handful of likes. One post, however, has received 1424 likes so far. It’s this one:

When I posted that photo, I was expecting maybe a handful of likes. Then my phone started going mad with notifications. What happened was that the popular Twitter account WeRateDogs (@dog_rates, which I had tagged) noticed my post and liked it. That was all it took.

100 likes, 200 likes, as more people liked it, it appeared on more people’s feeds and more people liked it. The expansion was viral, albeit in a small way. The count went up and up for over a day and only started to tail off when it got up over 1200. Over 140,000 impressions (views, basically). I’m sure this happens all the time to any posts that @dog_rates likes, and things that @dog_rates actually posts go much bigger still, but it was a new experience for me.

There’s no moral to this story, except perhaps that social media is a funny thing. Oh, and my dog is cute.

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:

That awkward moment when I just failed to create BIM

I recently updated my resume, and I thought it might be relevant to include an episode from my early career. This post is an expansion on what I had to say about that episode.

I was managing a tiny CAD training and development company, Educad. Much of my time there was spent developing software called NIDIS (originally called NEEDS), a project that was started in 1987 or 1988 with Nixdorf Computer as the client. It was intended to take over the market among first the home building companies of Western Australia, then Australia, then the World!

What’s special about NIDIS is that it was a precursor to BIM. Using a 3D-adapted version of the 2D Educad architectural software within AutoCAD, designs of domestic homes could be efficiently created and infused with a degree of intelligence. This was then linked to the Nixdorf minicomputer-based software that contained pricing and other information about the various building components. This combined system enabled accurate quantity take-offs to be performed.

This was supposed to be a short project, but due to a massive amount of “scope creep” it took two years. I was really pushing the limits of what AutoCAD could be persuaded to do at that time and had to break new ground in several areas. Some of it was a kludge, but I made it work. Finally, the software was essentially completed, with a custom tablet menu (remember those?), full documentation and everything. Nixdorf CAD-spec PCs with big screens, tablets, AutoCAD and NIDIS were installed in the drawing office. It was successfully tested in Beta. The take-offs were very accurate. Everything looked good to go.

Then, two weeks before it was due to go into production, this project died. The building company that was sponsoring it, Mansard Homes, went into liquidation as it struggled unsuccessfully with the combined effects of very high interest rates and bad publicity about poor building quality and cost overruns. Nixdorf dropped the whole project like a hot potato and the product was never sold. I didn’t have any rights to the software and couldn’t do anything with it.

But it was software that was based around a 3D model of a building that contained some intelligent information, albeit extremely crude by today’s standards. I wrote, quite literally, Building Information Modeling software. It was completed in 1989, before the name BIM had even been used. The idea had existed since the mid 70s, but I didn’t know that at the time so I made it up as I went along.

I didn’t actually invent BIM, but I made something that resembled BIM that actually worked. And then it didn’t.

This is easily the most spectacular failure of my career. Still, I’m kind of proud of it.

Edit: for historical context, this video shows an unrelated system that was developed at about the same time as NIDIS.

Are your drawings SHOUTING?

This post was inspired by a question raised by Jamie Myers in the CAD Managers Unite! Facebook group.

Long ago, before CAD was in common use, I was taught technical drawing at school. One of the things I was taught was to follow drafting standards, BS308 at the time. Later, I was expected to follow AS1100. One of the things I was taught was to always use capital letters in text on drawings, using the approved ISO font. Without a machine, without a template. This stuck to me to such an extent that even today I use all caps when handwriting notes. Note to wife? Caps. Shopping list? Caps. I can’t help it, it’s hardwired.

Let’s do that paragraph again, this time using the case as it would be seen on most drawings in my experience, and as I would automatically tend to enter it on a drawing:

LONG AGO, BEFORE CAD WAS IN COMMON USE, I WAS TAUGHT TECHNICAL DRAWING AT SCHOOL. ONE OF THE THINGS I WAS TAUGHT WAS TO FOLLOW DRAFTING STANDARDS – BS308 AT THE TIME. LATER, I WAS EXPECTED TO FOLLOW AS1100. ONE OF THE THINGS I WAS TAUGHT WAS TO ALWAYS USE CAPITAL LETTERS IN TEXT ON DRAWINGS, USING THE APPROVED ISO FONT. WITHOUT A MACHINE, WITHOUT A TEMPLATE. THIS STUCK TO ME TO SUCH AN EXTENT THAT EVEN TODAY I USE ALL CAPS WHEN HANDWRITING NOTES. NOTE TO WIFE? CAPS. SHOPPING LIST? CAPS. I CAN’T HELP IT, IT’S HARDWIRED.

Show those paragraphs to 100 people in the street and ask them which is the most legible, and I’m pretty sure the mixed-case one will be chosen by the vast majority. It also uses up less space, which can be an issue on a crowded drawing.

You wouldn’t use all caps on the Internet unless you were SHOUTING because otherwise you would be mistaken for one of those unhinged conspiracy theorists. Just as I’m hardwired to write in upper case, I’m also hardwired to skip blocks of upper case text on the Internet (e.g. Terms of Use) without even attempting to read it.

Why, then, do so many of us still use ALL CAPS in drawings? Inertia? Standards?

There are some legitimate arguments that can be made to support the continued use of upper case on drawings. I was taught that capitals were used to ensure that when a drawing was reproduced, taken out on site and subjected to folds, dirty fingers and oil stains, the chances of something being rendered illegible was smaller in the case of a capital letter. It has been pointed out that ‘up’ and ‘dn’ are identical when inverted. Quick, is ‘l’ an upper case I or a lower case L?

I understand all caps usage varies substantially from country to country and the language used will also make a difference.

Let’s have your viewpoint on this subject. Please comment and/or pick a poll option. It’s a deliberately binary poll so you can’t fudge and have to pick one, and it’s about which one you think is better (most suited for purpose), not which one you use.

What case convention is better in drawings?

View Results

Loading ... Loading ...

This and usually a few other polls live at the top of the left sidebar (on a PC browser). Here is the polls archive.

How to sign your LISP files

This post follows on from Why digitally sign your LISP files? and How to obtain a digital signature to sign your LISP files.

In the first post, I explained why you might want to digitally sign your LISP files. In the second, I explained how to obtain and install a digital signature. This third and final post in the series assumes you have done all that and now want to sign your files. There are two methods available to you, using a dialog box or command-line interface.

Signing LISP using the AcSignApply.exe dialog box

Autodesk has provided a utility called Attach Digital Signatures for years. This was provided to sign drawings, zip files, etc., but the ability to sign LISP files was added in AutoCAD 2016. Don’t go using the 2015 version or you’ll have a very frustrating time! You can invoke this utility using the Windows Start Menu:

You can also make your own desktop shortcut if you like. The executable is stored at (XXXX is your AutoCAD release number):

C:\Program Files\Autodesk\AutoCAD XXXX\AcSignApply.exe

AutoCAD doesn’t need to be running when you start the application. Here’s the interface:

Half way down, there is a list of code signing certificates that you can use. You should see the one you obtained and installed earlier in this list. If you don’t see it listed it may not have been installed correctly. It’s possible to install a public key version of a certificate and see it listed in the Windows Certificate Manager, but that won’t help you sign code. You need to install the private key version in order to be able to sign things. If you do the wrong kind of export from your browser, or if you use the wrong browser to obtain and export the certificate, you may have installed the public key version. In such a case, you will need to contact the certificate provider for help. I have found that the online chat help provided by Comodo is excellent in such cases. Yes, I know this because I got it wrong the first time!

Assuming your certificate is visible, click on that line to select it. You can add files to the pane at the top left using the buttons on the right side or by simply dragging and dropping files onto the pane from Explorer. But wait! Before you do that, make sure you have a safe unsigned copy of all your files. Applying the signatures is a modification process; you are left with only the signed version of the files.

LISP files with the LSP, MNL, FAS, or VLX file extensions can be selected and dragged into the pane. As mentioned in the first post, thereā€™s a bug in the original iterations of AutoCAD 2016 and AutoCAD 2018 that prevents signed VLX files from working, so I would advise against creating them. If you need to distribute signed DCL-based code and don’t want the LISP source visible, you will need to provide a signed FAS instead, along with a DCL file that’s either provided alongside the FAS or created on the fly by your code. Yes, this is a pain.

Note that at the time of writing, you can’t sign CUI, CUIx, DVB, JS, PGP and SCR files.

Once you have selected the certificate to use and the files to sign, select a source for the time stamp and enter a description in the Comment box (optional). Pick the Sign Files button and you’re done.

Signing LISP using the AcSignTool.exe command-line utility

This utility isn’t provided with AutoCAD, but you can download it here. It doesn’t require AutoCAD, which means you can sign LISP files even if you don’t have a copy of AutoCAD 2016 or later.

Once you have downloaded and unzipped the file, place the files somewhere handy. If you make a shortcut to cmd.exe that starts in that location, you can run this command to see all the options:

acsigntool.exe /?

Usage is usually as follows:

AcSignTool -sign /file:[inputfile] /cert:[certificate] /time:[timestamp] /comment:[description]

Here’s an example:

AcSignTool -sign /file:"X:\ToSign\MyCode.lsp" /cert:abcdef1234567890 /time:1 /comment:Hello

The resultant file should be the same as with the dialog box interface. If it’s a raw LISP file, a large comment like this will be placed at the bottom of the file:

;;;-----BEGIN-SIGNATURE-----
;;; /gcAADCCB/oGCSqGSIb3DQEHAqCCB+swggfnAgEBMQ8wDQYJKoZIhvcNAQELBQAw
;;; IE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBD
;;; CwYJKoZIhvcNAQcBoIIFQzCCBT8wggQnoAMCAQICEQCyNMZT2aa05avqeC3j+F3p
;;; YQBuAGQAYQByAGQAcwAgAGEAbgBkACAAVABlAGMAaABuAG8AbABvAGcAeQAgACgA
;;; MA0GCSqGSIb3DQEBCwUAMH0xCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVy
;;; QSBMaW1pdGVkMSMwIQYDVQQDExpDT01PRE8gUlNBIENvZGUgU2lnbmluZyBDQTAe
;;; bnB31gkc9o/M8YjPdGVjQG0VS96RVf/WtkmGugV2n1Fv4wWXBLA7n410yglqSZh9
;;; NOK2Ya1KFx4trccIHV1oAFN+BCKzSf6J/HdVkmCcy4TEPcrxSzZsi//slm2o9EHl
;;; mwdm6Quhw1wMT8+iRmJNO4ofwuKfBwyE28ZIK4q+zorJPNwiK2o43CmNJViU5SQD
;;; M9ImVtHTTtdAR1Iln+wEtg/4xgwj5KWuxoUJ22OJ/K0A8IcnxqGBujCBtwYDVR0O
;;; Fw0xNzEwMDQwMDAwMDBaFw0yMTEwMDQyMzU5NTlaMIGAMQswCQYDVQQGEwJBVTEN
;;; MAsGA1UEEQwENjE1NTELMAkGA1UECAwCV0ExEjAQBgNVBAcMCVdpbGxldHRvbjEV
;;; A1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL0NPTU9ET1JT
;;; QUNvZGVTaWduaW5nQ0EuY3JsMHQGCCsGAQUFBwEBBGgwZjA+BggrBgEFBQcwAoYy
;;; aHR0cDovL2NydC5jb21vZG9jYS5jb20vQ09NT0RPUlNBQ29kZVNpZ25pbmdDQS5j
;;; MYGvBIGsOAAyADsAMgAvADEAMAAvADIAMAAxADgALwA4AC8AMgA2AC8AMQA3AC8A
;;; TgBhAHQAaQBvAG4AYQBsACAASQBuAHMAdABpAHQAdQB0AGUAIABvAGYAIABTAHQA
;;; dABpAG0AZQAtAGEALgBuAGkAcwB0AC4AZwBvAHYAKQAAAA==
;;; -----END-SIGNATURE-----

Because it’s a comment, it will be ignored by AutoCAD releases prior to 2016, and by other AutoLISP-compatible CAD applications such as BricsCAD and ZWCAD.

References:
Signing your application modules for AutoCAD 2016 ā€“ Part 1 – Kean Walmsley
Signing your application modules for AutoCAD 2016 ā€“ Part 2 – including various other references
To Digitally Sign an AutoLISP File – Autodesk Knowledgebase article

Gallery – Gent visit 2017 – Sights

Here are some pictures of some sights I saw in Gent (Ghent) and Brussels during my visit attending the Bricsys Insights press event in April 2017. I published some of these photos at the time but had to remove the post due to technical difficulties I was having with WordPress galleries.

I agree with Serge Jonnaert in Why every Architect should Visit Gent, except I wouldn’t limit it to architects. It’s a very lovely place, well worth a visit by anyone.

How to obtain a digital signature to sign your LISP files

In an earlier post, I explained why you might want to digitally sign your LISP files. If you decide to go ahead with that, then this post explains how you can obtain and install the digital signature you will need to sign your files. This is the most difficult part of the process and it involves spending money.

Getting a digital signature

Although you can make your own digital signature (there’s an Autodesk Knowledgebase article describing the process), there’s little point in doing this. You can sign your files, sure, but that signature won’t be seen as trusted by software that checks for it. Anybody can create a signature like that, including one that impersonates you, and it doesn’t prove anything. The only purpose for such a home-made signature would be to test the methods you’ll be using to apply a proper trusted signature later.

Edit: if you do want to make your own signature, BlackBox informs me that the MakeCert tool in the Windows SDK mentioned in the Knowledgebase article is deprecated. He suggests using this PowerShell Cmdlet instead.

You’re going to need a signature that is trusted. That means you’re going to have to pay somebody trustworthy to trust you. There are a set of certifying authorities, trusted by Microsoft, Autodesk, etc. who can issue code signing certificates to companies and people. You need to prove who you are to one of those authorities and pay them to certify that you are who you say you are. So before you start, make sure you or your business are visible in terms of directory listings, publicly visible phone numbers, etc. If you are representing a company asking for a certificate, you can expect to be asked to produce evidence that you really represent that company. You can expect to confirm that your email and phone number are really under your control.

You only need to do this once a year, or even once every several years if you pay in advance. You might find that the evidence you need to provide changes at renewal time; for example a Yellow Pages listing that was OK in 2015 was no longer accepted when I renewed in 2017, so I had to register my business with another listing.

In my search for a certifying authority, I found that K Software, a reseller for Comodo, was the cheapest source for a code signing certificate, see here. An OV certificate will be fine for signing LISP.

K Software takes your money (USD $67 to $84 a year depending on the length of time you need), gets Comodo to provide the certificate, and provides a handy tool (KSign) that allows you to simply apply the certificate to various files without some of the messing about that’s otherwise required. It’s not useful for LISP files, though. Comodo also provides the support, and I’m happy to report that in my experience their customer service is excellent.

Note: it’s important that you pay close attention to the instructions when applying for your certificate. For example, the browser you use to apply for the certificate is vital. Choose one that’s suggested (e.g. Firefox) and which you expect to use later to obtain the certificate.

Installing a digital signature

Once your evidence is accepted and your payment has gone through, you will be sent an email with a special code, allowing you to obtain the certificate. It’s important that you’re using the same browser on the same computer that you used when applying for the certificate.

Once you click the link and obtain the certificate, you’ll want to export it. In Firefox 58.0, use Options > Privacy & Security and scroll to the bottom to see View Certificates. Select the certificate and pick Export. This will create a .P12 file that you can back up and install on this or another computer. To install the certificate, double-click the .P12 file and follow the prompts to assign it to the current user in the default location (Personal).

That’s it. You should now have a certificate installed that you will be able to use to sign LISP and other files. To check this, start the Windows Certificate Manager (C:\Windows\System32\certmgr.msc). Have a look in Current User > Personal > Certificates and you should find your newly installed certificate.

The next post in this series will explain how to apply this digital signature to your LISP files. That’s the easy bit.