Category Archives: BricsCAD V17

Tip – making your 3D controller work sensibly in BricsCAD

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

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

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

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

Method 1

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

  • L: BricsCAD Default Menu
  • R: Fit

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


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

Method 2

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

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

Method 3

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

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

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

BricsCAD documentation – a tale of three systems – part 3

In this third post in what was supposed to be a two-part series, I have more to say about the BricsCAD documentation system. See here for part 1 and here for part 2.

Developer Help – Addendum

In this comment from Bricsys API person Torsten Moses, he informed me about the availability of the Lisp Developer Support Package (LDSP) in the Bricsys Application Catalog. As always, when presented with new evidence I am prepared to re-examine my position on anything. Therefore, I will now further discuss the BricsCAD developer documentation.

The first thing to mention is that the existence of the LDSP package is not obvious. To somebody who uses BricsCAD as-provided and as goes burrowing down through the Help system looking for information, that system is still broken. The documentation as presented to the user remains sub-standard, exactly as described in part 2.

Assuming you know of the existence of LDSP, how do you go about using it? Here are the steps:

  • Go to the Bricsys Application Catalog site, click in the search field and start typing LDSP (you don’t need to hit Enter).
  • The link to the Lisp Developer Support Package (LDSP) will appear: click that.
  • Enter your email address, accept the privacy agreement and pick Download. (Note in passing that this is actually published by Torsten’s own company, not Bricsys).

  • If you’re already a registered Bricsys user (you will be if you’re evaluating it), the download will start. If not, you’ll be expected to register (free):

  • Once you’re registered, the download results in a 12 MB file called Lisp Developer Support Package.rar (RAR is a ZIP-like format).

Any recent commercial ZIP utility (e.g. WinZip) will open RAR files and there are a variety of freeware/adware/shareware utilities available to do likewise. For example, RAR Opener in the Windows Store will present itself as the first option in Windows 10. But it goes without saying that going off in a hunt for utilities wouldn’t be on anyone’s expected to-do list when just looking for product help. A bunch of people would give up here, if not earlier.

I went through with installing RAR Opener, but when I attempted to open the LDSP file I saw this:

Oh, and a handful of empty folders were produced. Is there an email waiting for me at work with the password (my Bricsys registration email is at work but I’m at home)? Am I really supposed to have a password to open this RAR? If so, why wasn’t I prompted for one? RAR Opener doesn’t present me with that option anywhere I can see. Is the download corrupt? Does it refuse to work on a Sunday? I have no idea.

At this stage, many more would give up. How many prospective customers would be filtered out by this experience? There’s no way of knowing. However, I’m made of sterner stuff and persevered with downloading and installing another app from the Windows Store. 9 zip did the job and uncompressed the file, no password required.

Yes, the RAR Opener problem I had above isn’t a Bricsys problem directly. But it is indirectly, because the file I was given to deal with won’t open by default in Windows, where the vast majority of BricsCAD users will be working. It’s a level of obfuscation that you can get away with when dealing with cellar-dwelling geeks handling obscure pieces of open source software. It’s not appropriate for customer-facing documentation in a mainstream CAD application. Yes, even developer documentation, because with CAD applications like AutoCAD and BricsCAD, most of the developers are customers/users/managers, not people trying to sell utilities.

Once you manage to get the file uncompressed (it becomes 41 MB), there are three help systems provided in there (CHM, PDF, HTML). That’s excellent, and conforms nicely with the Bricsys philosophy of providing customers with choice. I was unable to find any broken links. However, even in the LDSP, standard AutoLISP functions are undocumented. So I still couldn’t find the (entget) help I was looking for in part 2:

According to Torsten:

…the standard AutoLISP functions like (entget) are not documented, as there are plenty docs on the web for this; but we document any extension beyond AutoLISP standard, even for the standard functions.

Sorry, but while “we don’t have that information but you can Google it” might have been an acceptable answer for a cheap AutoCAD clone’s API documentation ten years ago, that’s not where BricsCAD is today and most definitely where Bricsys wants it to be in future. Just two days ago, Bricsys CEO Erik De Keyser sat across a table from me and told me that BricsCAD isn’t intended as merely an AutoCAD alternative, but must go well beyond that in order to prosper. He’s right. The BricsCAD developer documentation today is not compatible with that vision. I know it’s that way for historical reasons, but we’re now at a different point in the historical timeline.

Conclusion – Addendum

My conclusion from Part 2 remains valid, despite the existence of LDSP. Both Autodesk and Bricsys have work to do. Downloading LDSP will help with some of the BricsCAD developer documentation failings but leaves plenty behind. It also provides its own set of unfortunate challenges.

