Tag Archives: AutoCAD

Addendum – Why every AutoCAD CAD Manager should have a copy of BricsCAD – part 1, fixing drawings

This post is an addendum to a post from June, Why every AutoCAD CAD Manager should have a copy of BricsCAD – part 1, fixing drawings. This post provides new information about useful functionality added in V19 of BricsCAD that is useful for any CAD Manager or power user who ever has problem DWG files to deal with. Yes, even if your site is still purely AutoCAD-based.

In this post I’ll describe the (inspector) LISP function. This was added in the V18 cycle but was significantly enhanced in V19. It’s probably the most useful LISP function you’ve never heard of.

Although it’s LISP, that doesn’t mean you have to be a programmer to benefit from it. If you’re a non-programming CAD Manager or power user, you can use it to work out what’s going on within any DWG you’re having problems with. You can use it to discover information about objects in the drawing; not just conventional entities, but also blocks, tables, dictionaries and so on. It even works with custom data.

I gave a brief demonstration of (inspector) in the last BricsCAD Unplugged episode about BLADE. However, you don’t need to use BLADE; just enter (inspector) at the command prompt, select an object and you’ll be presented with a dialog like this:

These dialogs are modeless, and you can have as many displayed as you like; you’re not limited to one. This dialog displays the same data in three different ways. At the top, it’s shown in traditional LISP assoc form, and by playing with the Expand controls you can vary the way in which this is pretty-printed. The bottom left pane shows the data in DXF form, which is probably easiest to read if you’re a non-programmer. If you’re more of an ActiveX person or you prefer to see the properties described with words rather than numbers, you’ll prefer the display on the bottom right, which shows the COM properties for the object.

If you want to select another object to inspect without calling (inspector) again, just use the [ > > ] button.

The grayed-out lines indicate data that is considered read-only. It’s important to note that this doesn’t mean it’s impossible to change the data, merely that the ways in which that data can be changed within a program is restricted. Generally, it means you can’t change the ActiveX properties directly, but there are various other means that can be employed in many cases.

The lists are somewhat interactive; double-click on an entity name and you’ll be given another inspector window for that entity. You can burrow down through the drawing database in this way, looking for the source of your mystery DWG problem. If you’re using it while programming, you can use it to work out what set of circumstances is causing your code to trip up in certain drawings.

The (inspector) function has an optional argument, and what it will accept is very flexible. If you pass an entity name to it, you will get the data for that entity displayed. The same principle applies for various ActiveX objects: pass it a layer table object and the appropriate data will be displayed.

Direct access is provided to various useful things from within BLADE using the pull-down menu Lisp+DCL > Browse DWG Database:

If you pick Browse Text Styles, you’ll see something like this:

Double-click on one of the text style items in the left pane and you will get this:

As you can see, this is very handy for tracking down issues both while programming and when diagnosing DWG problems.

Finally, I should note that there is potential for the inspector to provide even more power in future. Bricsys LISP guru Torsten Moses is investigating the possibility of allowing the inspector to modify data, not just inspect it. There’s potential danger there, but if Torsten can make that work safely then that would be another invaluable tool for any DWG-based CAD Manager.

As I stated in my original post, it’s definitely worth a CAD Manager’s while to do the quick download and install of an evaluation BricsCAD. My experience in dealing with Bricsys is that requests for extensions for evaluation purposes are usually accepted, so you probably won’t have to give up your valuable tool as soon as your 30 days are up.

DOSLib goes open source

What’s DOSLib?

DOSLib is a free library of LISP functions that adds a lot of functionality to AutoLISP/Visual LISP/BricsCAD LISP. It makes a lot of programming tasks a lot easier, because instead of writing a bunch of code to do tricky stuff, you can just load the library and call a ready-made (dos_xxx) function. There are hundreds of functions that cover the following areas (taken from the McNeel Wiki):

  • Drives – Check for drives, change between drives, and check available disk space.
  • Paths – Manipulate path specifications.
  • Folders – Create, rename, remove, select, and change folders. Return special operating system folders.
  • Files – Copy, delete, move, rename, and select files; get directory listings, search and find multiple instances of files, and change file attributes.
  • Print – Get and set default printers, and spool print files.
  • Configuration – Manipulate Windows-style initialization (INI) files, and access the Windows Registry.
  • Processes – Run operating system commands or other programs.
  • Interface – Get strings, integers, reals, and lists from the user. Display Windows message boxes, progress meters, and splash screens.
  • Strings – Tokenize strings, extract characters, find characters, insert, remove, and replace characters, and trim characters.
  • Math – Trigonometric calculations, vector manipulation, statistical analysis, and more.
  • CAD – Save all and close all open files. Preview drawings and list xrefs.
  • System – Get system information, sort lists, change the system date and time, manipulate the keyboard, and play sounds.

Why would a CAD LISP programmer use it?

There are many DOSLib functions that would be difficult to write purely in LISP and quite a few that would be impossible. So for those people who want to code for AutoCAD and BricsCAD without the bother of learning ARX/BRX and dealing with the associated compiler requirements, DOSLib has been a godsend. It’s worth noting that some of the DOSLib functions have been added to BricsCAD’s LISP engine, so depending on the function you use, you may not even need to load the DOSLib library.

Do impressive-looking stuff without writing much code. You might call it being lazy. I call it being efficient.

A history of dependability

DOSLib has been around for many years. It is currently supported on AutoCAD 2013 and later and BricsCAD Pro V13 and later, but earlier versions have supported AutoCAD releases dating back to 1992! Dale Fugier at Robert McNeel and Associates has been providing outstanding service in developing DOSLib and keeping it up to date. For nothing!

So developers have been able to take advantage of the DOSLib functionality all that time, and Dale has always come up with the goods in terms of updates to work on new releases of AutoCAD and BricsCAD. However, you may have had a nagging doubt about writing code that relies on a third party, or as a CAD Manager relying on such code, no matter how rock-solid reliable that party has proven in the past.

That nagging doubt can now be put to bed, because Dale has announced that DOSLib has been made open source under the very open and simple MIT license. The GitHub DOSLib page has the source, with compilation and other relevant information.

All good news

Dale has also stated that he intends to continue to provide compiled binaries for the foreseeable future, so don’t worry about having to mess with compilers. Even if a meteor happens to land on McNeel headquarters, it’s a pretty safe bet that somebody in the AutoCAD/BricsCAD development community will, after a suitable period of mourning, step forward to compile the code for new AutoCAD/BricsCAD releases when required.

The availability of the source code also opens the door for DWG-based applications (other than BricsCAD) to attempt to provide a higher level of LISP compatibility, to the extent of supporting (dos_xxx) function calls. That means you, the CAD LISP programmer, will have a wider potential audience for any code you write that uses DOSLib functions.

Finally, if you’re an ARX/BRX developer who wants to do something similar to something in a DOSLib function, you now have some handy sample code.

So this is all good news, and yet another example of Dale and McNeel doing the right thing by the CAD community.

A & B Tip 9 – drilling holes 3 – counterbores

In this series of posts, I’ll be providing tips that show how to do something in both AutoCAD and BricsCAD, hence A & B.

The Series

The idea behind this series is to provide useful information for several sorts of reader:

  1. AutoCAD users.
  2. BricsCAD users.
  3. People in the process of transitioning from AutoCAD to BricsCAD and who need to know what to do differently (if anything).
  4. People considering transitioning from AutoCAD to BricsCAD and who want to know about the differences and similarities.

Counterbored holes

This post continues to explain more about how to put holes in your 3D models. In this post I’ll be describing how to construct counterbored holes. Hint: the most efficient method is described last.

I’m going to start with this model and use different methods to create three counterbored diameter 10 holes that go through the block, each with a diameter 20 x 18 deep counterbore. I’ve placed circles of diameter 10 and 20 in place to indicate where the holes are going to go, and in some cases to act as the basis for extrusion.

If you’re unsure about how to locate these circles in exactly the right spots in 3D space, see my earlier drilling holes posts, part 1 and part 2.

Extruding circles

Assuming we have appropriate circles to work with, we can extrude them to create cylinders, then subtract them. This works in basically the same in both AutoCAD and BricsCAD, but there are differences:

AutoCAD BricsCAD
Invoke the EXTRUDE command:
Invoke the EXTRUDE command:
Select the inner circle and press Enter to complete the selection process:
Select the inner circle and press Enter to complete the selection process:
Move your cursor down and click when the extrusion goes beyond the bottom of the block:
Enter a negative number that equals or exceeds 100 (the thickness of the block):
If you just pick a point as per AutoCAD, the extrusion will go up rather than down. It’s also possible to point to the direction and amount to extrude by using the Direction subcommand and picking two points, for example a top and bottom corner of the solid.
Repeat the above process for the second circle, but this time specify an extrusion height of 18 while the cursor is located such that the extrusion is going down rather than up:
Repeat the above process for the second circle, but this time specify an extrusion height of -18. It has to be negative, otherwise the extrusion will go up even if you’re pointing down (unlike AutoCAD).

We’ll subtract these cylinders later.

Drawing cylinders

You can draw cylinders to subtract without needing construction circles. In this case one of the circles is just used to help locate the cylinder center point, but you can use other methods that involve no construction geometry instead, as explained in my first drilling holes post.

AutoCAD BricsCAD
Invoke the CYLINDER command (Solid, not Surface):
Invoke the CYLINDER command (Solids, not Meshes):
Locate the center of the cylinder, in this case using the center object snap:
Locate the center of the cylinder, in this case using the center entity snap:
Enter a radius of 5:
Enter a radius of 5:
Move your cursor down and click when the extrusion goes beyond the bottom of the block:
Move your cursor down and click when the extrusion goes beyond the bottom of the block:
Repeat the above process for the second cylinder, but this time specify a height of 18 while the cursor is located such that the extrusion is going down rather than up:
Repeat the above process for the second cylinder, but this time specify a height of -18:

Subtracting the cylinders

We can subtract all four cylinders at once to create two of the counterbored holes. This process is the same in both applications.

AutoCAD BricsCAD
Invoke the SUBTRACT command:
Invoke the SUBTRACT command:
Select the main solid as the object to subtract from and press Enter to complete that selection. Then select the cylinders to remove. This is easiest with an implied window. Pick a corner point containing no objects, starting on the left. Then pick the opposite corner to the right.
Press Enter to complete that selection and the command.
Select the main solid as the object to subtract from and press Enter to complete that selection. Then select the cylinders to remove. This is easiest with an implied window. Pick a corner point containing no objects, starting on the left. Then pick the opposite corner to the right.
Press Enter to complete that selection and the command.
End result:
End result:

Note that the first method replaces the circles with cylinders. The second method only uses the circles to help locate the center; they don’t really need to be there at all and are ignored.

Presspulling or Push/pulling

As described before, planar objects such as circles can be extruded by presspulling them. We’ll use that method to create the third counterbored hole. In this case, the operations differ somewhat between AutoCAD and BricsCAD.

AutoCAD BricsCAD
Hold down Ctrl+Shift+E to turn on dynamic presspull mode, hover over the space between the two circles and pick:
Hover over the inner circle. You should see the Quad Cursor appear, suggesting a push/pull operation. Pick the icon to accept that operation:
Now you can release Ctrl_Shift+E. Move your cursor down and enter 18:
Move your cursor down beyond the bottom of the block and pick.

Note the on-screen reminder that you can hit the Ctrl key to switch between several different types of push/pull operations. We can ignore this because in this case we want to use the default. However, it’s worth noting that this feature exists because it’s very handy.
Hold down Ctrl+Shift+E to turn on dynamic presspull mode, hover over the inside of the inner circle and pick. Release Ctrl+Shift+E, move your cursor down beyond the bottom of the block and pick:
Hover over the outer circle and pick the push/pull icon on the Quad Cursor. You could enter a height of -18, but in this case there’s a handy nearby hole counterbored to the correct depth and we can just pick the center of that instead:
In the AutoCAD presspull end result, the circles are left behind so if you don’t want them you will need to erase them.
Note also that your UCS origin is changed by this operation even if dynamic UCS is turned off. To restore it, use UCS Previous or use the UCS menu under the ViewCube to change it to World or any other named UCS:
In the BricsCAD push/pull end result, the circles are converted to holes so no more action is required. No UCS restoration is necessary.

Summary

Assuming you have construction circles in place, presspulling is the most efficient of the three methods in AutoCAD, even allowing for the tidy-up required at the end.

BricsCAD’s Quad-based push/pull operation is the most efficient method of the lot. Hover, pick, pick and hover, pick, pick is enough to create a counterbored hole.

Next: countersunk holes.

A & B Tip 8 – drilling holes 2

In this series of posts, I’ll be providing tips that show how to do something in both AutoCAD and BricsCAD, hence A & B.

The Series

The idea behind this series is to provide useful information for several sorts of reader:

  1. AutoCAD users.
  2. BricsCAD users.
  3. People in the process of transitioning from AutoCAD to BricsCAD and who need to know what to do differently (if anything).
  4. People considering transitioning from AutoCAD to BricsCAD and who want to know about the differences and similarities.

Drilling holes

This post continues to explain more about how to put holes in your 3D models. More than one method involves starting with a planar object (e.g. a circle for a cylindrical hole), but it needs to be in the right spot and in the right plane. The most efficient way of drawing an object in a given plane, where that plane exists on a 3D solid, is to use Dynamic UCS.

Dynamic UCS

First, we need to make sure Dynamic UCS is turned on. In AutoCAD, the Dynamic UCS icon looks like this:

If that’s not visible, you may need to make it visible using the hamburger menu on the far right of the status bar:

In BricsCAD, the text-based toggle (like the one AutoCAD users have been asking to return ever since it was removed a few releases ago) is DUCS:

Just in case that toggle’s not visible, there’s a list of toggles in a menu at the bottom right of the BricsCAD user interface, too:

You can also toggle the Dynamic UCS status in both applications using F6.

Having established that DUCS is on, invoke the Circle command. Hover over the plane that’s on the left as we’re looking at it, thus:

You are now working in a temporary UCS with an origin point in one corner of the 3D solid’s face, and as you move around you can use the coordinate display to get an idea of where the coordinates lie. If I enter -100,50 this is used in relation to the origin of the dynamic UCS and I will get a circle here:

Things work in a similar way in BricsCAD. You don’t get the on-screen dynamic coordinates, but you can still see them in the status bar and you do get a UCS icon that shows you how the temporary UCS is aligned. If you move your cursor around, you will be able to obtain different UCS alignments and easily see where the origin is and which way X and Y are oriented:

With this visual information and the dynamic UCS shown above, you can enter 100,50 to place the circle in the same spot as in AutoCAD.

Now we have our circle (and it could just as easily be a filleted rectangle or any other shape), we could extrude it as described in my previous post. Instead, let’s push and pull it into shape as described below.

Presspulling or Push/pulling

Instead of using the EXTRUDE command, planar objects can be extruded by presspulling them. Before drilling some holes, I should explain that there are several differences (some subtle) between extrusion and presspull:

  • Extruding replaces the original objects whereas presspulling leaves them in place and creates new objects.
  • The EXTRUDE command expects you to select objects to extrude; the PRESSPULL command allows you to point within an enclosed area. Depending on what you’re starting with, one command will be more suitable than the other.
  • Extruding an area enclosed by individual objects (e.g. lines) extrudes the objects into planar surfaces. Presspulling such an enclosed area results in a 3D solid being created based on an extrusion of the enclosed area.
  • An EXTRUDE of an enclosed planar object (e.g. circle, closed polyline) creates a 3D object. PRESSPULL can also do this, but when the planar object lies on the surface of a 3D solid, it can also create a hole in that solid.
  • Both commands can be used on faces of 3D solids; EXTRUDE will create a new solid based on an extrusion of that face and PRESSPULL will modify the original solid.

Presspulling in AutoCAD

In AutoCAD, you can use the PRESSPULL command:

Alternatively, you can use Ctrl+Shift+E to invoke presspulling: hold all three keys down and point within an enclosed area. Here’s an example. A circle has been drawn on the left vertical surface of our solid. Hold down Ctrl+Shift+E together and pick the interior of the circle. Let go of the keys and move your mouse to the right:

Pick a point beyond the extents of the solid. A hole is automatically created in the solid without having to explicitly subtract it, thus:

User actions required: a three-key combination and two picks. Note that the original circle is still present and if you don’t want it there you will need to erase it.

Push/Pulling in BricsCAD

In BricsCAD, there is no PRESSPULL command. Instead, the closest equivalent command name is DMPUSHPULL (the DM stands for Direct Modeling).

This command expects to work on faces of 3D solids, which is not exactly what we’re after for drilling holes. Instead, we use the DMEXTRUDE command. Now it might seem confusing that there are different commands to use for similar things, but in practice that doesn’t matter. That’s because we can just use the Quad Cursor and really not care what the underlying command is called. If you hover over a 3D solid’s face, the Quad Cursor gives you the options you need for dealing with that, and if you hover over a circle you are given the appropriate options for that instead.

Here’s the same example as above, this time done in BricsCAD. Hover over an object that defines an enclosed area, in this case our circle:

The Quad Cursor uses AI technology to initially provide the option that it thinks you’re most likely to use with that object under the current circumstances. I find it’s remarkably good at guessing what you want to do. If it’s wrong, you can get at a whole bunch of other options with a bit more hovering, but in this case it’s right; we do want to extrude the circle. Pick that icon, move over to the right and pick. That will create the hole:

User actions required: a hover and two picks. Again, the original circle remains behind and will need to be erased if you don’t want it left hanging around.

What about more complex holes? There are more tips and tricks coming, so watch this space.

A & B Tip 7 – drilling holes 1

In this series of posts, I’ll be providing tips that show how to do something in both AutoCAD and BricsCAD, hence A & B.

The Series

The idea behind this series is to provide useful information for several sorts of reader:

  1. AutoCAD users.
  2. BricsCAD users.
  3. People in the process of transitioning from AutoCAD to BricsCAD and who need to know what to do differently (if anything).
  4. People considering transitioning from AutoCAD to BricsCAD and who want to know about the differences and similarities.

Drilling holes

This post explains how to put holes in your 3D models. This post will cover some fairly straightforward topics but I intend to cover more involved details in future posts. I’ll assume you have a basic understanding of creating 3D primitives and the boolean operations (union, subtract and intersect). I will be using the 3D Modeling workspace in both AutoCAD and BricsCAD. I’m going to start with the dynamic UCS feature turned off and the 2D Wireframe visual style.

Vertical cylinder subtraction

Let’s take the simplest case. You have a solid and you just want to place a cylindrical hole in a known location that you already have geometry you can snap to. For example, you want to drill a DIA 40 hole right through this part, using the centerlines shown:

Start with the CYLINDER command:

AutoCAD BricsCAD

Pick the intersection of the two centerlines, enter a radius of 20 and a height of 100. You don’t have to be precise with the height, you can just point to any height that’s over 100:

To create the hole, use the SUBTRACT command:

AutoCAD BricsCAD

With this command it’s important to select the objects in the right order. Select the object(s) you’re substantiating from first, then press Enter to finish the selection process for those objects. Then select the object(s) you’re subtracting and press Enter to finish that selection process. That will give you your hole (temporarily switched to X-Ray visual style for clarity):

Extruding a circle

Instead of creating the cylinder diectly, you can instead extract a circle. This is an extra step if you don’t already have a circle of the right size in the right place, but less work if you do. For example, if you’re converting a 2D drawing to a 3D model, you’ll probably have the circle already.

Invoke the EXTRUDE command:

AutoCAD BricsCAD

Select the circle, press Enter to finish the selection (because you can extrude several objects at once) and specify a height of at least 100, as with the CYLINDER command. Subtract the resultant cylinder and you’re done.

It’s important to note that extrusions work perpendicular to the plane of the object(s) being extruded. In this case the cylinder is created vertically because the circle lies flat (in terms of the World Coordinate System). If you have a circle lying in a different plane, the extrusion will be perpendicular to that plane. For example, here a circle that lies in a vertical plane is being extruded horizontally:

Drawing a circle in the other planes

That’s all well and good if you have a circle in the right plane, but what if you need to draw one? You have several alternatives.

One method is to draw your circle in whatever plane you like, then use the ALIGN command to move it into place. That works, but it’s not that efficient.

Alternatively, you can change your UCS to align with your desired plane, and then just draw your circle. That can be fiddly, but if you have a handy solid object containing the plane you want to draw in, you can use the UCS command’s OBject option (hot tip: E for Entity does the same thing). By carefully hovering over the plane, you can set up your desired UCS with one click and a lot less tiresome fiddling around than trying to work out what the other (somewhat arcane) options of the UCS command all mean. Here, the UCS command’s OBject option is shown in action:

Note that this is an example of one of the very few things that works in AutoCAD but not BricsCAD. The UCS command’s OBject (and Entity) option exists, but you can’t use it to align a UCS with a solid’s face. You can, however, use the UCS command’s Face option. That exists in both applications, but I prefer the way it works in BricsCAD where the origin of the UCS is placed in one corner of the face with no further interaction required. In AutoCAD, the default is to place the UCS origin at some random point you used to select the face so if you need to locate points precisely there is a bit more messing around required.

Upshot: Use UCS E in AutoCAD and UCS F in BricsCAD.

In any case, there are other, more efficient ways to skin this particular cat. In my view, the most efficient way of drawing an object in a given plane, where that plane exists on a 3D solid, is to use Dynamic UCS. I’ll explain that, and how to push and pull your holes into submission, in the next post.

Fix released for Autodesk subscription licensing error (yes, another one)

Providing yet another entry in the it’ll never happen again file, Autodesk has issued a fix for an AutoCAD 2018 subscription licensing crash.

Thankfully, it’s not compulsory to use the execrable Autodesk desktop app or malware-like Akamai download manager to obtain this fix. There are direct links for the 32-bit and 64-bit fixes.

Lessons we learned from this:

  • AutoCAD doesn’t just phone home once every 30 days to maintain even a long-term a subscription license, it phones home 24 hours later too. And probably every 24 hours after that.
  • Desktop software that relies on the internet to continue working is a terrible idea.
  • Yes, it will happen again.

A & B Tip 6 – making polylines when you don’t have any

In this series of posts, I’ll be providing tips that show how to do something in both AutoCAD and BricsCAD, hence A & B.

The Series

The idea behind this series is to provide useful information for several sorts of reader:

  1. AutoCAD users.
  2. BricsCAD users.
  3. People in the process of transitioning from AutoCAD to BricsCAD and who need to know what to do differently (if anything).
  4. People considering transitioning from AutoCAD to BricsCAD and who want to know about the differences and similarities.

Why might you need a polyline?

In my last post (A & B Tip 5 – polyline areas) I described different methods of finding the areas (and perimeters) enclosed by polylines. That’s all well and good, but what if the objects that enclose your area aren’t nice convenient polylines? This post will help you make some. There are other reasons you might want polylines rather than whatever you have now. These include:

  • You can offset a polyline in one go rather than offsetting multiple objects and then joining them together.
  • You can apply fillets to a whole polyline with a single pick rather than lots of them.
  • A polyline can be extruded to make a 3D solid (or hole).
  • You can use a polyline to define a path that is used to extrude or sweep another polyline to make a solid with automatically mitred corners.
  • You can apply a width to a polyline and override that width for individual segments.
  • You can use a polyline as the basis to create a region, which allows you to do various cool things such as perform boolean operations on 2D objects.
  • Using polylines to define a hatch boundary can be less error-prone than using individual objects.
  • You can locate the geometric center of a polyline with the GCE object snap.
  • A polyline’s linetype can be persuaded to flow around the whole polyline rather than being confined to individual segments. In some cases, this means you will see a linetype where you would otherwise see only solid lines.

Having established various uses for polylines, and assuming you already have some objects and don’t want the tedious job of drawing over them manually, what can you do? Read on.

Note: in this post, the operations are exactly the same in both AutoCAD and BricsCAD with a couple of minor exceptions that I will point out as I go along.

PEDIT Join

If you’re fortunate enough to have a series of lines, polylines and/or arcs that are connected end-to-end without overlap to exactly define the area you want, then you can use the PEDIT command’s Join option to convert those objects to a single polyline. The command sequence dates from the mid-80s and is rather convoluted:

