Category Archives: DCL

Mac users rejoice – at long last, a LISP IDE comes to OS X

CAD’s best LISP development environment has come to the best “AutoCAD for Mac”. It should come as no surprise to anyone that this has occurred without Autodesk’s involvement.

What’s happened?

With the release of BricsCAD (Mac) V18.2 (currently V18.2.23-1 to be precise), BLADE (BricsCAD’s much-superior equivalent to VLIDE) has been added to BricsCAD

See here for the release notes and here to download. Make sure you select the Mac version:

Significance

This is pretty significant for anybody serious about using DWG-based CAD on the Mac. AutoCAD without LISP is hardly worthy of the name, which is why I’ve never been keen on AutoCAD LT from the moment LISP was yanked out of it just before release in the early 90s. There has never been an integrated development environment for AutoCAD for Mac (either in the first iteration in the 1990s or the second attempt in the 2010s) and I think I can safely predict that there’s never going to be one. I expect AutoCAD for Mac’s LISP to remain forever in 1990 mode.

Compatibility

One problem a small number of users may face when developing for Mac with BLADE is that of downward compatibility. In case you’re wondering, BricsCAD (Mac) to AutoCAD for Mac is very much a downward direction, particularly in the area of LISP. The LISP in AutoCAD for Mac is famously half-baked with large portions of functionality missing, including no ability to control dialog boxes. BricsCAD (Mac)’s LISP is very much more capable, so while compatibility between AutoCAD for Windows and BricsCAD (Mac) is strong, you can’t say the same for LISP compatibility between AutoCAD for Windows and AutoCAD for Mac.

Half of the stuff you write for AutoCAD in Windows is just going to fail when you try to run it in AutoCAD for Mac. Much more of it is going to work in BricsCAD (Mac). While you can now write, debug and run your LISP code efficiently in BricsCAD (Mac) and it’s practically guaranteed to run just fine in AutoCAD and BricsCAD for Windows, it will be very easy to write stuff in BricsCAD (Mac) that doesn’t work in AutoCAD for Mac. Of course, the same downward compatibility problem applies to writing stuff in AutoCAD for Windows using VLIDE.

If you’ve moved on completely from AutoCAD for Mac to BricsCAD (Mac), that’s not going to be a problem. Bircsys building a notably better product that’s significantly more compatible with the main game is not something anybody could reasonably condemn. However, but it’s something to bear in mind if you are hoping to write code that runs on both AutoCAD and BricsCAD for Mac.

Summary

That caveat aside, it’s all good news for Mac CAD users. You already had a product available that would run a much higher percentage of the huge library of LISP out there than AutoCAD for Mac would. For the first time in history, you now also have access to a professional LISP development tool. Lucky for you, it’s the best such tool on the market.

Why every AutoCAD CAD Manager should have a copy of BricsCAD – part 6, future proofing

This is the sixth and final post in this series where I explain why this statement holds true:

As a CAD Manager looking after AutoCAD users, or a power user looking after yourself, it’s worth your while to have a copy of BricsCAD handy.

This post explains why adding a copy of BricsCAD to your stable of AutoCAD licenses is a good thing for your future and that of your company.

