Category Archives: BricsCAD

Undo, U, Redo, Erase, Oops differences explained

It’s been a while since I posted any beginners’ tips, so here goes.

There are several commands in AutoCAD to do with reversing things you’ve done. They are in some cases subtly different and this can confuse newcomers. Here’s what they do:

  • U – reverses the last command you used.
  • Redo – reverses the last U or Undo operation you performed, if that’s the last thing you did.
  • Undo – displays a set of command options that allow greater control over undoing things. (This is rarely used directly by a user, and is more of a programmer’s tool, so I won’t be going into any detail).
  • Erase – removes from the drawing an object or set of objects as selected by the user.
  • Oops – reverses the last Erase command, even if you have done other things in the meantime. (It also reverses erasures performed by the Wblock command, but such reversal is rarely needed these days).

Note that many commands also have an Undo subcommand  which is different again from all of the above. For example, start the Line command, pick a few points, then enter Undo while still in the command. Just the last segment will be removed, and you can carry on picking more points. Most subcommands can be abbreviated, and this is true of the Undo subcommand within the Line command. While still in the Line command, enter U and this will have the same effect as entering Undo in full (or the other possible abbreviations Un and Und).

This is not the case when entering full command names; entering U and Undo at the command prompt will do different things, although command line auto-complete can confuse matters further depending on your settings. I’ll ignore that for the sake of brevity.

Let’s go through a command sequence that uses all of these things.

  • Enter the Line command (type LINE and hit [Enter]). Pick 6 points to create 5 lines but don’t hit [Enter] yet. While still in the Line command, enter Undo (UNDO [Enter]). This will use the Undo subcommand of Line to undo the last drawn line segment, leaving 4 lines. Pick another 2 points, leaving a total of 6 lines. While still in the Line command, enter U. This will undo the last drawn line segment, leaving 5 lines. Hit [Enter] to finish the Line command.
  • Enter the Line command, pick 4 points to draw 3 lines and hit Enter to finish the command.
  • Enter the U command. The effects of the last command (Line) will be undone, removing all 3 of the lines created by it.
  • Enter the Redo command. The U command is reversed, restoring the 3 lines.
  • Enter the Undo command. This will give you a few options, but the default is the number of steps to undo. Type 2 [Enter] and the last 2 commands will be undone (ignoring the U/Redo), removing the set of 3 lines and the set of 5 lines.
  • Enter the Redo command. The Undo command is reversed, restoring both the 5 lines and the 3 lines.*
  • Enter the Erase command. Select one line from the first group and two from the second, then hit [Enter] to finish the command and those 3 lines go away.
  • Enter the Move command. Select the remaining 2 lines from the first group, hit [Enter] to finish the selection process and pick two points slightly apart to move the lines a short distance.
  • Enter the Oops command. The 3 lines removed by the Erase command are restored, but note that the effects of the Move command are unaffected. If you had used the U command twice to restore the erased lines, the Move command would also have been reversed.

Clear as mud? There are other possible complications depending on various settings, and there are various user interface options for invoking the commands that I haven’t discussed, but this will do to explain the basics.

* The information in this post applies to any AutoCAD from the last 30 years, but as the command set in BricsCAD is almost identical, it can be used for BricsCAD too. Mostly. There is one exception; if you use Undo to perform several undo steps at once, then follow that with a Redo, only one undo step at a time will be reversed. If you want to redo everything, you will need to hold your finger on the Enter key to repeat the Redo command until it runs out of things to redo. Depending on what you want to do, this can either be very handy or rather inconvenient.

BricsCAD startup LISP bug fixed

In my previous post I have a real problem with BricsCAD, I related my then-latest interaction with the Bricsys support system:

Steve Johnson
05-12-2016 05:30 UTC

I don’t know if this is a BricsCAD problem or a DOSLib one, so I am reporting it to both Bricsys and Dale at McNeel. I’m also not sure if this was happening in earlier versions.

If I load DOSLib during an S::STARTUP call and then use the (dos_msgbox) function later in that call, this fails the first time round because BricsCAD things the function is not defined. Opening a second drawing results in the call working as expected. I’ve chopped down our startup routine so you have an example.

; error : no function definition ; expected FUNCTION at [eval]

Awesome Bricsys Person
05-12-2016 12:32 UTC

Hi Steve,