Command: PEDIT
Select polyline or [Multiple]: [pick an object]
Object selected is not a polyline
Do you want to turn it into one? [Enter] (this only appears if you pick a line or arc)
Enter an option [Close/Join/Width/Edit vertex/Fit/Spline/Decurve/Ltype gen/Reverse/Undo]: J
Select objects: [select a bunch of objects]
Select objects: [Enter]
X segments added to polyline
Enter an option [Close/Join/Width/Edit vertex/Fit/Spline/Decurve/Ltype gen/Reverse/Undo]: [Enter]

Note that the Do you want to turn it into one? prompt can be suppresses if you set PEDITACCEPT to 1. It’s also worth noting that if the properties of the objects vary, then the properties of the first-selected object will be used for the resultant polyline.

If you do a lot of this kind of operation, then it can be made more efficient using a menu macro. Some of us even made commands in LISP to simplify matters. A few releases ago, Autodesk did that for us when it added the JOIN command. BricsCAD followed suit to maintain command compatibility. This command joins various things in various ways, and one of those ways involves creating a polyline.

JOIN

The JOIN command, when applied to the same kind of convenient end-to-end objects described above, performs the same task as PEDIT Join, but with fewer prompts. Why not use it all the time then? Because sometimes it doesn’t work (in AutoCAD, at least). See the video for an example.

Video – PEDIT Join and JOIN in AutoCAD and BricsCAD

BOUNDARY

The BOUNDARY command, unlike the joining commands above, does not require that the objects lie conveniently end-to-end. Any group of objects that form an enclosed area can be used to create a closed polyline. Also unlike the joining commands, the existing objects are not converted to a polyline. Instead, a new polyline is created on top of the existing objects. The current properties (layer, etc.) are used to create the new polyline.

Assuming you’ve set your current properties to match the objects you want to create, invoke the BOUNDARY command (short form BO). A dialog will appear. There are minor differences between the AutoCAD and BricsCAD dialogs, but nothing that need concern us here.

Just pick the button at top left and start picking inside bounded areas. When you’re finished, press Enter and you’ll be left with a bunch of closed polylines. This video shows how it’s done.

Video – BOUNDARY in AutoCAD and BricsCAD


Finally, you can cut out the dialog box altogether and go straight to picking points if you use the command-line version, -BOUNDARY (note the leading hyphen). Just enter -BO, pick pick pick, Enter and you’re done.

A & B Tip 5 – polyline areas

In this series of posts, I’ll be providing tips that show how to do something in both AutoCAD and BricsCAD, hence A & B.

The Series

The idea behind this series is to provide useful information for several sorts of reader:

  1. AutoCAD users.
  2. BricsCAD users.
  3. People in the process of transitioning from AutoCAD to BricsCAD and who need to know what to do differently (if anything).
  4. People considering transitioning from AutoCAD to BricsCAD and who want to know about the differences and similarities.

What area is that polyline?

There are several ways of determining the area enclosed by a polyline. This post goes through the various methods. You will also notice that in each of the methods, you get the length (perimeter) as a bonus.

Spoiler alert: the most efficient methods are at the bottom. There’s a one-click method in AutoCAD (it needs a little setting up first) and a zero-click method in BricsCAD.

LIST command in AutoCAD

The oldest method is the good old LIST command. Although this has been around for ever, here’s how it works in recent AutoCAD releases. Issue the LIST command, select the polyline, press Enter to finish the selection, and above your floating command line AutoCAD will show something like this:

If this display goes away and you want to see it again, hit F2 and it will return. If you have a docked command line, AutoCAD will display the information on the text screen, which it will then display:

If you have a floating command line but want to see the text screen rather than the over-the-command-line popup, you can switch to it using Ctrl+F2.

LIST command in BricsCAD

The command works in just the same way in BricsCAD as it does in AutoCAD with the docked command line.. The main differences are that the BricsCAD default interface has a docked command line, and that the text screen (called Prompt History in BricsCAD) is displayed even when using a floating command line.

If the text screen goes away or is obscured, you can restore it using the familiar-to-AutoCAD-oldtimers keystroke of F2 (not Ctrl+F2, which toggles the ribbon in BricsCAD).

Unit precision in BricsCAD

Another difference you might notice is that the only whole units are displayed. This is because BricsCAD respects the setting of DIMZIN when displaying values in the AREA command and AutoCAD doesn’t. In this drawing, DIMZIN is set to 8, which suppresses trailing zeroes. Because the area is exactly 448.0, BricsCAD displays it as 448. If DIMZIN is not set to suppress trailing zeroes, this doesn’t happen. If DIMZIN is set to 0, BricsCAD displays the area using the setting for linear units precision, LUPREC. If this is 4, the LIST command will display the area as 448.0000, as it does in AutoCAD.

This respect for DIMZIN applies in other places in BricsCAD too. For the remainder of this post I’ll have DIMZIN set to 0.

AREA command in AutoCAD

Another good old method is the AREA command. Issue the command, use the Object option and pick your polyline. You will be shown the area in two places as shown here:

AREA command in BricsCAD

The AREA command works similarly in BricsCAD. Although the options displayed indicate that the subcommand is Entity rather than Object, you can in fact use either E or O to initiate selection of an object. Unlike AutoCAD, the area is displayed in one place only, the command prompt area:

Note that the AREA command in both applications gives you more options, including adding together several areas.

Properties palette in AutoCAD

If you have the Properties palette visible (Ctrl+1 will toggle it on), you can simply select the polyline and the area will be displayed in the palette, thus:

Note that unlike the AutoCAD AREA command, the Properties palette does respect the value of DIMZIN. To display the trailing zeroes, first set DIMZIN to 0.

Properties palette in BricsAD

Using the Properties palette in BricsCAD is identical to AutoCAD. Here’s the display:

Quick Properties in AutoCAD

Quick Properties is a cursor-based cut-down version of the Properties palette. It’s not what you get when hovering, which is this:

What you want is Quick Properties, which you only get when you select an object, for example:

Unfortunately, Area is missing. It was there once upon a time, but there were performance problems so it was removed by default. However, you can add it back in. Invoke CUI and pick Quick Properties on the left. Scroll down on the right and pick Polyline.

Turn on Area (and Length if you want). Pick OK. Now see what happens when you select a polyline:

Note: in AutoCAD 2014 (and maybe others), the Area option was missing. There’s a workaround, but it’s a complex hack and well beyond the scope of this post.

Quad cursor in BricsCAD

The easiest way to find a polyline area in BricsCAD is just to hover over it. The Quad cursor will appear, giving you the information you need:

Alternatives

If you’re doing this regularly, it makes sense to automate it as much as possible. Depending what you want, menu macros might help. There are also various free LISP routines around that do this sort of thing, for example these by Lee Mac. If you have more specific requirements (e.g. automatic area label, export to CSV), then that’s the sort of thing I do for a living so feel free to get in touch.

A & B Tip 4 – turning on toolbars

In this series of posts, I’ll be providing tips that show how to do something in both AutoCAD and BricsCAD, hence A & B.

The Series

The idea behind this series is to provide useful information for several sorts of reader:

  1. AutoCAD users.
  2. BricsCAD users.
  3. People in the process of transitioning from AutoCAD to BricsCAD and who need to know what to do differently (if anything).
  4. People considering transitioning from AutoCAD to BricsCAD and who want to know about the differences and similarities.

Your First Toolbar

If you are using a ribbon-based workspace, you may want to have some toolbars visible, too. There are several reasons you might want to do this. You might want some buttons to be consistently visible, no matter what the ribbon state. Although the QAT in AutoCAD provides some toolbar space, you might want more space than it offers. You might also want toolbar controls that are not available in the QAT; several of them only work in conventional toolbars. You might want the buttons in a different place, such as down one side or on a second screen.

If you have at least one toolbar visible already, things are easy. If you right-click on that toolbar, you will get a menu that allows you to turn on any other toolbar in the same customization group (CUI or CUIx file). Here it is in AutoCAD:

Here’s the equivalent in BricsCAD:

Note that in BricsCAD, the list of toolbars is one level down because the first-level right-click menu in BricsCAD gives you many more interface options.