A CAD Management thing I did a few years ago was to examine the options for replacing AutoCAD and other Autodesk products. I was an AutoCAD loyalist (albeit a somewhat critical one) with over a quarter of a century invested in it. I was looking after the deeply entrenched and very heavily customised CAD environment of a major public utility company that had been using AutoCAD as its primary CAD system since the late 1980s. Hundreds of custom commands were in place and providing priceless productivity benefits. Hundreds of thousands of DWG files were on file, with thousands more coming through every month. The inertia behind AutoCAD was very, very strong. Looking outside the cage was a pretty radical step to take. What led me to that point?

  • Autodesk business policy. Autodesk has become increasingly anti-customer over the years in ways that will be familiar to all readers of this blog. I won’t rehash them here. This leads to…
  • Increasing costs. Autodesk software is expensive and getting more so. Autodesk has made no secret of its intention to move to an all-subscription (rental) model. This is an attempt to treble the ongoing income Autodesk receives, in return for doing as little as possible. Which leads to…
  • Lack of progress. It had become clear that the days of AutoCAD seriously improving from release to release were over, never to return. This isn’t because there is no room for improvement, it’s because Autodesk doesn’t want to improve AutoCAD. AutoCAD won’t be permitted to become too capable because that would just eat into sales of Autodesk’s other products. You’re not going to see 3D parametrics or sheet metal capabilities in AutoCAD: buy Inventor instead. You’re not going to see BIM capability: buy Revit. Beyond the internal competition issue, some years ago, Autodesk leadership lost interest in what it perceived to be an old-fashioned dead-end product. The income from AutoCAD customers is being diverted to fund purchase and/or development of more fashionable and interesting products.
  • Frustration with Autodesk’s Beta program. The goings-on within the Autodesk Beta program must remain private, so what I can say here is limited. I can say that I spent many years contributing large numbers of hours to that program in order to attempt to improve the product. As time went on, the positive results that emerged from that effort decreased; that much is no secret because it is apparent in the product. I felt I was fighting against Autodesk to try to improve the product, and losing. There were a few final incidents that persuaded me to stop bashing my head against that particular wall. I wasn’t the only one. I stuck it out for years longer than many very valuable people who had already given up before me.
  • Proxy server issues. Over the years, Autodesk’s habit of attempting to do sneaky things to access the Internet had caused a variety of problems in a secure proxy server environment. This caused several things not to work, and harmed performance severely in some places. As Autodesk’s developers turned over, things that worked in one release would not work in the next. Attempts to get this addressed as a support issue would result in the environment being blamed. These problems increased over the years as Autodesk threw in more and more connectivity-requiring features. There was a non-zero and ever-increasing possibility that one day, Autodesk would screw things up altogether and leave us with non-functioning software. That has already happened for some people, and although the stoppage has generally been temporary, it is important to have redundancy.
  • Poor performance. AutoCAD has been getting bigger and slower. Downloads are huge and Autodesk does its best to make them as difficult as possible. Installations take an age, as do uninstallations. Startup times are terrible and getting worse. My users were complaining – a lot – and there wasn’t much I could do about it.

That’s what moved me to take a very, very serious look at alternatives. Your motives may differ. Just the desire to have a Plan B in case of disaster might be enough.

If you don’t feel moved to investigate, you may eventually be faced with no option. Sooner or later, the person who holds the purse strings at your company may point to this year’s much bigger Autodesk invoice and ask, “What are we getting for this? How can we reduce our costs?” When that happens, you don’t want to be scrabbling round for answers before that invoice needs to be paid. Look into the options in advance. Are you really wedded to AutoCAD or are you actually tied to DWG?

Days of Future Past

Here’s my suggestion. Examine the available alternatives to AutoCAD and the other Autodesk products you use. Do it sooner rather than later so you get the chance to determine the answers to non-trivial questions like these:

  • Capability. Does the alternative product do everything that AutoCAD does, that your users need it to do? Does it do other stuff that AutoCAD doesn’t that you might find useful? What’s the performance like? How does it work on the hardware you have? Does it have user interface elements that don’t just look good but work productively in practice?
  • Compatibility. You will almost certainly demand extremely good DWG compatibility, but this question goes well beyond that. Will your LISP work? How about DCL? ActiveX support? DOSLib? Other programming languages? Can you carry over your customisation files? Can you make the interface look the same? If you have custom toolbars, or ribbon, or even image menus, do they carry across? Can your users carry across their skills without downtime, extensive training and a productivity hit? Can AutoCAD and the potential replacement coexist without issues? Can you use a common set of custom support files pointed at by both products? Will it work well on your hardware?
  • Add-ons. If you’re using third party products on top of AutoCAD, or if you’re using an AutoCAD-based vertical, is that product or an equivalent available? Does it work well? What do the objects they create look like in plain AutoCAD? Can you round-trip through AutoCAD and back and retain your intelligence? You’re probably going to have to test this with evaluation software and your own data.
  • Licensing options. Is perpetual licensing available? Can you stick on a release for a few years and still purchase upgrades later? Has the company committed to providing you with licensing options or has it made noises about going all-rental? Is network licensing available? Does it coexist problem-free with Autodesk’s network licensing software?
  • Costs. Compare the likely costs for all your options over several years. You’re going to have to make some assumptions. It can be difficult to work out what they should be.
  • Track record. Has the company been around for a while? What reputation does it have? Does it treat its customers with respect? How good is the support?
  • Future prospects. Is the company likely to be around long-term? Is it actively developing the product you’re interested in? Is it innovating? Is it merely following AutoCAD at a distance or charging ahead? Is the product going to be limited by Autodesk-like internal competition?

I went through all of these questions and settled on BricsCAD as the best option in my company’s case. In fact, several aspects made it really the only viable option. The product impressed me with high performance, capabilities well beyond AutoCAD in several important areas, a very high degree of compatibility (particularly LISP but also other customisation files), the availability of perpetual licensing and much lower ongoing costs. The company impressed me with its honesty and attitude toward customers.