There was a regression introduced in V17.1.10 that caused startup code to execute too early under certain conditions, before the lisp engine document context was properly initialized. This has been fixed now for the next update.

Steve Johnson
06-12-2016 02:43 UTC

I must say, the responses I’ve been getting to my support requests have been absolutely bloody brilliant. Cheers!

Let’s just finish the sequence, shall we?

Second Excellent Bricsys Person
13-12-2016 19:18 UTC

Hi Steve,

I have very good news. The fix is included in BricsCAD V17.1.11, available for download.
Thank you for your help.

Following a fast and straightforward download and install, I can confirm that the bug is fixed. The elapsed time from my bug report to the fix being publicly available and me being informed personally of the fact was 8.5 days. Note that this isn’t a workaround, patch or service pack, it’s a permanent fix that is now automatically in place for everybody who downloads the software.

Edit: the new version was actually released at 4 PM on 9 December, so it was less than 4.5 days from report to fix. Outstanding!

I should mention that I also received a prompt and relevant response from Dale at McNeel, despite the fact that the problem was nothing to do with him!

For somebody used to dealing with Autodesk, this is a breath of fresh air. Bricsys team, take a bow!

I have a real problem with BricsCAD

To be precise, I have a real problem with writing  about BricsCAD. I’ve written some pretty complimentary things about BricsCAD lately. In the interests of balance, I’ve been intending to write about some of the issues people can expect to deal with when moving from AutoCAD to BricsCAD. Such issues certainly exist. The problem I have with that is that the issues keep going away!

Here’s how it usually goes. I find a problem in BricsCAD. I submit a support request. Within hours, I get a meaningful response from a person who understands the issue. Within days, I’m informed it’s been fixed internally and the fix will be in the next update. Within a week or two, that update is released. I download and install the updated version. It’s basically a full reinstall, but all settings are seamlessly retained and it’s faster and less painful than an AutoCAD Service Pack installation. The whole thing from start of download to completion typically takes 5 or 6 minutes. The problem is gone, and I have nothing to write about!

Here’s the latest interaction. This is typical, and has been repeated many times:

Steve Johnson
05-12-2016 05:30 UTC

I don’t know if this is a BricsCAD problem or a DOSLib one, so I am reporting it to both Bricsys and Dale at McNeel. I’m also not sure if this was happening in earlier versions.

If I load DOSLib during an S::STARTUP call and then use the (dos_msgbox) function later in that call, this fails the first time round because BricsCAD things the function is not defined. Opening a second drawing results in the call working as expected. I’ve chopped down our startup routine so you have an example.

; error : no function definition ; expected FUNCTION at [eval]

Awesome Bricsys Person
05-12-2016 12:32 UTC

Hi Steve,

There was a regression introduced in V17.1.10 that caused startup code to execute too early under certain conditions, before the lisp engine document context was properly initialized. This has been fixed now for the next update.

Steve Johnson
06-12-2016 02:43 UTC

I must say, the responses I’ve been getting to my support requests have been absolutely bloody brilliant. Cheers!

 
Now, can you imagine the same scenario with Autodesk? I’m sure many of you have lived through it. First thing would be an automated response. A day or two later would be a confused support person coming up with totally unrelated links to Knowledgebase articles. A series of increasingly frustrating back-and-forth emails might go on for days or weeks until the Autodesk person finally plays their trump card, blaming the third-party routine (incorrectly) and/or stating that they don’t support users’ customization.

Such a problem would stay in AutoCAD indefinitely. Repeated reports, year after year, using subscription support and the forums and formal reporting mechanism in the Autodesk Beta program, would make no difference. Eventually I would give up and the problem would never get fixed. Again, this is typical, and has been repeated many times. This applies to bugs, incompatibilities, feature design, performance issues, user interface difficulties, documentation system idiocy, you name it. It’s massively frustrating and I know many very smart people who have given up even trying. The only exception is documentation content; that gets fixed as soon as possible, within the limitations imposed by Autodesk’s arcane systems.

The difference in attitude between Autodesk and Bricsys is glaring, stark, obvious. Autodesk pays lip service to providing customer service and software quality. Bricsys just gets on and does it.

So what’s actually new in BricsCAD V17?

