Walk and Fly are available only in perspective views.

Walk and Fly are available only in perspective views.

All of a sudden, this dialog box started popping up again while performing a 3DOrbit inside AutoCAD Architecture.


After checking this thread for a solution and finding none, I offered the following:

Add the following to your section in your FixedProfile.aws

 <HideableDialog id=”VMToolsUI.WalkFlyToPerspectiveView” title=”Walk and Fly – Change to Perspective View” category=”Navigation” application=”” result=”1001″><Preview><TaskDialog Source=”/AcTaskDialogs;component/TaskDialogs.xaml” Id=”VMToolsUI.WalkFlyToPerspectiveView” xmlns=”clr-namespace:Autodesk.Windows;assembly=AdWindows”></TaskDialog></Preview></HideableDialog>

Make sure you do this while AutoCAD is not running, or the fixedprofile.aws file will get overwritten when you do close AutoCAD.

ACA: Automating workstation counts per squarefoot

ACA: Automating workstation counts per squarefoot

We have been successfully using ACA rooms to meet program needs for one of our primary clients. Their requirements are based on a specific square footage formula for determining how many workstations should exist within certain room types.  Recently they added additional room types beyond “Office” that also require workstation counts.  In addition to the increase in room types, they also increased the workstation counts per square foot.  On top of the those requirements, there is always a need in this business to override an automated value based on room geometry or other constraints, so the automation had to be flexible.  The current workflow for overriding the count involved deleting the default room tag and replacing it with an alternate tag containing an attribute. Because I had to revisit the formulas, I took an opportunity to streamline the workflow while adjusting the formulas.  I reduced the workflow for overrides from 12 clicks to 5 and eliminated the alternate room tag in the process.The original room tag had values being constructed via a formula, in a custom property set definition (psd) field called WS_Count.  It was set up to always display the rooms square foot value by reading the gross area field from the RoomObjects psd.  A relatively simple formula was used to check the space name and when “office” was in the name, the WS_Count value was concatenated to include a workstation count.  The tag looks like this in operation:

As you can see from the image above using the same tag for both spaces results in a workstation count being displayed in office types and just the square footage for other type of rooms.  This is accomplished with some simple statements inside the object based psd.  Note the Space name is standardized and controlled by pulling from a list and is style based.  To create something similar, you could introduce the following function in a psd field.

The logic within the above sequence first checks to see if the list based style name contains the word “office” if it does not, it will skip all the down to the Else statement and simply return a string containing the “GrossArea” automatic property of the room object which is concatenated with a space and the letters “SF”.  If the space type contains the word “office”, then the value of the “GrossArea” automatic property is checked from smallest to largest using a “less than” comparison.
This tag was working well for this clients projects, but based on the previous mentioned changes, I introduced two new fields into the psd (WS_Override & WS_Detect) to eliminate the non coordinated overrides and to reduce the multi-view block count by 1. Because I wanted the value of the workstation count to always get calculated, I added a simple “less-than” function to calculate the count in the new property field titled: WS_Detect as shown below.

This function checks the string value from the property WS_Count to see if “WS” is found, meaning that the room type required a workstation count, and checks the new property WS_Override to see if its value is defaulted to 0 representing no override.  If both prove true, then the square footage is calculated based on the square footage program requirements set by the client using a similar “less-than” approach.  If either value is false then the manual integer based property value of WS_Override is used.

With the two new properties in place, anytime an override is needed because of space geometry, pilasters, or other obstructions that might require a deviation from the program, the designer simply places a positive value in the WS_Override property of the space. With the calculated value being tracked in a separate property, the original WS_Count property formula was modified as follows:

The original space type check was modified using the boolean “Or” to check for “Office” as well as the new space types that also get workstation counts.  If no workstation count is required, then the formula skips to the Else statement and simply presents the Square footage value as before.  If a workstation count is required, then the logic begins to check for a positive value in the WS_Override property.  When a positive value is found, the formula concatenates the square foot value with the workstation count from the WS_Override property.  If no override is in place, the original program based workstation count is used by concatenating the square foot value with the WS_Detect property.

The room tag multiview block was created using the following psd properties within an attributed block as shown below.  This block is used as a display block within the multi view block.