This isn’t just a technical and ease-of-use failing, it’s a marketing one. That’s because it acts as a stumbling block to conversion of AutoCAD sites to BricsCAD. Disaffected AutoCAD power users in small sites and CAD Managers from large sites are right now taking tentative steps to evaluate the suitability of BricsCAD to replace AutoCAD in their complex LISP-heavy custom environments. They’ll want to know what’s the same and what’s different so they can estimate the effort and cost involved in the transition before getting in too deep. I know this, because I’ve done it myself. The first thing they will come across in their search is disjointed, very inconvenient and incomplete. It presents a less-than-professional image.

Some potential customers, like me, will persevere and discover that the quality of the developer tools implementation far exceeds the expectation generated by the documentation. Others will give up well before they reach that stage, and that’s a shame.

BricsCAD documentation – a tale of three systems – part 2

In this pair of posts, I describe the BricsCAD documentation system. Click here for part 1, where I describe the general Help system and the descriptions in the Settings command.

In this part, I discuss developer documentation and draw my conclusions.

Developer Help

If we count the Settings descriptions as a system, there’s a third documentation system for BricsCAD. The Developer Reference isn’t offline and included in an install like the main Help. Instead, it’s online, just like Autodesk’s default. Unlike Autodesk’s system, it works pretty well.

Being online means the performance suffers, of course, but it’s generally not too bad. It appears quicker than Autodesk’s. A link within the main Help system takes you to the Bricsys Developer Reference which is just accessed using your default browser. Of course, that means your mouse buttons work correctly and you have all other the advantages of whatever functionality is built into your browser.

Hot tip: you can get to a real browser from within the AutoCAD pseudo-browser thing too, by right-clicking on a link and picking Open in Browser. The URL takes a while to mangle and unmangle itself before you get to read any content, but you get there in the end.

Unlike the general Help, the BricsCAD developer Help system isn’t so obviously superior to its AutoCAD equivalent. This is largely thanks to the outstanding efforts of Autodesk’s Lee Ambrosius who has managed to take Autodesk’s pig’s ear of a system and produce perhaps not a silk purse but at least a decent-quality cloth bag. It can’t have been easy.

Like the main Help, the BricsCAD online developer reference has a Contents mode with structure:

There’s an Index:

And there’s Search:

As the last image shows, the system contains not only missing information (where’s the (entget) description?) but also broken links; this wasn’t the only 404 I came across. That’s a bit embarrassing, Bricsys. There’s a lot of work to be done yet to bring this up to scratch.

There’s no Favorites section, but of course that’s built into your browser so it would be pointless reproducing that.

Of course, you can’t get context-sensitive help on functions within your LISP code from VLIDE, because BricsCAD has no VLIDE.

Conclusion

The BricsCAD documentation system is notably better than the AutoCAD one in many ways. However, it’s a long way short of perfect. Many aspects need attention, and there are multiple holes to be filled. Sometimes I find myself forced to use AutoCAD’s general documentation system to find out something about a system variable that’s common to both systems. That shouldn’t be necessary.

I’ve hardly mentioned the content of the respective documentation systems, but I must say Autodesk’s content is often superior (thanks, Dieter). But there are exceptions; the BricsCAD descriptions and pictures of various commands and options are better in some cases. For example, try to find out what the various options of the PEdit command do in both systems. With BricsCAD, it’s all laid out on one page and nicely linked.

The AutoCAD command documentation has been pared down too much in places to make each page shorter and simpler, hiding the content beneath sometimes obscure links. It’s possible to find out what the Pedit options do in AutoCAD, but it’s certainly not BricsCAD-easy and I initially gave up after chasing my tail for a while. I went back and found it later, but it took a lucky guess. Giving up after looking through a circular set of links is a common experience with AutoCAD’s Help. There’s a programming concept called mutual recursion, but I don’t want to experience it during a vain search in a Help system, thanks. A visible, navigable structure would help eliminate that issue, but there isn’t one. There needs to be one. Did I mention that already?

With system variables, BricsCAD’s Help is consistently and clearly inferior to AutoCAD’s. The AutoCAD content also tends to be better worded, with the BricsCAD wording being occasionally slightly awkward in a non-native-English-speaking manner. There are also some formatting issues with wide gaps left where the system attempts to expand command descriptions to the right margin and does a poor job of it.

As with AutoCAD, there are many video tutorials available for BricsCAD. I have not considered these in my evaluation but the few I had a look at were pretty good.

Who wins? Nobody. It’s a draw. Both companies need to step up. Autodesk mainly with its awful structure-free system, Bricsys mainly with its incomplete content, particularly for developers. But both companies have work to do in all areas.

BricsCAD documentation – a tale of three systems – part 1

Because of the great similarity between BricsCAD and AutoCAD in terms of commands, variables and most aspects of usage, you would expect the BricsCAD documentation to be about the same too. But it isn’t. Much of the content covers the same areas and due to BricsCAD’s command-line compatibility, there must be a lot in common. But the Help system is very different from Autodesk’s. How so?