What if the toolbar you want to turn on is in a different customization group? You can get at those easily enough by right-clicking on any blank (unused) area of a docked toolbar area. AutoCAD:

You can do the same in BricsCAD:

The difference with BricsCAD is that you don’t need to have a docked toolbar with spare space in it to access toolbars in different groups. They’re all available by right-clicking any toolbar button, docked or not.

That’s all easy enough, but what if you don’t have any toolbars visible? You’re stuck in a Catch-22 situation. You need a toolbar to click on to load a toolbar. How do you get that first toolbar loaded?

AutoCAD Interactive Method 1

The first trap to avoid in AutoCAD is using the TOOLBAR command. From Release 13 to AutoCAD 2005, that was useful. With the introduction of CUI files in 2006, the TOOLBAR command became a near-useless cut-down version of the CUI command.

Ignore that. If you’re going to use the CUI interface, use the whole thing. Enter the CUI command. In the top left pane, pick the workspace you want to change:

In the top right pane, pick Customize Workspace. In the left pane, expand the Toolbars part of the tree and turn on one of the toolbars:

Pick Done (top right) and OK (bottom). Your chosen toolbar will appear.

AutoCAD Interactive Method 2

If you have your pull-down menu bar turned on, you can get at the toolbars using the Tools menu as shown here:

You can turn on your pull-down menu bar by setting MENUBAR to 1.

Thanks to James Maeding for pointing that out.

BricsCAD Interactive Method

In BricsCAD, you can turn on toolbars interactively even if there are none visible, without having to deal with the CUI interface. Just right-click in any part of the ribbon, and you will see the same menu you get when right-clicking a toolbar area. That gives you access to all of the toolbars in all of the groups.

AutoCAD Command Line Method

If you want to use the command line to turn on a toolbar, you need to use the -TOOLBAR command (note the leading hyphen). You also need to know the name of the customization group and what the toolbar itself. One example is the Object_Snap toolbar within the ACAD group. The command line required is therefore:

-TOOLBAR ACAD.Object_Snap Show

To be sure this will work in all environments, I recommend you add the special characters _ and . thus:

_.-TOOLBAR ACAD.Object_Snap _Show

BricsCAD Command Line Method

In BricsCAD, you don’t need the leading hyphen in the TOOLBAR command (although you can use it if you like). The customization group and toolbar names will be different, but the syntax is the same. For example:

TOOLBAR BRICSCAD.TB_EntitySnaps Show

The recommended special characters also do the same job in BricsCAD:

_.-TOOLBAR BRICSCAD.TB_EntitySnaps _Show

What’s new in AutoCAD 2019 for maintenance customers?

So you’re a long-term customer who has used AutoCAD since it ran on an abacus. You paid for upgrades when you could and switched to maintenance (then called Subscription) when that became the only cost-effective option for keeping current. You’re not about to fall for the subscription (rental) trick; they can prise your perpetual license from your cold, dead fingers.

It’s no secret that the value for your maintenance dollar has been poor for years. Autodesk is jacking up maintenance prices in leaps and bounds; is the maintenance being performed at a rate that matches the amount being charged?

In short, is AutoCAD 2019 enough of an advance over its predecessor to make it worth the maintenance money you paid in advance for it? This post seeks to answer that question.

What you’re not getting

As a maintenance customer, you’re being denied the big item that would make the answer to that question a definite ‘yes’ – Specialized Toolsets. Despite the name and the There Can Be Only One hype, if you’re a renter you’re not getting one AutoCAD that has the extra bits available. You’re getting the availability of a bunch of seven different AutoCAD variants and one add-on (Raster Design), each of which needs to be downloaded, installed and run individually. This initiative has been unkindly referred to as ‘shovelware’, and it’s highly likely that throwing in all of these verticals for ‘free’ means that we’ve seen the end of their meaningful lives. Expect no significant future enhancements and you may avoid disappointment. However you look at it, it’s subscription-only and therefore need not concern us further.

Similarly, as a maintenance customer you’re not getting AutoCAD Web and Mobile. Despite the names, these aren’t AutoCAD. They’re simple online viewing tools with some editing and markup functionality.

What you’re getting taken away from you

You may recall me describing (and praising) the AutoCAD 2017 feature, Share Design View. This was slightly improved in AutoCAD 2018. In AutoCAD 2019 it has been revised again and renamed to Shared Views. Presumably, the Views you’re Sharing are no longer of Designs. Whatever the reason for the rename, it has a sinister connotation. Share Design View is considered obsolete and has been removed. Shared Views has been provided only to subscription customers. The upshot is that this is a feature removal. Yes, you’re getting negative value for your maintenance dollars. This is one of the more petty, vindictive attempts to convince you to go rental. Whoever put their hand up at the product meeting to suggest this particular piece of anti-customer nastiness probably got a gold star from Andrew Anagnost, but I don’t approve and I think it is likely to prove counterproductive.

Another feature that has been removed from AutoCAD in 2019 is the ability to export to FBX files. If you didn’t use this feature, you won’t care. If you used it as the basis of a Virtual Reality workflow to allow you to get your DWG 3D models into, say, Unity to create a virtual environment, then you will probably care a great deal. Similarly, FBX import has also gone. Autodesk’s suggestion that you use the DWG import and export feature in their other products instead is no use at all to you if you don’t use those products in your workflow.

Because Autodesk A360 has been deprecated, a bunch of related commands have also gone AWOL. The lesson here is to not get too used to any Autodesk cloud-based workflows; they could vanish on a whim at any moment.

What you’re getting

What’s left? What are you getting for your hard-earned? Here are some enhancements:

  • Some of the icons have been slightly modified. This includes the status bar icons. Unfortunately, Autodesk remains deaf to the many requests for the return of text to this area.
  • 2D graphics performance is supposedly improved.
  • The Graphics Performance dialog box now has a 2D section.

OK, these are minor tweaks. Some are welcome (performance), others (icon tampering) are just tinkering that nobody will care about. How about worthwhile new functionality?

Well, there’s one feature that many will find useful: Drawing Compare. But wait! Isn’t that new? Well, no. Let’s put aside the fact that this is just playing catch-up to a core BricsCAD feature. Purely within the AutoCAD world, it’s still not new. Drawing Compare has been available as an Autodesk-supplied free app since 26 April 2012. It’s still available now for AutoCAD 2016 and later, even though the one for 2013 to 2015 has been ‘unpublished’.

I’ll examine the differences between the AutoCAD 2019 core feature, the AutoCAD add-on and the BricsCAD core feature in a future post. I can tell you that Edwin Prakaso thinks the old add-in is better than the core feature, but I’ll compare the compares for myself and you can make up your own mind.

Summary

For Autodesk giveth (a bit) and taketh away (a bit more). Overall, maintenance customers are down on the deal. Customers are paying ever-increasing amounts for tiny or even negative benefits. Why do they bother?

A & B Tip 2 – realistic threads

In this series of posts, I’ll be providing tips that show how to do something in both AutoCAD and BricsCAD, hence A & B.

The Series

The idea behind this series is to provide useful information for several sorts of reader:

  1. AutoCAD users.
  2. BricsCAD users.
  3. People in the process of transitioning from AutoCAD to BricsCAD and who need to know what to do differently (if anything).
  4. People considering transitioning from AutoCAD to BricsCAD and who want to know about the differences and similarities.

Realistic Threads

This post explains how to create realistic-looking threads for screws, nuts and the like in your presentation 3D models. I don’t suggest you do this routinely because it will add pointless complexity to your everyday models, but occasionally you will need to make a model that looks highly realistic. For example, you might need a photorealistic rendering of an assembly or an exploded view for a user manual. This example will use ISO metric parts, but the principles are the same for all threads. I’ll assume you have a basic understanding of creating 3D primitives and the boolean operations (union, subtract and intersect).

BricsCAD Standard Parts

The first thing to note is that unless you insist on the threads being helical, you probably have very little work to do. Have a look at this ISO M10 screw and bolt. It doesn’t have helical threads, but is it good enough for your needs?