Note: in the above attributed block definition the middle line contains a simple text object with the letter “x” to allow the length and width size to be displayed.  I set the Length as right justified and the width to be left justified.  The first and third lines are middle center justified.

To give visual feedback to the designer as they are placing the spaces, I added a display theme to color the spaces based on workstation count.  I also added a room based schedule to display the workstation counts and provide a running total.  This schedule is set to automatically add new spaces and to search within blocks so that it is always up to date.  This setup is estimated to save approximately 10 – 15 minutes per project every time the plan is created or changed.  This is projected to save the company more than 80 man hours per year. It also eliminates counting errors and inaccuracies which may be introduced through human error.  The image below shows the original space layout on the left with the new display theme based layout and legend displayed on the right.

An image of the schedule that maintains tracking of Workstation Count is shown below.

The image below shows the settings used for the display theme.

Finally, the formula used in the Workstation Count Schedule is provided for reference.

The above formula checks the psd property WS_Count for the string “WS” indicating a workstation count is being calculated based on the space type.  If the formula doesn’t find the string then the workstation count is set to a value of zero. If it finds the string “WS”, then the value of the property WS_Override is checked. If it is greater than zero, its value is used directly, if not, then the value of WS_Count property is parsed using the split function.  The split is based on a space value and the third element of the resulting array is returned, which is the workstation count.

Let me know if this helps in your work. Here is a tip, you can cut and paste formulas like these shown in this blog post into the editor in ACA, but you’ll need to highlight any values found within square brackets and double click to replace the property set data using the interface. I frequently do this when working with a long formula.  I’ll copy it out of a working example into notepad, add the necessary logic, and then paste back into the formula editor. When you paste it back in, look for any bracketed properties that do not display the dark background.  You’ll need to replace those by highlighting them and then double clicking on the property from the object list below the code area. Use the sample results area as a check.

When the sample results area displays a proper sample value you are ready to use it.  Below you’ll see an example of the property formula editor in both working and non-working order.  Remember if you see the formula in the sample results area, you still have some replacements to make.

ACA: Double Click Schedule Table to Update

ACA: Double Click Schedule Table to Update

Of course you can always set an AutoCAD Architecture Schedule Table to update automatically, but when you choose to leave that property setting set to no, it would be nice to be able to double click the table and have it update, rather than simply show the properties.  Since the updateschedulenow command is not directly available in the cui editor (it didnt appear in searches using schedule, or update keywords), you’ll have to follow these directions to create a double click behavior after creating a custom custom command.  Here are the steps:

  1. Access the CUI editor – Type cui and hit the enter key.
  1. Choose the Main CUI – Use the selector to choose the main cui file
  1. Create a new double click action – Right Click on the Double Click Actions Node and choose Add new double click action
  1. Name it what you want, I named mine Schedules.
  1. Create your new command, by clicking on the star icon as shown in the image below.
  1. You will get the skeleton of a command created automatically as shown in the image below.
  1. Name your command Update Schedule Now – also add a description, the command display name and add the following macro:  ^C^C_ScheduleUpdateNow   You can select the OOTB icon from the selection provided as shown in the image below. It is named RCDATA_SCHEDULE_TABLE_UPDATE
  1. Now drag your new command to the Double Click Action and drop it on top of the node.
  1. Close the CUI editor to complete this task and update your main CUI with the new tool.
Flush your Undo – AutoCAD

Flush your Undo – AutoCAD

As I roll out the 2014 versions of Building Design Premium, a designer sent me the following warning message from AutoCAD:

Warning! The undo file length is 1569321556 bytes.  Undo will be automatically disabled at 1750000000 bytes to prevent overflow…

Although I’m not sure what an UNDO Overflow would look like, rather than soil the carpets with all those abandoned and rolled back activities, I decided to investigate further.  I recommended that the designer saveas to ensure no data was lost and then began an investigation.

The solution:

  1. Use Saveas to write the file back to the harddrive or network location in case of a potential fatal error.
  2. Clear out the temp folder – Use %temp% in the file dialog and delete files found.
  3. Flush the Undo register – Type Undo – C – All

For more info refer to this Autodesk technical reference.

Autodesk Building Design Premium Deployment Modification – Verticals First