Most of all, I was won over because I could see that the product had a future. Subsequent improvements have only strengthened that view.

Obviously, you need to make your own judgement based on your own circumstances. I would suggest looking at all the options, including sticking with AutoCAD permanently, with or without subscription or maintenance. Maybe you can use my investigations as a starting point, but I encourage you to start investigating now rather than when you’re under time pressure and don’t have time to do a thorough job.

It will cost you a few minutes to download and install of an evaluation BricsCAD and start preparing for the possibility of a different future. Maybe it won’t turn out to be part of your company’s future, but it could still be part of your future.

Options are good. Learning is good. Best case scenario, your knowledge is going to save your company money and improve its productivity, and you will end up smelling of roses. Worst case scenario, you’re going to spend some very justifiable time doing something new, different and interesting. I recommend it.

Other posts in the Why every AutoCAD CAD Manager should have a copy of BricsCAD series:

Part 1, fixing drawings
Part 2, 3D operations
Part 3, parts on demand
Part 4, efficiency
Part 5, LISP

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.

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.

AutoCAD 2018 for Mac – welcome to twenty years ago

In the past, I’ve described how AutoCAD for Mac was released half-baked (as I predicted) and has remained half-baked ever since.

But wait! Autodesk has proudly announced AutoCAD 2018 for Mac. Skimming through that blog post, I must admit my jaw dropped when I saw some of the new features. This one, for example:

This “new feature” was first provided to AutoCAD users in the 20th century. It was an Express Tool in AutoCAD 2000 (released 1999) and was absorbed into mainstream AutoCAD a few years later. The alias editor goes back even further, to the Release 14 Bonus Tools (1997). That one was absorbed into AutoCAD in 1999. Some of the other new features are also old. Migrating your settings was new back in the century that started without powered flight. Now, not so much.

These features are new to AutoCAD for Mac, of course, and that’s kind of the point. Autodesk is advertising, as new, features that were born before some of the adults who are now using their products.

There are other very important features (e.g. DCL support, essential for LISP compatibility) that date back even longer (Release 12, 1992) and which are still missing from AutoCAD for Mac. That’s right, in some areas AutoCAD for Mac is a quarter of a century behind. And counting.

On the bright side, you do now get access to the pointlessly-changed 2018 DWG format. A couple of features are reasonably new additions, but they represent a small subset of the small number of minor improvements in AutoCAD 2017 and 2018 for Windows. If anything, the rate of improvement of AutoCAD for Mac is lagging behind even the glacial progress of AutoCAD for Windows, despite starting from a much lower base point.

I note with interest that Autodesk’s comparison page is now hiding the detail of the differences between the full product and AutoCAD for Mac. I guess if you have two identically-priced products and one’s missing a bunch of stuff, you might be tempted to hide the fact from your potential customers. This post of mine from last year will give you some idea of what Autodesk’s not telling you about what’s missing from AutoCAD for Mac. Clue: it’s a lot.

Mac users pay full price for their product and deserve much better than this. If you want information on a full-featured “AutoCAD for Mac”, don’t bother looking for it from Autodesk. Try Bricsys instead.

AutoCAD 2017 for Mac released, still half-baked

AutoCAD 2017 for Mac and AutoCAD LT 2017 for Mac have been released. Here’s a video highlighting exciting and innovative new features such as drawing and layout tabs. Despite such stellar advances, it’s safe to say that AutoCAD for Mac remains half-baked, even after all these years. Don’t say I didn’t warn you.

According to Autodesk, these are the features missing from AutoCAD 2017 for Mac:

LAYDEL, LAYMRG, LAYWALK and LAYVPI
Tool palettes
New layer notification
Navigation bar
ShowMotion
Ribbon*
DesignCenter**
Sheet Set Manager***
Steering wheel
Feature finder for help
Model documentation tools
Dynamic block lookup parameter creation/editing
Table style editing
Multiline style creation
Digitizer integration
Geographic location
Simplified, powerful rendering
Material creation, editing, and mapping
Advanced rendering settings
Camera creation
Point cloud
Walkthroughs, flybys, and animations
DWF underlays
DGN underlays
Hyperlinks
Data extraction
Markup set manager
dbConnect manager
WMF import and export
FBX import and export
Design feed
Import SketchUp files (SKP)
Design share
3D print studio
Reference Navisworks models
Right-click menus, keyboard shortcuts, and double-click customization
VisualLISP
.NET
VBA
DCL dialogs
Action recorder and action macros
Reference manager (stand-alone application)
Password-protected drawings
Digital signatures
Workspaces
User profiles
Autodesk desktop app
Migration tool enhancements
CAD standards tools
CUI import and export
BIM 360 add-in
Performance Reporting
Sysvar monitor