A big problem I have in communicating the improvements to BricsCAD in V17 is that there are such a huge number of them. This isn’t an AutoCAD 201x-style touch-up masquerading as serious progress, this is a real  upgrade. You know, an AutoCAD V12-style upgrade that veteran AutoCAD users will remember from the good old days before Autodesk got bored and distracted. Dozens upon dozens of new features, improvements to existing features, performance improvements and bug fixes. Lots of stuff that’s genuinely useful.

I could write three posts a week on the changes and not be finished by this time next year. So I’m going to be lazy. I’ll pick out a few features for future posts but for the big picture I’ll point you to the official list. This isn’t a marketing document, it’s a technical list of terse descriptions of changes (to the Windows version only – remember BricsCAD supports Mac and Linux too), and it’s large. To give you some idea of the scale of changes, there are 3,200 words describing new V17 features, for example:

DMDISTANCE3D Specific measuring modes for cylinders, circles, and spheres have been introduced. Distance can be specified between boundaries (nearest points), central points or axes of the corresponding geometries.

 
There are 1,600 words describing improvements, such as:

IMAGEATTACH Multiple selection of images from a single folder is supported now so multiple images can be attached in one go. This is especially useful for images with geo-information attached.

 
There are 1,450 words describing fixes, like:

MATCHPROP When the source entity was non-annotative and the target annotative, the target undesiredly remained annotative.

 
There are 1,100 words describing API changes and fixes, e.g.:

BRX/LISP/SDS wcmatch() now supports the (undocumented) space character as a pattern key to match any contiguous sequence of whitespace characters (space, tab)

 
That last one is a fix for a bug that I reported in V16. Within ten days of submitting my report, I was informed directly by the developer that the fix had been done and would be available in V17. Here’s another one of mine:

BRX/LISP Improved sds_getFiled() / (getfiled) behavior during a Save operation when default filename argument is empty.

 
Elapsed time between my report and acknowledgement by the developer that a fix would be forthcoming? Just under 12 hours. Less than 3.5 hours after that, I was informed that the fix had been implemented. Hands up all those people who have had similar experiences with Autodesk?

BricsCAD V17 – the best AutoCAD upgrade in years?

I’ve been evaluating BricsCAD for a few years now, and have been looking at it pretty seriously as a DWG-based LISP-compatible AutoCAD alternative for a year or so. A couple of weeks ago, I flew to Munich for the Bricsys International Conference (at Bricsys’ expense – see the Legal page for disclosure) where I learned quite a few things I had failed to notice during my own evaluation of V17. As you may have noticed, I can be pretty hard-bitten and cynical about what CAD companies have to say about their products, but I came back impressed.

The conference and the product itself are not free of flaws, but I have to say the progress Bricsys has shown in developing the BricsCAD product is really quite astonishing. The rate at which serious, worthwhile-to-customers improvements have been made to BricsCAD over the last few releases is huge. Some of it’s just catching up with existing AutoCAD features, but most of it is going beyond what Autodesk has done. Overall, Bricsys lately has outstripped Autodesk’s efforts in improving its DWG-based flagship CAD product to such a degree that it’s frankly embarrassing for the much larger corporation.

I grabbed Bricsys CEO Erik De Keyser for a brief chat at the end of the conference. I told him that while there were still important areas that need addressing, nevertheless if Autodesk had shipped a new release with a quarter of the improvements that Bricsys managed with V17, it would still have been the best AutoCAD upgrade in fifteen years. Yes, the gap in progress from Autodesk to Bricsys really is that big.

The difference appears to be one of attitude. The Bricsys development team (many were there in Munich to speak to) is focused, motivated and enabled. For Bricsys, BricsCAD really is the flagship product. That’s where all the effort goes; everything goes into the DWG-based product. High-performance 2D drafting, user interface innovation, parametric 3D models, IFC-certified BIM, sheet metal, everything. You would think this would lead to massive bloat, but somehow it doesn’t; the product remains small and fast.

For Autodesk, the emphasis has been elsewhere for some years now. The rate per release of worthwhile AutoCAD improvements, never stellar since the 12-month release cycle was adopted, has been trending downwards since AutoCAD 2010 and has slowed to a trickle. Autodesk is happy to accept the income from AutoCAD customers and use it to develop a hundred trendier products, neglecting the foundation on which the company was built. That’s relying on inertia, and there’s a big question mark over how sustainable that is.