In this pair of posts, I describe the BricsCAD documentation system. I assume you’re familiar with the AutoCAD one. In this first part, I describe the general Help system and the descriptions in the Settings command. In part 2, I will discuss developer documentation and draw my conclusions.

General Help

The general Help system in BricsCAD looks a lot like the excellent CHM-based system that AutoCAD had in 2010 and earlier (thanks, Dieter). BricsCAD’s Help is offline by default, included with the standard download and installation, and very fast. Those are great things to have, and AutoCAD lacks them all. But the great thing about the BricsCAD Help system is that it supports different usage patterns, rather than Autodesk’s search-or-nothing method. Rather than telling users that they are expected to use Help in one specific way, Bricsys accommodates their disparate wishes. As usual, the customer-friendly way is the winner.

The BriscCAD system looks a lot more old-fashioned than the AutoCAD one. I don’t care about that. I do care about space-efficiency though, and BricsCAD is the winner there. You can of course resize the dialog and the size of the left pane.

There’s a Contents tab which allows you to navigate the hierarchical structure in which the information is arranged. That’s useful not only when looking for something in particular, but also when using the system as a self-teaching mechanism by working through an area and related topics. AutoCAD completely lacks such a structure.

There’s an Index tab that lists the indexed items in alphabetical order. You can start typing and the indexed items instantly change to reflect what you’ve typed, which is much more efficient than Autodesk’s system. AutoCAD 2018 Help does include an alphabetical list of commands and system variables in both online and offline versions, but it doesn’t give access to all of the topics.

There’s a Search tab that allows you to enter a search term and have several suggestions thrown up. Unlike Autodesk’s system, the suggestions are displayed in a space-efficient manner. Unfortunately, like Autodesk’s search, the suggestions displayed often differ from what you’re after. Even hitting F1 within a command doesn’t take you straight to the page for that command. In PEdit, the F1 visible suggestions don’t include the PEdit command page! It’s there, but needs a scroll down. That really needs work.

There’s also a Favorites tab where you can save and restore any pages you want to go back to.

But that hierarchical structure is the big winner. Destroying that structure in the AutoCAD 2011 pseudo-browser Help debacle and leaving it broken for seven further releases has to rank among the silliest self-destructive acts Autodesk has ever performed on AutoCAD. Because Bricsys never made that mistake, its general Help system is superior to AutoCAD’s. Until Autodesk throws away its flat-structure mindset and starts again, it has no hope of catching up to the BricsCAD system.

Oh, and your mouse’s forward and back buttons work in the BricsCAD system. How long have we been nagging Autodesk about that? Seriously, how hard could that be?

It’s not all good, though. As mentioned at the top, the AutoCAD content is generally superior. There are also quite a few holes. Enter a system variable at the command line and hit F1. You would expect to get context-sensitive information about that system variable. You don’t. You’re just taken rather uselessly to the “Welcome to BricsCAD” page. This needs attention to ensure context-sensitive help is available for all commands and system variables.

Fire up Help, pick the Index tab and start typing in a system variable name. In most cases, you’ll find it’s not in the list (e.g. FILEDIA). In cases where a system variable name does appear in the list (e.g. FILLMODE), double-clicking on it doesn’t take you to a description of the system variable. Instead, you will be presented with multiple topics and it’s often not clear which is the system variable description.

Settings Descriptions

For system variables and most other settings, you’re better off avoiding the main Help system altogether. Instead, use the Settings command. This is like Options in AutoCAD but superior, because it’s all there and arranged much more logically. You can navigate a hierarchical structure to find the setting you want, but you can also type part of the setting name or a related word into the search box at the top of the dialog. If that doesn’t take you immediately to the setting you’re after, you can use the up and down arrows to go to the next match. It’s all very quick and efficient.

Unlike AutoCAD’s Options, you don’t need to go hunting from tab to tab, visually scanning the dialog for the setting you want, which might be hidden under a button or not there at all. Also far superior to AutoCAD, the descriptions don’t hover over the dialog, obscuring what you’re looking at. Dieter has been hacking the AutoCAD dialog hover-tips down in size for years, but they still annoy the heck out of me until I turn them off.

When you find the setting you’re after, a brief description is displayed at the bottom of the dialog. In most cases, this has just the right amount of information you need without having to read through a whole page. If it doesn’t, in some cases it will tell you the setting name. However, this is missing in many cases.

This is a “could do better” area for Bricsys. Somebody needs to go through these descriptions, fill the holes (not a small job) and make them all consistent. While they are at it, get them to tie up all of the missing context-sensitive loose ends in the main system. Better still, provide a button or other method within Settings to take the user to the appropriate Help page. Currently, pressing F1 within the Settings command will give you useful but generic information about using the dialog. Unfortunately, it will not give you information about the setting you want to check or change. That needs to happen.

Click here for Part 2.