* To be fair, AutoCAD 2017 for Mac does have a Ribbonesque feature, albeit one that that looks more like the pre-2009 Dashboard than the Windows-style Ribbon.

** Autodesk claims Content Palette to be roughly equivalent to DesignCenter, but it claimed that (wrongly) about the awful and short-lived Content Explorer. It’s wrong here too; Content Palette on Mac has nowhere near the functionality of DesignCenter on Windows.

*** Autodesk claims AutoCAD for Mac’s Project Manager is functionally equivalent to the missing Sheet Set Manager.

Also, some PDF export features don’t work when plotting, only when using Publish.

No workspaces? No model documentation? No hyperlinks? No table style editing? Various kinds of reference files unsupported? No Visual LISP or DCL? Still? Come on Autodesk, you’re not even trying.

That’s before we get on to the lack of third party applications, vertical variants and object enablers. Is Autodesk expecting full price for this thing? Really?

It’s not all bad news, though. Not having Autodesk desktop app is no handicap at all. Also, according to Autodesk the following features are unique to AutoCAD for Mac:

Coverflow navigation
Multitouch gestures
External reference path mapping
OpenGL Core Profile support
OS notification for updates
Language switching in product

Well that’s all right, then.

AutoCAD 2013 for Mac – the holes live on

A couple of years ago, I reported on the missing features in AutoCAD 2011 for Mac. While some generous souls were prepared to accept something half-baked as a first attempt, even that excuse doesn’t wash when it comes to a third iteration. So how well is Autodesk doing at filling those holes? Decide for yourself. Here’s an updated list of missing features in AutoCAD 2013 for Mac:

  • Quick Properties Palette
  • Layer State Manager
  • New Layer Notification
  • Various layer commands including LAYCUR, LAYDEL, LAYMRG, LAYWALK, and LAYVPI
  • Autocomplete doesn’t work entirely properly, including offering commands that don’t exist
  • Filter
  • Quick Select
  • DesignCenter
  • Tool Palettes
  • Navigation Bar
  • ShowMotion
  • Sheet Set Manager (but there is Project Manager)
  • Model Documentation Tools (but at least now there are object enablers)
  • Geographic Location
  • Table Style Editing
  • Hatch Creation Preview
  • Multiline Style Creation
  • Digitizer Integration
  • Change Space
  • Express Tools
  • Material Creation, Editing, and Mapping
  • Advanced Rendering Settings
  • Camera Creation
  • Walkthroughs, Flybys, and Animations
  • Point Cloud Support
  • DWF Underlays
  • DGN Underlays
  • Autodesk 360 Connectivity
  • Data Links
  • Data Extraction
  • Hyperlinks
  • Markup Set Manager
  • dbConnect Manager
  • eTransmit
  • WMF Import and Export
  • FBX Import and Export
  • Additional Model Import
  • Ribbon Customization
  • Right-click Menus, Keyboard Shortcuts, and Double-Click Customization
  • VisualLISP
  • .NET
  • VBA
  • DCL Dialogs
  • Action Recorder and Action Macros
  • Reference Manager (Standalone Application)
  • Dynamic Block Authoring
  • Custom Dictionaries
  • Password-protected Drawings
  • Digital Signatures
  • Workspaces
  • User Profiles
  • Migration Tools
  • CAD Standards Tools
  • CUI Import and Export

Many of these are big-ticket, dealbreaking items. No DCL? Still? Seriously? To these we can add a whole application, Inventor Fusion, which comes as part of the AutoCAD 2013 for Windows install set. (Edit: Inventor Fusion for Mac is available to download as a Technology Preview application from Autodesk Labs and from the Apple App Store). I don’t expect many Mac users will be heartbroken about the lack of a permanent Ribbon (although there are Ribbon-like things that come and go), but as Autodesk reckons it’s responsible for a 44% productivity boost, maybe they should be. Oh, and it isn’t supported and doesn’t work properly on the current release of OS X.

To be fair, it’s not all one-way traffic. Here’s the list of features that appear only in AutoCAD for Mac:

  • Content Palette
  • Coverflow Navigation
  • Multi-touch Gestures
  • Project Manager (instead of Sheet Set Manager)

Well, that’s all right, then.

We’re used to Autodesk’s unfortunate mastery of the long-term half-baked feature, but carrying on with a whole product this unfinished for three releases is more than a little embarrassing. Charging the same amount for it as real AutoCAD adds insult to injury. While I’m sure there are dozens of Mac users happy to be using anything with the AutoCAD name on it on the platform of their choice, this is not a sustainable state of affairs.