If so, and if you have BricsCAD Platinum, you can save yourself a lot of work. I created this model using the Standard Parts panel on the left. To create the nut, I used ISO > HEX NUT > ISO 4033 > M10 x 1.5. Having chosen my component, I just dragged and dropped it from the panel (the bit that’s highlighted above) into the drawing and specified an insertion point. The screw was similarly easy: ISO > HEX NUT > ISO 4018 > M10 x 1.5 and Length 50.

Here’s a close-up. This is good enough for most cases, but if you’re picky you can tell the threads aren’t helical. If you’re really, really picky you can tell that the threads aren’t the exactly correct profile (e.g. no flats on the peaks or troughs).

Also, getting really, really, really picky, there is neither a runout of the thread at the top nor a spherical end at the bottom. If that’s not good enough and you need to construct a model that provides a completely accurate representation, how can you do this? Read on.

Creating helical threads in BricsCAD and AutoCAD

I’m going to recreate the above screw as our example, but will make it dimensionally accurate. For simplicity, I’ll ignore the hex head and just do the shaft part. I’ll use BricsCAD to work through this, but it doesn’t matter. The steps are exactly the same in AutoCAD. There are a few things in BricsCAD’s 3D repertoire that might make things a little easier than in AutoCAD, but I won’t be using them here. I will be switching back and forth between visual styles in order to better show what’s going on with the geometry, so don’t expect consistency between the images.

First, construct a few basic parts from solid primitives. Here are the dimensions you’ll need for doing that:

From left to right, we have:

  1. DIA 20 x 40 cylinder that has been unioned with an DIA 20 sphere
  2. DIA 10 x 50 cylinder
  3. DIA 10 x 1.25 cylinder that has been unioned with a truncated cone DIA 10 to 7 x 3.75

The next step is to create the thread. There are two parts to this: the path and the profile. The path is easy: we just use the HELIX command. Specify the center of the middle cylinder as the base, a base and top radius of 5 (but specify the base radius using a known point such as a quadrant), a turn height of 1.5 (that’s the thread pitch) and a height of 50.

You might be tempted to make a simplified profile using an equilateral triangle with a side length of 1.5 (the pitch). Hot tip: don’t do this. Unfortunately, this will cause problems. Both AutoCAD (usually) and BricsCAD (sometimes) may refuse to create the thread because it thinks it self-intersects. You can use a simple triangle profile, but you’ll need to make it slightly smaller than the pitch: scaling by a factor of 0.95 should do.

Instead, let’s do it more accurately. The profile can be created as a polyline using conventional 2D techniques. Here are the profile dimensions for an M10 x 1.5 thread:

Note: to be completely accurate, the thread profile should also have a root radius. Feel free to add one if you like.

Either draw this profile in place using an appropriate UCS such that it is vertical up against the middle cylinder, or draw it in WCS and then move it into place using the ALIGN command. Although having the profile located in the right plane and location is theoretically not necessary, in practice it makes creating the thread much less fraught.

Here’s a tip that will save you a lot of trouble later: move the profile very slightly away from the center of the cylinder. A distance of, say, 0.01 will do. Here’s what it should look like if you zoom in far enough:

If you don’t do this, your CAD application will get into trouble later when you try to subtract the thread, because the outside of the thread and the cylinder will coincide, causing problems for the software. Having the outside of the thread just slightly beyond the edge of the cylinder will prevent this issue. Instead of kludging things by moving the profile slightly as described here, you could alternatively draw the profile such that it’s dimensionally accurate but with an outside edge slightly beyond the cylinder. Just make sure you don’t extend the profile so far that you run into the self-intersecting problem.

Next, use the SWEEP command, select the profile and the path. That should give you this:

Subtract the thread from the cylinder. Now move the cylinder/cone primitive into place on top of the shaft using CENter osnap and union the two solids, producing the elegant thread runout you see here:

Move the cylinder/sphere primitive into place on top of the shaft using CENter osnap:

Finally, intersect the two solids, producing this domed end to the threaded shaft:

Here’s the finished product in BricsCAD after I added a hex head to the top, unioned the solids together and added a brushed metal material.

Summary

The steps are the same in AutoCAD and BricsCAD:

  1. Create the primitive objects you’ll use later to define the threaded object
  2. Create a thread path using HELIX
  3. Create a thread profile polyline and move it into position
  4. Ensure the profile extends slightly beyond the edge of the shaft
  5. Use SWEEP to create the thread
  6. Subtract the thread from the shaft
  7. Move the cone/cylinder primitive into place and union the parts
  8. Move the sphere/cylinder primitive into place and intersect the parts

If you want to do this in a nut or hole, use the same principles. You just need to reverse the thread profile such that it’s pointing outwards into the hole before sweeping and subtracting.

A & B Tip 1 – clean slate

In this series of posts, I’ll be providing tips that show how to do something in both AutoCAD and BricsCAD, hence A & B.

The Series

The idea behind this series is to provide useful information for several sorts of reader:

  1. AutoCAD users.
  2. BricsCAD users.
  3. People in the process of transitioning from AutoCAD to BricsCAD and who need to know what to do differently (if anything).
  4. People considering transitioning from AutoCAD to BricsCAD and who want to know about the differences and similarities.

Clean Slate

This first post explains how to convince your CAD application how to start in a ‘clean slate’ state – i.e. bypassing all interruptions and starting with your default template drawing, all fired up and ready to go. But first, some history. If you just want to get to the meaty bit, skip down to Summary at the bottom.

History

Once upon a time, long, long ago, when you started AutoCAD you would be presented with a Main Menu like this:

Before you could start drawing or have access to any interface elements, customization or programming, you had to pass this virtual gatekeeper. This persisted long after most applications had discarded this approach, and it made AutoCAD look rather old-fashioned. Then, in 1992, Release 12 arrived, which discarded this menu. It just threw you into the drawing editor at startup. You could do what you wanted from there, no gatekeeper required. The masses rejoiced, because this made perfect sense.

Later, in AutoCAD 2000i, Autodesk had apparently forgotten what a terrible idea it was to have a gatekeeper and reintroduced one. A pretty awful one. Slow, ugly, obstructive, unconfigurable and programmed using entirely the wrong tools, it was an excellent example of how not to do an interface. Despite many complaints, it remained in place until AutoCAD 2004, when Autodesk regained its senses and discarded it again, to near-universal applause.

In order to prove that Autodesk’s corporate amnesia on this matter was a permanent condition, Autodesk would flip-flop several times over AutoCAD startup screens. Every time, the new workus-interruptus device was introduced with a fanfare, until a bit later when it was unceremoniously discarded. In some cases, the unlamented former best-thing-ever was replaced immediately by another, without even a single unobstucted release inbetween. I won’t bore you with the whole saga, but will instead take you forward in time to one step before what we have now.

AutoCAD 2015

AutoCAD 2015 introduced a thing called the New Tab. Start up AutoCAD and you would be presented with something like this.

To convince AutoCAD that you don’t want to see this, set the system variable STARTUP to 0 (the default is 3). (Note: the STARTUP system variable dates back to AutoCAD 2004, but its function has changed over the years). Assuming you have specified a default template file, the next time you start AutoCAD you will be placed straight into the drawing editor, ready to work.

If you decide you want to see the New Tab after all, you can always use the NEWTAB command to invoke it directly.

But wait! That’s not the end of the story. If you close the last drawing tab without closing AutoCAD, the New Tab will appear again. If you don’t want the delay associated with this (and in some environments that delay can be 30 seconds or more), you may wish to disable it altogether. To do this, set the NEWTABMODE system variable to 0 (the default is 1). Once you do this, not only will you not see the New Tab accidentally, you’ll also not be able to get to it intentionally, because the NEWTAB command will be disabled.

With NEWTABMODE=0, if you close the last drawing tab, you will be placed in a blank grey screen with very limited functionality, as in previous releases. If your menu bar is turned on (MENUBAR=1), a set of three pull-down menus (File/Window/Help) is visible.

AutoCAD 2016 to 2019

In AutoCAD 2016, the New Tab was tweaked and renamed. It became the Start tab. This was pretty much the same thing, but of course the commands and system variables changed. One thing that didn’t change was the STARTUP system variable, which you still set to 0 to go straight into a drawing.

