As part of my preparing an AutoCAD drawing for my office’s layering system I managed to insert layers into a drawing from Excel using only scripting.
However the creation of a line and a text on each of the layers, so that users can copy and paste to get the layers etc. into new drawings, needed full AutoCAD and its access to LISP to create these quickly.
The script below is a modified (larger text and longer lines) version of a script, kindly written, from here.
Now you have type STARTMODE and set the variable to 0. Then type STARTUP and set it to 0. Now you will have a blank drawing on startup. Don’t forget to set the default drawing for QNEW otherwise you will get the default template.
In this tutorial I am going to refer to two UCS commands I have written to get around the lack of easy plan rotation in AutoCAD LT. In full AutoCAD you get a rotation box in the upper right corner that looks like the one below. This is unfortunately not available in LT.
These are a bit more automated version of the tutorial I have posted before as I decided that even that was too much effort!
The first macro rotates the UCS back to world and takes the plan view with it. This avoids the need for UCS follow being set to 1 and the annoying zoom extents bug it has.
So lets break down the macro above. Its just a simple chain of commands to do with the UCS and PLAN.
The first ^C^C at the beginning is escape twice to ensure that the command line is clear
Then the UCS command is started
Then the UCS command is told to reset to (W)orld
Then the PLAN command is started
Then the PLAN command is told to reset to (W)orld
Now the drawing is viewed in world view and the UCS is orientated the same way.
The second macro rotates the UCS to an object and then updates the view to suit.
So lets break this one down as it has something slightly different in its layout.
The first ^C^C at the beginning is escape twice to ensure that the command line is clear
Then the PLAN command is told to update to the (C)urrent
This formula can be used to make further buttons to emulate the plan rotate found in full AutoCAD or make any chain of commands work.
A quick way to create a macro is to run a command and follow the command line and write down your inputs and once you have completed the command you have the basics for putting together a macro.
Lets make a macro to rotate the UCS and PLAN to the right. Here is a copy of the command line and below that is a list of the command inputs and then the resultant macro.
Current ucs name: *NO NAME*
Specify origin of UCS or [Face/NAmed/OBject/Previous/View/World/X/Y/Z/ZAxis] <World>: z
Specify rotation angle about Z axis <90.00>: 90
Enter an option [Current ucs/Ucs/World] <Current>: c
So in my previous post, I went through the basics of the CUI editor, now I will run through the creation of a ribbon and populate that with panels and commands.
CUI file creation
In order to not disturb the main CUI file for AutoCAD and also make the customisations portable we will need to create our own file to contain the customisations.
To do this, go to the Transfer tab in the CUI editor and go to the right hand column and click on the icon next the drop down box that states “New File”.
This will bring up a windows file dialog. Browse to where you want to save this and remember where it was as we will need it for the next step.
Once you click OK you will be returned to the Transfer tab.
Now click on the customise tab and go to the drop down under “customisations in main file” and click open. Or you can click the folder icon next to this drop down (there is a third way to load files but I will run through that later).
This will open the blank CUI file that was created in the previous step.
Create a New Ribbon
Once you have your CUI open, make sure it is selected in the drop down rather than ACADLT.CUIX (or similar). Here it is called TEST.CUIX
The tree now displayed is everthing you can customise. There is a lot there! We will focus on the Ribbon section for now.
Click the plus next to the Ribbon and you will see TABS, PANELS and CONTEXTURAL TAB STATES listed. For now we are going to look at TABS and PANELS.
Right click on the word TAB and click “new tab”.
Once we have a panel we will be able to add them to the tab. Next up, right click on the word PANEL and click “new panel”.
I have called my panel, test panel. You will see that it has a launcher icon and an another icon called ROW 1. Under the rows is where you place your commands in order for them to show up on the ribbon.
There are three rows in the ribbon. If you need more the slideout is there to allow a larger panel. On my custom ribbon I have a slideout for lesser used layer commands that I sometimes use and find it hard to find in the other ribbon tabs.
Under each panel you can have sub-panels. This is a mini panel that has its own rows. This allows for large buttons and drop downs to be mixed with smaller buttons.
Lets add a new command. This is where scripting comes in. In the full version of AutoCAD you can call LISPs and write DIESEL commands straight into a button command (note that LISP and DIESEL are programming languages and will require knowledge of these to undertake).
However in LT you are limited to only MACROS. MACROS look complicated but are actually a representation of the command line inputs, just in one line.
You will notice that the command list is empty as this CUI file contains no commands.
In order to create one, click the little star to the right of the “All Commands Only” drop down.
I have called my command “test command”. Once created you will get a new properties box on the right with name, description etc. listed.
The main items to fill in are the name and the macro. This will create a button with a command built into it.
Here we are going to create a button that launches the plot dialog box.
The MACRO code for this (see my macro basics for an explanation):
Once the MACRO is inserted we will assign an icon so it can be seen easily.
Click on the small arrows on the properties and the button image selection box will be shown. You can assign images, create new ones etc. here.
You can also load an external file for the icon by clicking in the image box and then the three dots to the end of the box (see above image).
Here we are going to use the built in icon for plotting.
Making the Ribbon
Once you have completed the command. Drag the command from the command list to the ribbon panel row1 (see above). The command is now assigned to that panel.
Then drag the panel to the tab. The panel is now assigned to the tab.
Click Apply and then OK.
Your Ribbon should now appear at the end of the ribbon list.
If it doesn’t appear you can use the third method (mentioned earlier) of loading a CUI file. Type CUILOAD and a little box will appear.
Click your CUI file name and click “unload”. Now click “browse” and go where you cui was saved and then click “load”. Then click close. The ribbon should now work. I have found this works most of the time whilst loading within the CUI editor fails more often.
DO NOT click on the ACADLT one at the top and then click “unload”, this will break things horribly. If you do, you will need to browse to the ACADLT customisation file and load it again (this is usually stored under your profile in windows, for LT 2015 this is under “C:\Users\yourusername\AppData\Roaming\Autodesk\AutoCAD LT 2015\R21\enu\Support”
Previously I reviewed the basics behind why Ribbons are here and I will now continue to how one is created or edited using the editing inferface in AutoCAD.
In order to edit or create a ribbon you must first enter the editor that comes with AutoCAD for this purpose. Don’t worry it is built into AutoCAD so you won’t need to install a seperate program. This is called the CUI (or Customise User Interface).
It can be accessed by typing CUI on the command line,
or by going to the menu: tools –> customise interface
or as most of you will be using the Ribbon now (I hope!) you can find it under Manage.
Once you have the editor open you will probably be confused. There are many panes and sub-directories and other items that appear daunting. However I will break it down and actaully it is quite simple and fairly logical in the end!
All information for AutoCAD’s interface is stored in various files. More on those in a moment.
So we have two tabs, CUSTOMISE and TRANSFER and three panes PROPERTIES, CUSTOMIZATIONS IN ALL FILES and COMMAND LIST.
The CUSTOMISE tab is most of the work is done, under the “customisations in main file” section, there is a drop down. This lists the main customisation file (above the first line) usually called ACAD.CUIX or ACADLT.CUIX, however this could change on a vertical platform. I would not work on these as an upgrade could wipe any settings. Instead I would create a new file (that comes a little later).
There are usually a couple of files listed in the second section of this drop down, in full AutoCAD this is where express tools is loaded and under LT you usually get content explorer listed here. These are called partial customisation files as they do not contain information regarding the entire interface, rather only a part. We will be creating one of these partial files later on.
If you select one of these files the command list at the bottom changes to reflect the commands stored in that CUI file.
The properties on the right will display the properties of the current object selected, be it a CUI file, a ribbon, a toolbar or just a command.
The TRANSFER tab allows varies commands etc. to be moved from one file to another. Simples.
Previously AutoCAD had toolbars. These were easier to customise as you only had one component to edit. That is a blank toolbar to add buttons to.
The ribbon is slightly more complex as you have a blank ribbon that you add panels to and a blank panel that you add buttons to.
Theis complexity however allows for a greater amount of permutations and layout design. This functionality is intentional from the design inception allows for greater customisation than a set of toolbars could ever do. You can have larger buttons, drop down button selection and even context sensitve ribbons.
In this series I go through creating a ribbon, adding a panel, adding a button and then work through various button scripts that I have created over the years that might be of use for your new ribbon.
I have been using my custom ribbon since 2009 and whilst it keeps evolving its basic layou has not changed and I tend to have all my frequently used items on this one bar. This reduces the number of clicks considerably in a day!
Customising AutoCAD can be quite daunting so I thought I would produce a few posts to run through the process of customisation from creating a new Ribbon tab and ribbon panels from scratch through to adding your own buttons.
Button creation is probably the most important as they can contain scripts to optimise and speed up many tasks.
These posts will be within the Customisation Category.