Here’s a 5-minute YouTube marketing video outlining some of the changes. If you have a bit longer, here’s a 37-minute YouTube video of the new features from head of development Hans de Backer. The presentation lacks sparkle (no insult to Hans, but he’s no Lynn Allen) but the substance is there. Note that Hans was demonstrating live to the full conference using a pre-release product, including opening a huge drawing, which surely deserves marks for bravery! As a bonus, you can just about see Owen Wengerd and myself in the bottom left corner.

I’ll be going into more detail on BricsCAD V17 pros and cons later (yes, there are cons), but for now here’s the press release and here’s where you can download the product for evaluation. It’s a straightforward download of a 234 MB MSI file and the install takes just over a minute. That in itself is a breath of fresh air for people who are used to hanging around, waiting for AutoCAD downloads and installs to finish.

Congratulations to Ed Martin, who won the selfie contest with this entry:

1. This is Don Strimbu – a tricky angle on the picture, but his smile gives it away
2. He’s famous for the drawing of a nozzle – a fire hose nozzle to be precise – that he drew in 1984
3. Don used block scaling to simulate a 3D effect on the text, knurling, and fins
4. Autodesk used the drawing in its promotional material starting with an ad in the September 1984 issue of Scientific American
5. Don is now promoting products from Bricsys, notably their BricsCAD product
6. Wow, I really don’t know how long it took him, and it would be cheating to ask him … so I’ll guess. 18 hours?

Some clarifications:

1. Indeed it is Don. It was a privilege to meet him at the recent Bricsys International Conference in Munich, among other notables.

2. Correct, NOZZLE.DWG (we were all upper case 8.3 filenames at the time) which is quite possibly the most famous AutoCAD drawing of all time. It was the first complicated drawing ever done with AutoCAD, and was done in 1983 (not 1984), according to John Walker. See The Autodesk File for more information.

nozzle

3. Yes, it was block scaling. In addition to the 3D effect, the thing Don came up with that amazed John Walker was using negative scale factors to achieve the equivalent of the MIRROR command. That command didn’t exist at the time, along with object snap and a bunch of other things it would be difficult to imagine life without these days.

4. Yes, it was also on Autodesk’s Task Force Tips’ letterhead for a while…

5. Yes, Don and former Autodesk Senior Vice President Dr. Malcolm Davies (also at Munich) are important figures at Techevate, enthusiastic promoters of BricsCAD in the USA.

6. 18 hours is a bit off. How about 400 40?

I remember using NOZZLE.DWG as a benchmark for comparing AutoCAD hardware back in the 80s. Open the drawing, enter REGEN and see how long it takes to get a command prompt back again. As every single zoom or pan required a regeneration back then, regen time was very important. I remember an HP Vectra taking 17 seconds and an NEC APC III taking 19. An IBM PC without math co-processor took much longer; 2 minutes 39 rings a bell, but I’m not certain. These days, it’s so fast it’s hardly measurable.

Anyway, I look forward to seeing what Ed has to say in this blog’s first ever guest posting. Could be anything!

Any BricsCAD users out there? v.2016

Back in 2010 I asked the question Any BricsCAD users out there? and there were a few of you who had tried to replace AutoCAD with BricsCAD. Most who responded had made the change successfully, others not so much.

Six years on, the situation is different. The fact that you can’t buy a permanent AutoCAD license any more has prompted some Autodesk customers to look more seriously at alternative vendors who do provide that option. Bricsys is one of those vendors, and their DWG-based AutoCAD alternative BricsCAD has improved way more rapidly than AutoCAD over the same time period. No, that isn’t a guess, I’ve been keeping an active eye on things. BricsCAD today is by no means perfect, but it’s impressive in many ways. LISP compatibility and performance are excellent, for example. BricsCAD v16 superior to the also imperfect AutoCAD 2017 in several areas, despite the total cost of ownership being significantly lower.

Here’s the question I asked back then:

I would be very interested to hear from any of you who have adopted BricsCAD (either partially or fully replacing AutoCAD or AutoCAD LT in your organisation), or at least seriously investigated using the product.
 
Why did you investigate changing over? How far have you gone? What are your experiences? What are the pros and cons? How is performance? Reliability? Bugs? Ease of use? Familiarity? Support and other aspects of customer service? Total cost of ownership? Are you experiencing interoperability problems when exchanging drawings with Autodesk software users? How did you go with incorporating in-house customisation and third party tools?

How would you answer that question today? Would you be interested in me providing more posts about BriscCAD, such as practical experiences with attempting a transition from AutoCAD?