One difference is that the Start tab is still displayed in the list of tabs even with STARTUP=0. Unlike AutoCAD 2015’s New Tab, the Start tab does not include an X to allow you to close it. Instead of the NEWTAB command, you use the GOTOSTART command to switch to the tab that’s already there.

To make to Start tab go away completely, you need to set the STARTMODE system variable to 0. With this done, you have the same situation as AutoCAD 2015 with STARTUP=0 and NEWTABMODE=0. You still need to configure your desired default template, of course.

While we’re still on AutoCAD, I should mention that there’s a command-line switch (i.e. it can be used in your startup shortcut) called /nologo, which prevents AutoCAD showing its logo on startup. I haven’t discerned any performance benefit in doing so, so I don’t bother. (Edit: YMMV – see comment below). You can also specify your startup template using the /t command-line switch.

Edit: I have covered /nologo’s effect on performance in more detail in the post A & B Tip 3 – benchmarking – /nologo or no?

BricsCAD

What about BricsCAD? Well, it has its own startup screen, but it’s not part of the drawing tab interface.

Like most things in BricsCAD, its faster than AutoCAD’s. It’s simpler, smaller and yet provides more functionality. For a brief overview on how it works, see Heidi Hewett’s post BricsCAD Journey – Part 3: Welcome to BricsCAD.

While I still prefer to work ‘raw’, I find the BricsCAD startup the least offensive of any I’ve used. I actually have a use for some of its features, particularly when setting up profiles, and so don’t turn it off until I get into real production mode with a new release. Then I make it go away.

It’s easy enough to turn off, using the Don’t show this window again toggle at bottom right. This is equivalent to setting the system variable GETSTARTED to 0 (the default is 1). That’s it. If you change your mind later, just set GETSTARTED back to 1.

What happens with GETSTARTED=0 is determined by the STARTUP system variable. If STARTUP=1 then the Create New Drawing wizard is launched:

You probably don’t want this either, so set STARTUP to 0. As in AutoCAD, you’ll want to ensure your default template drawing is specified so you go straight into a blank drawing. If you don’t do this, BricsCAD displays the Select Template dialog which you probably also want to avoid.

The default template drawing is defined by the BASEFILE system variable. You can set this system variable directly, or through SETTINGS > Program Options > Files > Templates > Template.

Summary

AutoCAD 2015

STARTUP = 0
NEWTABMODE = 0
OPTIONS > Files > Template settings > Default template filename for QNEW > [your template]

AutoCAD 2016 to 2019

STARTUP = 0
STARTMODE = 0
OPTIONS > Files > Template settings > Default template filename for QNEW > [your template]

BricsCAD

GETSTARTED = 0 or SETTINGS > Program Options > User preferences > Get Started
STARTUP = 0 or SETTINGS > Program Options > User preferences > Startup
BASEFILE=[your template] or SETTINGS > Program Options > Files > Templates > Template > [your template]

Adding Express Tools to BricsCAD

If you’re evaluating BricsCAD to replace AutoCAD, you might be put off by the apparent absence of the Express Tools. Don’t be.

First, some express tool commands have been added to BricsCAD as native commands, such as OVERKILL and TXTEXP.

Next, the Express Tools menu can be added, thanks to a free add-on by Martin Drese (CADwiesel). Here’s the step-by-step process:

  1. Go to the Bricsys Applications page.
  2. Start typing “EXPRESS” into the search box. You should be pleasantly surprised to discover that by the time you’ve typed four characters, what you are chasing will already be displayed for you:
     
  3. Click on the Express Tools box, turn on the checkbox and then pick Download.
  4. If you’re not already signed in with your Bricsys ID at this time, you’ll be prompted to do so. You should have created this ID when you downloaded the main product.
  5. The download (a straightforward one; no nasty download managers involved) is a 3.6 MB zip file. Unzip this to a location of your choice.
  6. As described in the file Install Notes Express Tools for Bricscad V18.pdf, copy the Express folder to the BricsCAD installation folder (e.g. C:\Program Files\Bricsys\BricsCAD V18 en_US). You’ll need admin access for this step.
  7. Add that location (e.g. C:\Program Files\Bricsys\BricsCAD V18 en_US\Express)to the BricsCAD search path (Settings > Program Options > Files > Support files search path).
  8. If you already have a file called on_doc_load.lsp in your search path (this is the equivalent of acaddoc.lsp), then add this line to it:

    (load “Acetutil.des”)

    If that file doesn’t already exist, you can just copy the one from the unzipped location to anywhere in your search path (e.g. the path you just added – C:\Program Files\Bricsys\BricsCAD V18 en_US\Express).

  9. Close and restart BricsCAD.

This is more involved than your typical AutoCAD app store installation, but as a CAD Manager I do like the fact that these are straightforward steps that I can automate in a custom environment such that the users have no need to get involved.

The end result is a Pull-down menu (if you have that turned on – MENUBAR 1 if you don’t) that will be familiar to you:

There are also four toolbar menus:

If you’re using a ribbon and don’t want to see toolbars, substantial manual effort is required to add Express Tools to the ribbon interface. If you are interested in me doing a further post explaining how this is done, please add your comments to this post.

Most of these tools will work with all BricsCAD variants. Some of them require OpenDCL support which is not available in the Classic version, so you’ll need a minimum of BricsCAD Pro (that’s the second level) for complete functionality.

It’s worth noting that the various API LISP functions (acet-xxxx) that are added to AutoCAD by the Express Tools are also there in BricsCAD. Unlike AutoCAD, they are native functions; they can be relied on to be there in BricsCAD, regardless of whether or not the Express Tools add-on is installed as described in this post.

Also unlike AutoCAD, the functions are supported. If there are any problems, you can report them (with, in my experience, a reasonable expectation of them being fixed in a short timeframe by Torsten Moses), rather than being fobbed off by an uninterested Autodesk.

If you go back to step 2 above, see the box that says LISP Developer Support Package (LDSP)? If you code in LISP (with or without BricsCAD), I suggest you download that package. Among many other things, it documents the acet-xxx functions.

Edit: I should point out that R.K. McSwain covered much of this ground earlier this year.

Has Autodesk broken your old licenses?

I’m seeing multiple recent complaints from people stating that their older but perfectly legal perpetual license AutoCADs are being broken. They’re also reporting that Autodesk is being less than helpful about fixing the problem in any reasonable kind of timeframe. Whether this is a deliberate act or yet anotherthis won’t happen again” screw-up is difficult to determine, but either way it’s pretty obnoxious. People paid a lot of money for this software and they deserve to have it working.

Original Red A figure copyright Autodesk, Inc. This derivative image was created from scratch using BricsCAD V18 and falls under fair use (commentary, criticism).

If you have an old release lying around for whatever reason, maybe you’d better check to make sure it’s not broken.

Autodesk, if you can’t get your licensing act together, I hope you’ve budgeted enough to provide full refunds to everyone with an old license. Millions of them. Thousands of dollars each. That’s quite a few billion dollars. No? Don’t have that in the piggy bank? Better get cracking, then.

To those people stuck without a working AutoCAD who need to get work done while fighting Autodesk, regular readers of this blog will be able to tell you know where to go to get 30 days’ relief. File under told you so.

Has this happened to you? Please comment and provide the details.

Importing SketchUp files into AutoCAD

Do you have a SketchUp (SKP) file you need to import into a DWG? Need to know how to do it? Tried it but it didn’t work? This tip is for you.

If you’re using AutoCAD 2016 to 2019 for Windows, you can download and install the SketchUp Import plug-in from the Autodesk App Store. If that goes according to plan, this will add the command IMPORTSKP to AutoCAD. You may need to restart your AutoCAD first. It’s straightforward enough; select a file to import and it becomes a block in your drawing.

Reading the reviews for this add-on, it’s clear that it’s not working for many people. If it does work, it only imports SketchUp files up to 2017 format (2016 on 32-bit AutoCAD).

What if it doesn’t work? What if it does work but you have an unsupported 2018 version SKP file? Well, this post could arguably fit into the Why every AutoCAD CAD Manager should have a copy of BricsCAD series, because this is an example of BricsCAD acting as a workaround for AutoCAD limitations. SketchUp files are supported in BricsCAD’s native Import command, no add-ins required. If you have BricsCAD V18.2.10 or later, 2018 version SKP files are supported. If you have an earlier version of BricsCAD you can download the latest here.