Autodesk really needs to make up its mind about this product before embarking on more Mac misadventures such as porting Revit and other products. Autodesk needs to either take AutoCAD for Mac seriously and finish it off to an acceptable standard, or kill it off as a bad idea. As there’s no sign of the former happening and Autodesk history is replete with examples of the latter, I wouldn’t suggest anybody gets too attached to running AutoCAD natively on OS X.

Source: Autodesk knowledgebase article TS15833488.

Old news – shipping version of ClassicArray released

I have been somewhat neglectful of this blog lately, including a failure to mention that my ClassicArray™ plug-in for AutoCAD 2012 has been shipping since 1 May 2011. Thank you to those people from various places around the world who have been prepared to go to the effort of registering and paying for the product.

Here are some details of the product taken from the ClassicArray page:

ClassicArray is a simple-to use but powerful tool for creating arrays in AutoCAD.

  • Provides a dialog box interface to AutoCAD 2012’s Array command. The familiar interface method provides continuity with earlier releases.
  • Supports the creation of both associative and traditional non-associative arrays.
  • Provides an in-dialog preview panel to give you a quick idea of what your array will look like before any objects are created.
  • Allows creation of a preview array which can be accepted, rejected or modified before the desired array is finally chosen.
  • Base objects can be incorporated into the array or left intact as desired using a simple toggle.
  • Allows simple creation of 3D arrays.
  • Comprehensive Help is available from within the dialog box.
  • Provides Ribbon tabs and toolbars, separated into associative and non-associative sections.
  • Setup routines are provided that support either all users (requires admin rights) or the current user (no admin rights required). Uninstallation is via the standard Windows Control Panel methods (Uninstall a Program, Add/Remove Programs).
  • Uses AutoCAD 2012’s new Plug-in feature to provide application behavior consistent with other add-ins.
  • Acts as a workaround for various AutoCAD 2012 Array bugs and limitations.
  • Supports AutoCAD 2012 for Windows and vertical products derived from it. Sorry, due to Autodesk API restrictions ClassicArray can support neither AutoCAD LT nor AutoCAD for Mac.

See the ClassicArray Help page if you want to see a full description of the product, including screenshots.

One more thing I should mention is that if you have used one of the Beta versions of ClassicArray, please make sure you uninstall it and install the shipping version before registering the product.

Autodesk for Mac – the hole story

You may remember my pre-release speculation about what was likely to be missing from the Mac version of AutoCAD 2011. It turns out that my list was pretty accurate as far as it went, but very incomplete.

In a move that I can only applaud, Autodesk has now published its own list of missing Mac features. It includes this statement:

Although AutoCAD 2011 for Mac is based on AutoCAD 2011, it was written to be a native Mac application. As such, it is a new and separate product and not simply a port from the Windows version. In the first release of this new product, there are some features and functionality that exist in AutoCAD 2011 that are not yet available in AutoCAD 2011 for Mac, including (but not limited to):

This is followed by a list of over 80 holes in the product. Many of them are minor, but the number of absent but important features is quite an eye-opener. I really can’t imagine anyone who is used to the Windows-based product being content with AutoCAD for Mac 2011 if forced to switch by a Apple-centric boss. Hardware, great. OS, fine. App, not so much. I expect future releases will gradually fill many of those holes, but Autodesk isn’t promising that. For now, I can state that at least one of my dire predictions was spot-on. AutoCAD for Mac is indeed half-baked.

Autodesk has stated that the Mac version is the same price as the Windows version, despite being incomplete, because Mac users (particularly architects) won’t notice the missing stuff. That may be true (if somewhat insulting to architects and fanboys) or not, but it definitely doesn’t apply to the rest of us.

Existing AutoCAD users, have a look at the list. What in there would be a dealbreaker for you? From my own CAD manager point of view, I can see about a dozen killer omissions, with the API holes at the top of the pile. No DCL support, for example? Wow.

Autodesk University Session Voting

This year, the Autodesk University people are allowing you to vote on the various sessions (classes). Here’s the link:

AU 2008: Help Us Select the Sessions

If I can sort out a few practical details, I am hoping to attend this year as a speaker. I have submitted four session proposals. These are:

Customization and Programming

Be unfashionable in style with LISP and DCL – Introduction
Be unfashionable in style with LISP and DCL – Intermediate
Be unfashionable in style with LISP and DCL – Advanced

Business

How to make a great CAD blog for next to nothing

If you intend attending AU this year, I encourage you to vote for the sessions you would like to see presented.