I had to revisit some deployments I created recently to modify some content locations.  On any deployment that had both AutoCAD and an AutoCAD based vertical package (ACA or MEP), the deployment modification routine would hang when I tried to modify either the ACA or AMEP product if I had modified the support paths in the AutoCAD versions (AutoCAD or Struc Designer) first.I was able to restore the paths to default by modding the AMEP, then ACA, then Struc designer, then AutoCAD.  If you run into this, try modding the paths in the above order.

Hatch Origins to the Rescue

Problem:   A designer calls and asks for a new hatch pattern for gravel.  Further inspection reveals that the standard gravel pattern was used, but when viewed it looks like many random intersecting lines rather than the rounded gravel pattern they were expecting.
Solution:  Pick the hatch pattern and use the edit hatch command. Pick a new origin point close to the hatch object. Click ok and watch your hatch magically restore itself.
Sometimes, hatch patterns do not display correctly when their origin point is a large distance away from the hatch itself. This occurs frequently in metric – imperial conversions.
Note: Watch out for masonry patterns. Ensure your new origin displays the correct masonry coursing.

Exploded Attribute Text will not be visible when referenced

Remember to check your “Insert” options when bringing in blocks with attributes. You NEVER want to insert those type of blocks with the “Explode” option still toggled on.  Nevertheless, this is a frequent hurdle for designers who are not as familiar with attributes as they SHOULD be.What is confusing for designers is the fact that they can see the text and think it is a value, but it is typically the attribute tag they are seeing.  The typical steps they take to resolve before requesting assistance include:

  • They double check the entity layer, and find it on a plotting layer
  • They check the reference layer and find that it is thawed, on, and plottable.
  • It is visible in the drawing (xref file) where it is placed, but when that dwg is externally referenced into another file, the text values do not show.

Quick Fix:  Copy the tag name to the “default” value text box when editing the attribute definitions, then cut the definitions to the clipboard and reinsert using “Paste” as block.  Save your file, reload the xref, and your text will magically appear.

Best Practice:  Understand the difference between simple text/mtext and attributed blocks. Ensure that you don’t inadvertantly leave the “explode on insertion” option toggled on in the Insert block dialog box.

Google Earth Color Drape on AutoCAD Mesh – The EASY Way!

Google Earth Color Drape on AutoCAD Mesh – The EASY Way!

The google earth extension from autodesk labs makes it really easy to drape a google earth image over a 3D mesh inside AutoCAD.

Importing the Google Earth mesh (IMPORTGEIMAGE) results in a black and white overlay of the google earth image on your mesh.  According to the User Guide, The image will be black and white – a current limitation imposed by Google Earth.

Unfortunately, the image IS black and white as you can see above and draping your own color export has been somewhat difficult within AutoCAD Architecture due to the differences in the material editor.  Until Now that is!

Rather than struggling with the materials editor and image scaling, why not simply swap your images to get the color drape you’ve been looking for!

Import your mesh into AutoCAD Architecture 2011 after you’ve loaded the GE cui file (Note: Use cuiload and change the filetype to legacy cui to load the toolbar shown below, then click the import ge mesh tool and place your mesh. I used 0,0 and a rotation of 0.)

Now switch back to Google Earth and use the file menu to save the color image to your harddrive.

Notice that the color image exported and the automatic material created by the extension have the same image dimensions!
Now open the color image you exported and saveas overwriting the material image found in the local settings folder for your Acad installation.

Note: to find this image, enter the following path in your explorer address bar:

%userprofile%local settingsapplication dataautodeskaca 2011enu

Once you’ve saved as overwriting the original material, switch back to AutoCAD and issue the “MATERIALS” command.  Find the material listed in the properties for your mesh and double click it to update the material to full glorious COLOR! Watch the video below to see it in action!

See, I told you it was Easy! I hope this helped you!


ACA 2011 – Where is Unisolate Object Command

I was tweaking the ACA Menu keyboard shortcuts today and couldn’t find the Unisolate Object command… seems it has been renamed to “End Isolation” – make that CTRL + U and you’re good to go again!

Legacy VBA Error – For next loop may really mean If end if.

I was updating some legacy VBA code today and had to add some additional logic to a function. When I click the run button, I was faced with this dialog box
A quick check of the code indicates that there IS a closing “NEXT” statement for the “For Each…” loop. When this happens to you, check any “If….” logic constructs within the “For … Next” loop. Chances are you’ll find a missing “End if” statement.