Importing SKP files is also supported in the free BricsCAD Shape application, but at the time of writing the version is V18.2.06, which only supports SKP files up to 2017 format.

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

Why every AutoCAD CAD Manager should have a copy of BricsCAD – part 5, LISP

This is the fifth 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 is about BricsCAD being better than AutoCAD at the one thing that made AutoCAD win the race against its competitors back in the 80s – LISP. That is, AutoLISP (added fully to AutoCAD in Version 2.18) and Visual LISP (fully integrated with AutoCAD 2000).

If you’re a good AutoCAD CAD Manager, you’ll already know the reasons LISP is an extremely important tool, so I won’t cover them here. I may explain those reasons in a later post, but that would distract us from the main point. Why is having a copy of BricsCAD useful to a CAD Manager?

  • BLADE. I’ve covered the BricsCAD LISP Advanced Development Environment in various posts already, and I intend to go into greater detail in future posts. There are enough advantages over VLIDE to warrant an entire series of posts. This is simply the biggest advance for CAD LISP in 20 years; if you’re doing any reasonably complex development in LISP and you’re not BLADE, you’re wasting time and money.
  • Performance. Because BricsCAD’s LISP engine is much more modern than AutoCAD’s, the performance is much greater. In my experience, it’s about three times as fast. Some function calls are as much as 30 times as fast. If you have a user who’s complaining that your routine is taking an age to process in AutoCAD, try it in BricsCAD instead. I once saved a user half an hour in processing time for one polyline by using BricsCAD. Another aspect that will benefit you when programming and testing is BricsCAD’s generally superior performance. Got nothing running and want to get programming in the next 5 seconds? Fire up BricsCAD. Want to do a complex process on a big drawing that makes AutoCAD run out of RAM? Try it in BricsCAD.
  • Licensing. While you’re developing in BricsCAD, you’re not using up an expensive AutoCAD license. You’re using a cheaper (or even free, while you’re evaluating it) BricsCAD license. Also, it’s a perpetual license so if you ever stop paying, you can keep developing as long as you like. Oh, and it’s not going to flake out on you on those days where Autodesk’s subscription licensing server has a meltdown.
  • Extra functionality. BricsCAD’s LISP has the AutoLISP and Visual LISP functions and then some. Some of the DOSLib functions are available without even needing DOSLib, but if you need the full set of DOSLib functions they can be loaded, as per AutoCAD. A range of extended functions are available with the vle- prefix, and the LISP Developer Support Package documents these and provides the source code so you can also use them in AutoCAD.
  • Platform independence. AutoCAD for Mac has severely restricted LISP capabilities, making it unsuitable for use in a professional, efficient custom environment. BricsCAD for Mac and BricsCAD for Linux both provide practically identical functionality to the Windows version. Yes, BricsCAD for Mac really is significantly more AutoCAD-compatible than AutoCAD for Mac.

I do my LISP development in BricsCAD these days, and can attest that it’s well worth the investment in time to get the hang of BLADE.

It will cost you a few minutes to download and install of an evaluation BricsCAD and check out the LISP situation for yourself.

Edit: it’s not just LISP. See James Maeding’s comment below about .NET, too.

An email exchange with a friend about AutoCAD

Here’s an email exchange I just had with a friend. He’s a local person who I don’t normally discuss CAD with. He works for an architect. He has given me permission to use this discussion here.

Hi Steve,

We are looking to update from 2007 and 2010 versions in the office to more recent versions of Autodesk’s AutoCAD.

We don’t need full version but if that’s what is available ok then. Lite version is ok as we use for 2D architectural only. We use other packages when 3D work required.

We also have call to open consultants drawings which may be prepared on full versions or other packages.

Can you let me know what the last version that didn’t require the annual subscription and is available and likely cost?

Much appreciated if you could help.

Cheers

Here’s my reply:

You’re out of luck. Regardless of the release, you can now only pay for AutoCAD by annual subscription (which now means rental and used to mean pre-paid upgrades). Cost is currently AUD $2605 a year. Autodesk occasionally does an “upgrade” promotion for old releases but it’s really just a rental discount (15% at the moment) and means throwing away your perpetual license. If you stop paying, you have nothing, not even your old release. Here’s the link:

https://www.autodesk.com.au/products/autocad/subscribe

There’s currently a 20% off deal for AutoCAD LT rental at AUD $460 a year, which ends in a couple of days:

https://www.autodesk.com.au/products/autocad-lt/subscribe

If you just want to convert back to AutoCAD 2007 or 2010 DWG format and work in that, you have a few options. One is Autodesk’s DWG TrueView, which is a free very cut-down AutoCAD that will allow you to open new DWG and save in earlier releases.

https://www.autodesk.com.au/products/dwg/viewers

Another free option is BricsCAD Shape, which actually gives you more open/save options for drawings than AutoCAD itself, as well as being a 3D architectural modelling application.

https://www.bricsys.com/en-intl/shape/

There’s another free 2D application called DraftSight but that’s not keeping up to date with the DWG versions (it’s still on 2013 format):

https://www.draftsight2018.com/

If you want an AutoCAD-like perpetual license product for 2D drafting that will work directly with the current DWG format, you can’t go past BricsCAD. Works just like AutoCAD, uses the same files, up to date with current versions.

Full perpetual license is AUD $765 for the Classic version or AUD $1010 including a year’s maintenance. After that, keeping up to date at AUD $320 per year is cheaper than any option Autodesk has, even for renting LT. You can alternatively just pay your $765 once and do the buy-upgrades-whenever-you-want thing that Autodesk stopped doing years ago. It also gives you an upgrade path to full 3D and even BIM if you want to do that further down the track.

https://www.bricsys.com/en-intl/bricscad/

It’s a quick download and install which won’t harm your AutoCAD installation. You’ll probably find BricsCAD will work noticeably faster than any recent AutoCAD, which has got very bloated in recent years. This is particularly obvious if you’re running older hardware.

No, I’m not on commission!

Why every AutoCAD CAD Manager should have a copy of BricsCAD – part 4, efficiency

This is the fourth 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 is about BricsCAD being more efficient than AutoCAD for some of the things a CAD Manager might need to do. What do I mean?

  • BricsCAD starts up and closes down faster than AutoCAD, much faster in some environments. If your AutoCAD starts up slow (e.g. in some secure proxy server environments), pretty much any job you need to do to a user’s drawing that involves getting in, doing something quick, saving and getting out again is likely to be finished in BricsCAD before AutoCAD is even open.
  • If you perform a more complex operation on behalf of a user that is likely to take a while, there’s a better-than-even chance that BricsCAD will do it quicker than AutoCAD. In some cases it will do it much quicker (e.g. drawing compare).
  • BricsCAD tends to be able to cope with large drawings while using less memory than AutoCAD. If you have a user with a huge drawing who can’t work with it any more in AutoCAD and you need to split, purge or simplify it before it is usable, the very process of doing that in AutoCAD can itself be unworkably slow. Try the same thing in BricsCAD and there’s a good chance you’ll get the job done in a fraction of the time and without the same level of frustration.
  • If you perform a batch process that operaties on a set of drawings, under most circumstances it will be finished in BricsCAD well before the same thing is done in AutoCAD. Maybe this means you can process a set of drawings over lunch rather than wasting all afternoon on them or waiting until home time before setting the batch going. Plus you’re occupying a cheap BricsCAD license rather than an expensive AutoCAD one. Also, because BricsCAD uses much less RAM than AutoCAD while running, you can run your batch processes on that old PC sitting in the corner rather than having your top user sitting around watching your top spec PC grind away.
  • Certain user interface structures in BricsCAD are much more logically arranged and efficient to use than the AutoCAD equivalents. For example, if you have a drawing with an obscure setting that needs changing, unless you have an impeccable memory, you’ll find that setting much more quickly using the BricsCAD Settings command.

As I mentioned in my last post, this series is all based on stuff I’ve done in real life as a CAD Manager for a primarily AutoCAD-using company. Feel free to add your comments with your own experiences, even if they differ from mine.

It will cost you a few minutes to download and install of an evaluation BricsCAD and check out the performance and efficiency for yourself.