December 30, 2012

ACA Ceiling Grids: Mask Blocks

First post in the series: ACA Ceiling Grids: The Cell Component
Previous post in the series: ACA Ceiling Grids: Anchors

AutoCAD® Architecture Ceiling Grids provide an easy way to generate a representation of the ceiling grid for an acoustical panel ceiling. And, as we have seen in previous articles in this series, they have feature that make it easy to locate and organize ceiling devices. There are occasions, such as when using 2x4 luminaires in a 2x2 ceiling grid,
where specific segments of the grid need to be removed. While you can certainly use linework to create a custom grid with just the grid segments you need, it can be tedious to update should design changes move things around. A Mask Block is an AEC object designed just for this situation - using one allows you to "hide" unwanted grid segments without the need for a custom grid, at the same time you are placing the the ceiling object that requires the removal of the grid segment.

In this article, we will make use of an out-of-the-box Mask Block to show how one is used. A future article will show how to create one.

The Design Tool Catalog - Imperial includes a 2x4 fluorescent luminaire Mask Block tool in Electrical > Lighting > Fluorescent, 2x4. For those using Metric units, the Design Tool Catalog - Metric has a 450x900 fluorescent luminaire Mask Block tool in Electrical Services > Fluorescent, 450x900. The images here were taken from the Imperial content. Using the tool to place the Mask Block results in what is seen in the image above. Select the Mask Block and, on the Mask Block Reference contextual ribbon tab, on the Modify panel, choose the Attach Objects tool.
At the Select AEC object to be masked prompt, choose the ceiling grid. In the Select Display Representation dialog, select the Display Representation(s) for which the object is to be masked.
The result can be seen in the image below.
You will only be offered the Display Representation(s) that is(are) turned on for the current Display Configuration and View Direction. If you need the mask to be applied to other Display Representations used by a different Display Configuration (for example, in addition to the Reflected Display Representation shown here, you may need to also apply the mask for the Reflected Screened Display Representation), you will need to change to a Display Configuration/View Direction that makes the other Display Representation active and repeat this process. If you routinely need to mask multiple Display Representations, you may want to create a "working" Display Configuration for reflected ceilings that has all of the various Display Representations for Ceiling Grids turned on, so you can mask all of them at once.

Anchors can also be applied to Mask Blocks, so you can use a node anchor to keep your 2x4 luminaire locked to a node of the grid, as discussed in the previous article. Since the insertion point for this Mask Block is at a grid point, no offset is required.

Note also that, unlike copies of anchored AEC objects, copies of the Mask Block will not inherit the mask. You can, however, select multiple Mask Blocks that occur within a single Ceiling Grid and mask them all at once, so it is probably best to place all of your instances and then apply the mask for all at one time. Once masked, you can move the Mask Block around in the same grid and it will continue to mask any part of the grid that falls behind the mask.

Next post in the series: ACA Ceiling Grids: Creating a Mask Block

November 29, 2012

ACA Ceiling Grids: Anchors

Previous post in the series: ACA Ceiling Grids: The Cell Component

One useful feature of Ceiling Grids is that you can anchor other AEC objects to the grid (just like any other AEC Grid). Once anchored, if you move the Ceiling Grid, the anchored object(s) will move with it, which makes small adjustments to ceiling grid locations much easier to do. You can find a number of Anchor tools in the out-of-the-box Stock Tool Catalog, in the Parametric Layout & Anchoring Tools category.
Many times objects placed in a gridded ceiling need to be centered in the ceiling panels.
You might think that the Cell Anchor would be the perfect anchor for this arrangement. While it will anchor a Multi-View Block to a Cell component of a Grid (which, if the insertion point of the Multi-View Block is at its centroid, would center it), it will, unfortunately, also rescale the Multi-View Block such that the X- and Y-scale factors of the Multi-View Block match the Cell's X and Y dimensions.
That is not likely to be the desired result.

You could place the object at the desired location and use an Object anchor to tie the Grid, and if the Grid moves, the object would also move, but that would not prevent the object being accidentally moved, since the object can still be moved independently of the Grid.

Using a Node anchor provides the best result.
For objects where the insertion point is not at a node of the Ceiling Grid, you can set X- and Y-offsets to position the object as desired. You can select the object and on the Properties palette, on the Design tab, in the Basic category, in the Location on node subcategory, select the Anchor worksheet. Change the X and Y values for Insertion Offset to move the anchored object relative to the Node to which it is anchored.

Depending upon how the Ceiling Grid was created, you may have to experiment with the sign applied to the offset values to get the object to the desired location. You may find it easier to select the object, right click and choose Node Anchor > Set Offset.
Then select the point to which you want to offset the object, in this case, snapping to the CENter of the Cell component will give the desired result.

The Node Anchor will prevent the object from being accidentally moved a small amount. The object can be moved, but only from one node to another. If you copy the anchored object, the copies will be anchored to a node of that grid, also, making it easy to place additional copies within that ceiling.

Next post in the series: ACA Ceiling Grids: Mask Blocks

November 09, 2012

Revit: "Blank" Dimension

I will leave the debate over whether or not you should ever do this to others, but thanks to a post by Joshua Kohl in the AUGI Revit® Architecture - General Forum, I now know how to create a dimension with absolutely no dimension value or other text showing. You may be aware that while you can override the dimension value with text, by double-clicking on the dimension text to open the Dimension Text dialog,
Revit will not allow you to enter a string that consists only of one or more Space characters here. But if you right click, a context menu will appear, and you can choose the Insert Unicode control character flyout, and then the Unit Separator (Segment separator) character.
The net result is a dimension string without any text.
I was able to do this in Revit Architecture 2012.

October 31, 2012

ACA Ceiling Grids: The Cell Component

Like all ACA grid objects, a Ceiling Grid has a Cell component, which marks the center of each cell in the grid. You may not be aware of this component, since, in the out-of-box Display settings, this component is turned off. It is also mapped to a non-plotting layer (G-Anno-Nplt for US imperial content), so turning the component on will not affect the final plotted output.
The Cell component displays as a circle at the center of each cell in the grid. You can use the CENter OSNAP to place ceiling objects at the center of a ceiling panel.

Next post in the series: ACA Ceiling Grids: Anchors

September 26, 2012

ACA 2013 Service Pack 1

Autodesk® has released Service Pack 1 for AutoCAD® Architecture 2013. According to the README, a number of items have been resolved, and an ability to disable the autoloading of AutoLISP or VBA on startup and to disable AutoLISP entirely has been added, to aid in dealing with malicious AutoLISP or VBA code. As always, be certain to read the entire README before installing Service Pack 1.

The following ACA defects have been addressed:

AEC Dimensions
  • Crash when saving a drawing originally in 2004 (or earlier) format, with AEC Dimensions on a locked layer. *
  • Some AEC dimensions created before version 2007 do not display correctly in later versions.
Annotation Scaling
  • Some tags are very small when added to drawings that use meters.
Autodesk 360
  • Synchronizing tool palettes to Autodesk 360 is very slow. This capability has been disabled with this Service Pack.
  • Online Render does not support AutoCAD Architecture objects.
  • Some double door styles with custom profiles do not display correctly.
Drawing Management
  • Intermittent crash when creating a Construct in Project Navigator, or when opening AutoCAD Architecture with a certain project current. *
Elevation Labels
  • When an external reference is bound into the drawing, its elevation labels will be reset to zero.
  • Occasional crash when editing grips for of structural members. *
  • Several improvements have been made to meet the requirements of IFC coordination view 2.0 and GSA certification.
Layer Key
  • Fatal error when layer key overrides from tool palettes and layer key overrides of current layer standard do not match. *
  • Content browser migration may fail when migrations are done multiple times.
  • Frequent crash when opening some drawings. *
Progressive update
  • Characters in certain fonts do not display correctly when the AutoCAD system variable setEnableProgressiveUpdate is yes.
  • In a Roombook schedule exported to Excel, the result is off by a factor of 1000 if the decimal symbol in Windows is set to comma.
  • Crash when exporting to Excel 2003 a Schedule table which includes a complex formula. *
  • Schedules created by Roombook move slowly.
  • The total sum values may be incorrect in schedule tables when grouping is first turned on.
  • The width of the schedule frame may be incorrect when grouping several columns.
  • Occasional crash when modifying an object that is included in a section. *
  • Crash while generating sections for big drawings or when using CreateHLR. *
  • New or refreshed sections are not correct in AutoCAD Architecture 2013 as many lines are not hidden.
  • Due to the large number of files in the Tool Palette, syncing AutoCAD Architecture settings to the cloud is very slow. Note: Once you apply Service Pack 1, you can no longer sync the AutoCAD Architecture Tool Palette to the cloud. **
  • Occasional crash related to certain wall cleanup conditions. *
Windows 8
  • Frequent crash when closing AutoCAD Architecture. *

The following AutoCAD defects have been addressed:

3D Navigation Tools
  • Unexpected exit while panning. *
  • Occasional crash related to navigating in 3D drawing. *
  • The Keep Scene Upright option in the 3DConnexion Settings dialog box cannot not be changed.
3D Modeling
  • Occasional crash while selecting a face during a Presspull operation. *
  • Crash when opening multiple 3D drawings containing a large number of 3D objects. *
  • Issue with the centroid computation for 3D solids.
Action Recorder
  • Action macros recorded in previous releases are not working correctly in AutoCAD 2013.
Autodesk 360
  • Crash in Japanese AutoCAD when logging into Autodesk 360 from the Options dialog box. *
  • Occasional crash when opening a drawing that contains xrefs, when logged in to Autodesk 360. *
  • Pressing F1 does not display Help for the ONLINESYNCSETTINGS dialog box.
  • Drawing files with names containing language-specific characters do not get saved to Autodesk 360.
  • User is not automatically logged in when launching Autodesk 360 from the AutoCAD ribbon.
  • Sometimes the Share Drawing dialog box opens behind the main application window.
CUI (Customize User Interface)
  • Occasional crash while loading a custom CUI file. *
  • Unhandled exception occurs while clicking the Customize button from Quick Properties palette on a computer running .NET 4.5. *
Customization Sync
  • Customization Sync progress animation runs continuously.
  • Customization Sync does not sync new custom commands in tool palettes.
  • Occasional crash while working with DesignCenter. *
DGN Support
  • Fatal error when attaching or importing certain DGN files. *
  • Export to DGN does not use the Global Origin specified in the seed file.
  • The DGNIMPORTUNITCONVERSION system variable is missing in AutoCAD LT.
  • Crash after undoing the creation of a non-associative continued or non-associative baseline dimension. *
  • Existing drawings lose Qleader settings when edited in AutoCAD 2013.
  • Dimensions created using the Perpendicular object snap will shift when the drawing geometry is moved, copied, or otherwise modified.
Display Drivers
  • Integrated chipsets are unable to return available video memory correctly.
  • When using COPYCLIP and PASTECLIP on a 64-bit operating system, you might see the object color change from the original color.
Express Tools
  • Occasional crash during a MOCORO (Move/Copy/Rotate) command. *
External Reference (XREF)
  • External reference drawings (XREFs) show as unresolved in AutoCAD 2013.
  • An object's angular property uses linear format instead of angular format in the Field dialog box.
  • Occasional crash while zooming during Hatchedit. *
  • The Hatch Preview option is not available from the context menu when creating a hatch.
  • Crash when clicking any option from the Stay Connected button in the title bar when no drawings are open. *
  • Crash while calculating area of a polyline that contains at least one segment that has been reduced to zero length. *
  • Multileaders incorrectly display a dot at the content block's insertion point.
  • If the Extend Leaders to Text option is turned on, the text in multileaders moves if the drawing is opened or edited in AutoCAD 2013.
  • The SCALE command gets cancelled while dragging when small scale factor is acquired with object snap turned on.
PDF Export
  • Plotting to a PDF file with a plot style causes wipeouts to appear black.
  • Slow performance while running a large script.
  • Slow performance while creating Layers quickly.
  • Occasional crash while plotting to PDF. * Crash while plotting to a PDF file and the PDF driver is not present. *
  • Crash while plotting to a PDF file and the PDF driver is not present. *
  • Using Plot Preview turns the Command window back on.
Point Cloud
  • Crash if the PCG file used to create a point cloud object does not exist. *
Properties Palette
  • When an object is selected, the tooltip is missing in the Properties Palette for the following languages: Traditional Chinese, Czech, Russian, and Hungarian.
  • The Visibility drop-down control on the Block Editor Ribbon is not working properly when property preview is enabled.
  • Pressing Shift with a window selection fails to remove multiple Drawing Views from the selection set on a layout.
Sheet Set Manager
  • A high network utilization will result with the SMB V2 (Server Message Block) protocol while working with the Sheet Set Manager.
  • Crash due to corrupt graphics cache files on startup. *
  • Crash occurs while canceling a LISP routine that runs at program startup. *
Visual Lisp
  • Menucmd does not display the drop-down menu when the Command window is docked.
  • Crash on undo/redo after adding 256 or more objects to a group. *
  • Crash on viewing thumbnail in AutoCAD 2012 when installed side-by-side with AutoCAD 2013. *
  • Occasional crash when exploding splines created by third-party applications. *
  • Crash when AutoCAD exits on computers running .NET 4.5. *
  • Error on launching AutoCAD after the QuickCalc palette is anchored.
  • INSBASE value is incorrect for a drawing created using -WBLOCK.
* - Indicates item was reported through the Customer Error Reporting Utility.
** - Well, that is certainly one way to fix a slow feature.

September 08, 2012

ACA: Grip Editing of Doors and Windows with Standard Sizes

One nice feature of AutoCAD® Architecture is that you can assign standard sizes to Doors and Windows. This allows the user to select a standard size from a list of the sizes entered into the Style, saving time and minimizing the potential for error.
Better still, when grip editing an instance of a Style with standard sizes, the inital default is to restrict the grip edit to one of the values that is part of a standard size. Does that mean that you cannot use such a style to create a non-standard size Door or Window? No. You can always use the Properties palette to enter a non-standard Width or Height. But you can also use grip editing to do so.

Given the wide range of things that grips on AEC objects can do, I highly recommend turning on grip tips, if you do not already have them on. Check the toggle in the Grips area on the Selection tab of the Options dialog or set the GRIPTIPS system variable to 1.
With grip tips enabled, if you select an AEC object and hover over a grip, you will get a tip on how that grip can be used. In the image below, a Window has been placed, using one of the standard sizes assigned to its Style. The Window has been selected, and the cursor is hovering over the grip, but the grip has not been selected (made "hot") yet.
The first line of the grip tip (yellow box) indicates that the Width and Height of this Window are currently a standard size*. The rest of the tip tells you that you have two options when using this grip - either stretching to a Standard Width (the initial default, as it is first on the list) or to a Custom Width - and that you can toggle between the two by pressing the CTRL key. If you start with a Window that has a Width and Height which are not paired as a standard size, the grip tip is nearly identical, with the exception that the first line indicates that the Window is currently a Custom Width*. The initial default remains to stretch to a Standard Width.
Many AEC grips have more than one state or function, and the tip provides a handy reminder of what those are and how to activate them. In general, the CTRL key is used to toggle through the available options.

When you first make the grip hot, you will be restricted to stretching the grip to a standard Width, as defined in the Style. ACA will display a series of lines, indicating the places to which you will be permitted to stretch the Window or Door. You can stretch to any Width that is part of a standard size, even if it is not paired with the current Height as a standard size. To show this graphically, "long" gray lines are used to indicate Widths that are paired with the current Height in a standard size, and "short" red lines are used to indicate Widths that are part of at least one standard size, but which are not paired with the current height in one. A grip tip will appear to remind you of this, if grip tips are active.

If you press the CTRL key once after making the grip hot (but before left clicking to select a stretch point), you will be able to stretch the grip without any restriction.

* - Unfortunately, if the current Window Width and Height are not a standard size, the tip for the Width grip will read "Custom Width", even if that Width does appear in the standard size list, paired with a different Height. The tip really should read "Standard Size" or "Custom Size", to be less confusing. NOTE: Images in this post were made using ACA 2010. Other versions may have slightly different graphics or text.

August 09, 2012

ACA and Plotting Image Borders

My firm is currently using ACA 2010 for most of our production work that is not being done in Revit. Our template file has the IMAGEFRAME variable set to 2, so that the frames are visible but they do not print. (We have all of the "frame" variables set to 2, which can be done all at once by using the FRAME command.)

I have found, however, after starting a new drawing, that the frames around images will plot, particularly those nested within an externally referenced file. I double check the file, and IMAGEFRAME is set to 2, yet the border shows on my plot. I have no explanation for this, but I do have a workaround - if I set the value to 0 (do not show or plot the borders) and then back to 2, the setting "takes" and the borders remain visible but do not plot.

July 22, 2012

Revit Architecture 2013 Update Release 1

Update Release 1 for Autodesk® Revit® Architecture 2013 is now available. As noted in the Enhancements Documentation, the following improvements have been made to Revit Architecture 2013:
  • Improves stability when closing a sketch editor, such as slab, site, etc., which create a large number of points.
  • Improves creation of U-shaped winder stairs.
  • Improves stability when editing winder stairs.
  • Improves performance when many railings exist within a project.
  • Improves stability when support type is not defined for stair.
  • Improves railing representation in coarse view.
In addition, the following enhancements have been made to Revit Platform 2013:
  • Improves stability when opening projects from previous versions of Revit.
  • Improves stability during Copy/Paste operations.
  • Corrects display of solid filled regions with transparent backgrounds.
  • Allows exporting of materials painted on elements to ODBC.
  • Improves performance of opening and closing sketch mode in projects with many families.
  • Improves stability when setting a Design Option as the Primary.
  • Improves stability when Fixed Distance option for a divided path.
  • Improves stability while browsing to Revit Server when there is no network connectivity.
  • Improves export consistency of Space and Zone elements when multiple elements have the same name and number.
  • Allows Raytrace mode to work with DirectX 9.
  • Improves stability when using Raytrace mode with Hardware Acceleration disabled.
  • Improves Raytrace mode rendering output.
  • Improves Surface Transparency override by element for multiple selection.
  • Improves printing consistency when tone mapping is enabled.
  • Disables Sun and SunPath from being rendered in Raytrace mode.
  • Improves stability when using manual exposure in Raytrace mode.
  • Improves stability when rendering views.
  • Improves stability and performance when using visualization features like Sky, Exposure, and Anti-Aliasing.
  • Improves stability when importing IFC data which contains special characters.
  • Improves the setting of custom parameter values during import of IFC data.
  • Improves stability when importing IFC data which contains an invalid line pattern.
  • Allows Markups from DWF to be exported to DWF.
  • Improves stability when drag and drop a DWG file into a Revit project.
  • Improves stability when importing DXF data.
  • Improves dimension fidelity when exporting to DWG with export units set to Meter.
  • Improves alignment of hatch and fill patterns when exporting to DWG.
The following improvements to Autodesk Revit 2013 are also included:
  • Improves stability when selecting a new host for an element within an In-place Wall.
  • Improves section creation within a project with linked model.
  • Improves stability when working with Materials.
  • Improves the displayed Pattern Type assigned to an element with the Material Editor.
  • Corrects the display of the materials category within the Paint interface.
  • Corrects the printed display of fill patterns within perspective views.
  • Improves stability of Type editing when multiple element types are in the selection set.
There are also a number of enhancements to the API; those who customize Revit Architecture can read about those in the Enhancements Documentation.

June 26, 2012

ACA: Occupancy Load Calculations with a Column Total

In the thread in the Autodesk AutoCAD® Architecture Discussion Group that was the basis for my previous blog article post on occupant load calculations, Ted Evans pointed out that if you add a total to the occupant load column, the sum may not reflect the total of the displayed values. He is correct, if the displayed values have a sufficient number of cases where small fractional amounts were rounded up. Because any fractional amount is being rounded up in this case, there is no opportunity for round ups to be offset by round downs, making the fact that ACA uses the unformatted values when calculating the total even more apparent than in a situation where rounding is done to "nearest".

My reply today explained the reason why the total was not the same as the sum of the displayed numbers, and I indicated that in order for the total to be correct, the rounding should be done within the formula property, rather than by the Property Data Format. [For other options, see this blog article, which includes several means of achieving real number rounding and getting correct column totals.]

By placing the results of each branch of the second If statement in a variable [occs] instead of making it the RETURN value, I was able to then process the value in variable occs. If occs is not a whole number (that is, if subtracting the integer portion of occs from itself does not result in a value of zero), the value of occs is reset to the integer portion of occs plus one. Otherwise, occs is a whole number, and rounding up is not necessary. The revised formula is shown below; a sample file was included in my reply in the Discussion Group.
occLoad = [SpaceStylesCalcs:Occupant_Load]

If occLoad = 0 Then
 doCalc = 0
 occLoad = 1
 doCalc = 1
End If

If doCalc = 1 Then
 occs = [SpaceStyles:BaseArea] / occLoad
 occs = 0
End If

If occs - Int (occs) <> 0 Then
 occs = Int (occs) + 1
End If

RESULT = occs

June 24, 2012

ACA: Occupancy Load Calculations and Division by Zero

A question concerning occupancy load calculations and how to handle Spaces to which an occupant load of "0" has been assigned was posted to a thread in the Autodesk AutoCAD® Architecture Discussion Group. Dividing the Space's area by the occupant load causes an error in the formula when the occupant load is zero. As noted in my response, which includes a sample file done in ACA 2011, a simple If statement cannot be used test for a zero value and then avoid the calculation, because VBScript will evaluate the entire statement, including logical paths that would not be taken, and still end up in an error condition.

My solution was to use a variable (called occLoad in the example) to hold the occupant load property value and two If statements. The first tests for a zero value and sets a variable (called doCalc in the example) to indicate whether or not a calculation should be done. If it finds a zero value, the doCalc variable is set to 0 (do not calculate) AND the occLoad value is changed from 0 to 1. If occLoad is not zero, the first If statement only sets doCalc to 1 (do calculate).

The second If statement then tests the value of doCalc: if it is 1, it returns the result of dividing the area by the occupant load; if it is 0, it returns 0. Because the first If statement assures that the occLoad value will not be zero, the division in the second If statement never results in an error condition, and the desired result for an occupant load of zero is returned.
occLoad = [SpaceStylesCalcs:Occupant_Load]

If occLoad = 0 Then
 doCalc = 0
 occLoad = 1
 doCalc = 1
End If

If doCalc = 1 Then
 RESULT = [SpaceStyles:BaseArea] / occLoad
End If

The example file also shows how a Property Data Format can be used to round any result with a fractional amount up to the next highest integer, since you would want that when calculating occupant loads for egress analysis. It also demonstrates using a style-based Property Set to hold the occupant load property, so that the occupant load value only needs to be added to the Space Style, and not to each individual Space.

May 16, 2012

AutoCAD 2013 - Command Line Enhancements

A number of nice enhancements have been made to the Command Line. You can still have it docked at the bottom or top of the screen, and adjust the height to show previous lines. As always, click on any image to see an enlarged version.
As you can see in the image above, there have been some changes. A command icon has been added at the left side of the Command Line and the name of the active command is also always displayed adjacent to the icon. If you ever get interrupted in the middle of a command, you no longer need to check the command line history to remind yourself what command is running. Color has also been added to the Command Line, highlighting the minimum necessary characters for any active command options. The command options are now also clickable, making it even easier to pick an option.

Select the command icon to get a menu of recently used commands. This menu is also still available as a flyout on the context menu that displays after right-clicking the Command Line.

The enhancements I find most useful are those made to the undocked Command Line. I personally have never found much advantage in having the Command Line undocked in previous versions, but expect to be leaving it undocked when we move to 2013. When undocked, the Command Line shows a single line "floating" above the AutoCAD window. The width can be adjusted by moving the mouse to the far right side; when the cursor changes to the double arrow icon, click and drag to change the width. While a command is active, a user-seletable number of partially transparent lines of history (from 0 to 50) related to the active command will appear above the command line.

If you start a new command immediately after ending the previous command, the previous command's history lines displaying above the Command Line are replaced with the history of the new command. You can review the full command history by pressing F2 or selecting the up arrow icon at the right end of the Command Line.

The size of the full command history area can be adjusted by moving the mouse to the top of the area. When the cursor changes to the double arrow icon, click and drag to change the height. You can scroll the history area by using the mouse wheel or by moving the cursor to the right side of the history area to get the scroll bars to show.

If you move the Command Line near an edge or a corner of the AutoCAD window or docked palette, it will snap to it, and stay snapped in that position even if the AutoCAD window is resized or a docked palette is undocked. Here is the reason I will be undocking my Command Line: if you hold the CTRL key down when moving the Command Line, you can move it over the top or bottom of the AutoCAD window without having it dock. This allows you to position the floating Command Line over the left side of the Drawing Status Bar and reclaim the drawing space that the docked Command Line would have taken.
If you use the Drawing Management Feature (Project Browser/Project Navigator), this will cover the display of the project name and the current drawing type/name that is displayed on the Drawing Status Bar when a Project/Project Drawing is current. My firm does not use the Drawing Management feature, so that is not a problem for me. Even if you do use the Drawing Management feature, you can set two levels of transparency on the Command Line in 2013, one for when the mouse is over the Command Line, and one for when it is not (see below). As the image above shows, the project name and drawing type/name can be read through the Command Line with the opacity set to 65%.

Select the wrench icon at the left side of the Command Line to display a context menu that allows you to customize the Command Line and also access the Options dialog.
The AutoComplete flyout allows you to control the features of AutoComplete (added in the 2012 release). The Lines of Prompt History menu item allows you to set the value of the CLIPROMPTLINES system variable, which specifies the number of lines of command history that should be displayed above the undocked Command Line when a command is active. As noted above, valid values are integers between 0 and 50. The Transparency menu item opens the Transparency dialog,
which allows you to set the General level of transparency for the Command Line and how transparent the Command Line should be when the mouse is over it. The latter value cannot be less than the General value.

April 28, 2012

Revit: Creating a New Tick Mark Size

The project on which I was working (in Revit® Architecture 2012) only offered two tick sizes for dimension strings: 1/8", which was way too large, and 3/64", which I thought was bordering on too small. (I am not sure if those are out-of-the-box offerings or just what was in my firm's template at the time this project was started.)
I figured there had to be a way to set up a tick mark with a width somewhere in between those two sizes, and opened up the "WikiHelp" to find out how. After searching for "Tick Mark", I found a promising search result, Changing the Dimension Line Tick Mark.

That article, as it turns out, covers how to change the Tick Mark assigned to a dimension style, not how to create a new tick mark. Unfortunately, there is no link in that article to the section on how to create an Arrowhead Type, which is under an entirely different main heading in the Revit User's Guide section of the WikiHelp. (Revit User's Guide > Document and Present the Project > Annotating > Dimensions > Modifying Dimensions > Changing the Dimension Line Tick Mark is the article to which I first went. The article on how to create an Arrowhead Type is in Revit User's Guide > Customize Revit > Project Settings > Annotation Styles > Specifying Arrowhead Styles.) I have no problem with having the information related to getting a Dimension Style to look a specific way in two places, but it seems to me that an article about changing the tick mark in a Dimension Style, after explaining which property in a Dimension Style should be changed to change the tick mark (something so obvious even I figured that much out without even looking in the Help), should anticipate the possibility that the desired tick mark does not already exist and provide a link to the article that explains where and how that is done. Is not the beauty of an electronic reference its ability to provide direct links between related items, even when the overall organization dictates that those items are not located under the same heading?

I was about to go back to the search results, when I noticed a comment posted under this article, asking a similar question to the one I was trying to answer. Linette Pouwels had a problem with the 3 mm tick mark (the metric equivalent of the imperial 1/8" tick mark) and was looking for a way to make a 1.5 mm tick mark. My hopes were raised for a moment when I saw that someone from the Autodesk Revit User Experience Team had replied, but then dashed when the reply stated that the tick mark could not be edited, only selected from those on the list. A URL was provided for requesting an additional tick mark option. I could not believe that the only way to get a tick mark of a different length would be to submit Product Feedback on the Autodesk website, and then hope that some future release would include an additional tick mark size. With a deadline looming, I terminated my search and settled on the 3/64" tick marks for the project at hand.

While reading the AUGI Revit Architecture forum today, I came across a post that stated that the writer knew how to create a new tick mark type. While the post did not say how to do so, I took that as a sign that the reply I had read in the WikiHelp was incorrect, and after poking around I discovered the way to do so. (I only found the other WikiHelp topic noted above after discovering the method on my own, and using "Arrowhead" rather than "Tick Mark" when searching the WikiHelp.) Here is how to create your own tick mark or other Arrowhead Type:
  1. On the Manage ribbon tab, select the Additional Settings tool.
  2. Choose the Arrowheads option on the flyout.
  3. In the Type Properties dialog, select a type that is similar to what you want.
  4. Choose the Duplicate Button, and provide a name for the duplicated type.
  5. Edit the new type's parameters as needed. For my new Diagonal Arrowhead Type, all I needed to change was the Tick Size, to 1/16".
  6. Click OK to dismiss the dialog. The new Arrowhead Type is now available for use in a Dimension Style.
The choices for the Arrowhead Style property are limited to what is provided out-of-the-box, but you can customize each of those Arrowhead Styles by creating a new Type and changing the active parameter values for that Type. (Only parameters that apply to a given Arrowhead Style are active when selecting that Style; the Tick Size property applies to all of them.)

Postscript: I submitted a change to the Revit English 2012 WikiHelp Changing the Dimension Line Tick Mark page that adds a link to the Specifying Arrowhead Styles page. Perhaps it will be approved and published. Post-postscript: It was approved.

April 17, 2012

ACA 2013: Object Display Enhancements Part 3

First Article in the Series (ACA 2013: Object Display Enhancements Part 1)
Previous Article in the Series (ACA 2013: Object Display Enhancements Part 2)

Annotative Hatch Display Components
ACA 2013 offers the option of making a Hatch component annotative. This allows you to establish a single scaling (based on the scale you would apply when plotting at full size) and then have ACA adjust the hatch scale by the scale factor of the current annotation scale factor. This might eliminate the need for multiple Display Representations whose sole purpose is to change the scale factor on Hatch components, along with the associated Display Representation Sets and Display Configurations (eg, the out-of-the-box Low Detail, Medium Detail and High Detail Display Configurations). If you use those Display settings for other purposes, you may need to hold on to them, but the annotative Hatch component could simplify your Display Representation settings, once you go through and convert all of your Styles and Material Definitions, of course. (Even with annotative hatching, you may not want to have the same scale factor for all scales.) You can choose not to make Hatch components annotative, if the current setup meets your needs.

As an example, I created a copy of the out-of-the-box CMU-8 Wall Style, called CMU-8 Anno. Since the display of the Hatch component for this style is controlled by the assigned Material Definition, I also made a copy of the Masonry.Unit Masonry.CMU.Stretcher.Running Material Definition, called Masonry.Unit Masonry.CMU.Stretcher.Running.Anno and made the Plan Hatch and Section Hatch components annotative. I chose to match the Spacing as specified for the General Medium Detail Display Representation (meant for 1/8" = 1'-0" drawings) by dividing the out-of-the-box Spacing in the CMU-8 Wall Style by 96 (the scale factor for 1/8" = 1'-0"). So the Plan Hatch Spacing became 8/96" (or 1/12") and the Section Hatch became 12/96" (or 1/8").
You will need to make those changes in all of the Display Representations for which you want the annotative hatching to be in effect. For this example, I wanted to compare the previous system with annotative Hatching, so I made the same edits to the Plan Hatch and Section Hatch components in all of the Display Representations. (General Presentation did not require editing, since it used a solid hatch.)

WARNING: When changing to annotative hatching, check the box in the Annotative column first, and then change the value, if necessary. When you check the Annotative box, ACA will change the Scale/Spacing value by dividing it by the current annotation scale value. If you change the values first, and then check the Annotative column box, the changed values will be divided by the current annotation scale factor, and you will have to reset the values again. Also note that if your current annotation scale happens to be the one for which the non-annotative values were meant, you can keep the resultant values. But if that is not the case, you will need to change the values.

In the image below, the same two Walls are shown in a Layout in multiple viewports at several scales. The CMU-8 Wall uses the out-of-the-box Wall Style of the same name (Imperial), and the out-of-the-box Material Definition and display settings. The CMU-8 Anno Wall is a copy of the CMU-8 style, with a custom material applied. The custom material has had the Plan Hatch component set to be annotative, and the same Spacing value has been applied to all of the Display Representation that are shown here. As you can see, the annotative hatch has the same spacing at all scales. The non-annotative hatch spacing generally varies with the scale, with some variations due to the different spacing values for Medium Detail (1/8" = 1'-0" and 1/4" = 1'-0") and High Detail (1/2" = 1'-0" and 1" = 1'-0").

April 04, 2012

ACA 2013: Object Display Enhancements Part 2

First Article in the Series (ACA 2013: Object Display Enhancements Part 1)

Transparency, added to AutoCAD® (and AutoCAD® Architecture) in the 2011 release, is now fully integrated into AEC objects and the AutoCAD Architecture Display System. Previously, Transparency could be applied to the main object only, by using the tools on the Transparency panel on the Home ribbon tab. Entity Transparency is now an editable property for parent AEC objects, on the Design tab of the Properties palette, in the Basic category, General subcategory.
Valid values remain integers in the range of 0 (fully opaque) to 90 (most transparent) or "ByLayer" (use the Transparency set on the layer) or "ByBlock" (use the Transparency set on the parent object, useful only for nested objects, object components or Material Definitions). This same value can be edited in the Object Display dialog, on the General Properties tab, where you can type an integer value directly, or choose a value from a drop-down list.
The easiest way to access the OBJECTDISPLAY command is by selecting an object, right clicking and choosing Edit Object Display from the context menu. Transparency is now also fully integrated into the Display System, allowing you to set a Transparency value for AEC Object components as well as in Material Definitions, Display Theme Styles and Layer Key Styles. As noted for main objects above, "ByBlock" and "ByLayer" are choices for components, Material Definitions and Display Theme Styles, so you do not need to hard-code Transparency values unless you want to do so. The Transparency values can be edited in the usual ways, in the Style Manager, when editing a Style or Definition or on the Display tab of the Properties palette, and can be applied at the drawing default, style-override or object-override levels.
Transparency as a Display Property in Style Manager - Display Theme

Transparency as a Display Property in Style Manager - Layer Key Style

Transparency as a Display Property on the Display Tab of the Properties Palette - Wall Object

Transparency as a Display Property via the Object Display Dialog - Wall Object

Transparency as a Display Property of a Material Definition

Keep in mind that Transparency works like any other object property: the value applied to a nested object will take precedence over that of the parent obejct. In 2011 and 2012, the only option was to apply Transparency to the parent object (for example, a Wall). Setting an explicit Transparency value to a Wall object would make the Wall display with the Transparency set. Doing the same in ACA 2013 will only make the Wall transparent at that value if the display of all of the Wall's components is set to be "ByBlock" (or just happens to be hard coded to that same value). For components whose display is controlled by an assigned Material Definition, then the Transparency of the active component of the Material Definition would need to be set to "ByBlock". When opening files created in previous versions, it appears as though the component values default to ByBlock, which would preserve the previous behavior.

Next Article in the Series (ACA 2013: Object Display Enhancements Part 3)

March 30, 2012

ACA 2013: Object Display Enhancements Part 1

AutoCAD® Architecture 2013 adds a number of new features to the Display System.

Layer Keys for Display Components
An often wished for feature is now in the program: it is now possible to assign a Layer Key or Layer Overrides to a component of an object, instead of just hard-coding the layer name in the style. If you have ever wanted to have layer control over one or more individual components of an object, but did not want to have the hassle of setting and maintaining those layer names in each style, you can now add Layer Keys or Layer Overrides to a style to have components placed on a particular layer via layer keying.

In general, I find using the display system to control the visibility and appearance of most components of AEC objects to be quite adequate and would just as soon avoid throwing layers into the mix. But there are a few items where it would be nice to be able to control the visibility of a component with a simple Layer Freeze/Thaw, rather than going through the hassle of adding new Display Representations, Display Sets and Display Configurations. For example, we use a zero-width component to display a line that indicates the fire-resistance rating of a Wall, and its display is controled by the assigned Material Definition. There have been projects where, for certain drawings, I wanted to turn off this component, as it was interfering with other graphics. Being able to do so by freezing a layer would be much easier than setting up another Display Representation for materials, editing that for all of the materials in the drawing and then setting up a Display Set and Configuration to use the new Display Representation. Hard-coding a layer name in a Display Representation has always bothered me, as it means future edits if the content needs to be used with a different layer standard. The new Layer Key/Override feature allows source content to be set up that will generate layers based on the current Layer Key Style and avoid having a hard-coded layer name in the Display Representation.

There are a few nuances that you need to master in order to be able to use the new feature. The most important is that your source file (where you store and edit the display settings) cannot have any objects of the type to which you want to add a Layer Key or Layer Override in the file. For Drawing Default settings, this will likely be your template file, so that should not be a major problem. For Style Override settings, you will have to delete any instances of objects of the style being edited prior to being able to edit the override settings, and you will not be able to add any instances afterwards, as that will cause the layer to be resolved and defeat the puropose of using a Layer Key. The Layer Key and Layer Overrides are not available at the Object Display Override level, because, by definition, you have to have an object in the drawing in order to apply the override. This feature does not make much sense as an individual object override, anyway. You cannot access this feature on the Display tab of the Properties palette; you have to edit the settings in a dialog, through Display Manager (Drawing Default settings only) or through Style Manager.

Before starting, make certain that the current Layer Key Style in the source file drawing or template has all of the Layer Keys you wish to assign. If you are going to use custom Layer Keys, be certain that you update the Layer Key Style in your Layer source file with the custom keys, and, if you are not set up to automatically import the Layer Key Style from your Layer source file, in your template files.
In the composite image above, the Swing Component has had the custom DOORSWING Layer Key added by clicking in the blank area in the Layer Key column on the Swing line, and choosing the DOORSWING Layer Key in the Select Layer Key dialog. Once a Layer Key is assigned, the value in the Layer column for that component is cleared, and will remain that way until an object is placed in the file. As previously mentioned, you want it to stay that way in your source file(s), so that the resolution takes place in the target file.

In order to make use of the Layer Overrides, you must first set a Layer Key. If you want to assign a component to a layer, but do not want to create a custom Layer Key, you can use Layer Overrides. Keep in mind that if the resultant layer does not already exist in the drawing, it will be generated based on the attributes of the assigned Layer Key, so choose the Layer Key accordingly, or be prepared to adjust the layer properties after the fact. In the composite image above, the Frame component has the DOOR Layer Key assigned, and then, by clicking on the icon in the Layer Overrides column on the Frame line, a Minor 1 field override of "Fram" was set in the Select Layer Overrides dialog.

Do not forget to change the component attributes from BYBLOCK to BYLAYER for any components to which you assign a Layer Key, unless you only want them on a separate layer and want them to display with the attributes of the main object.

If you make Drawing Default level changes in your template file and then start a new drawing with that template, the Layer Key and, if specified, Layer Override will be resolved when the first object of that type is added to the new drawing. If the resultant layer does not already exist in the drawing file, the layer attributes specified in the current Layer Key Style (as modified by any Layer Overrides set) will be used to generate the layer. If the layer does already exist, the layer will be left as is, just like any other use of a Layer Key. At that time, the Layer Key and Layer Overrides columns will be locked and the resolved layer name will be shown in the Layer column. You can then edit the Display Representation and change the layer name if you so choose - the Layer Key and Layer Overrides are inactive from that point forward, even though the Layer Key name will remain displayed. The same holds true when adding an object that has a Style-level display override in the source file that includes a Layer Key or Layer Key and Layer Override.

There is a way, however, to impose a Layer Key/Override on a file that already has objects within it. When set at the Drawing Default level, with the file open, open the Display Manager (on the Manage ribbon tab, on the Style & Display panel, select the Display Manager tool). In the Display Manager, open a source file that has the unresolved Display Representation in it (such as your template file). Use the Display Manager to copy the Display Representation from the source file to your current file and choose Overwrite Existing.
Select OK to register the change, close the Display Manager and return to the drawing. You will not notice any immediate change, but the Layer Key/Override from the source file has been copied into this file. In order to get this to resolve, you need to execute the "add" command for the object type affected by the Display Representation. For example, start the DOORADD command if you have copied a Door Display Representation. Doing so, even if you cancel before placing an object, will cause the Layer Key/Override to be applied, affecting all existing objects in the file as well.

If you have a drawing with objects of the same style name, but without the Layer Key/Override set (or with it set, but resolved to a previous Layer Key Style), you can use the Style Manager to overwrite the style from a source file with an unresolved Style-level Layer Key/Layer Override. If you have a Tool palette tool referencing the style from such a source file, you can also right click the tool and choose "Re-import..." from the context menu. The only difference here is when you start the "add" command to trigger the resolution of Layer Key/Override, if redefined style is not the current default style, you will have to change to that style on the Design tab of the Properties palette to get the change to take effect.

In all of the above cases, keep in mind that you will not see the effects of the Layer Key/Override if the Display Representation that has the Layer Key/Override set is not active in the currently active Display Set. The change will take place, but until you change the Display Configuration/view direction to a combination that makes the Display Representation that has the Layer Key/Override applied, you will not see it.

Next Article in the Series (ACA 2013: Object Display Enhancements Part 2)

March 27, 2012

ACA 2013 - Grouping and Subtotals in Schedule Tables

The ability to group items within a Schedule Table and have subtotals for each group has long been wished for by AutoCAD® Architecture users, extending back to when the program was called Architectural Desktop. That wish has been granted in the 2013 release, which supports up to three levels of grouping and subtotals.

In the past, you have been able to sort by the values of one or more properties, which would get objects with the same value for a given property in close proximity. If you specified a quantity column in your Schedule Table (whether displayed or hidden), you could also get objects with identical values in all columns to collapse onto one line. For properties with numerical values, you could specify that the total of all items in the Schedule Table be shown at the bottom of the Schedule Table.
Tracking the area of Spaces is a common need in architectural design. The image above shows a sample schedule for Spaces, such as might have been created in a previous release. The Schedule Table is sorted first by the Space type (using the Style automatic property source to acquire the name of the Space Style) and has a quantity column to collapse identical lines. While the Schedule Table avoids the use of room numbers to have some identical rows, inevitably you will want to include data that will prevent all Spaces of a given type from collapsing on one line (if nothing else, the areas of the Spaces of one type are unlikely to all be identical in a real-world design), leaving you with multiple Total Areas for each type. The image below shows the "new" Sorting/Grouping tab (formerly just "Sorting") of the Schedule Table Style used to produce the Schedule Table shown above. The Group feature is not enabled for either of the columns being sorted.

While getting totals for each Space type in the sample Schedule Table above might not be too difficult, on a real project with tens or hundreds of Spaces, it could be quite a chore, and in the past, would likely have resulted in exporting the Schedule Table contents to a spreadsheet program, followed by additional formatting and manipulation to get useable subtotals. Doing this repeatedly as changes are made to a project in the early design phases can be tedious. In a copy of the previous Schedule Table Style, the Group feature for the SpaceStyles:Style property has been activated by checking the Group toggle under that property.
The Display Subtotals For Group toggle has also been checked. While you can override the formatting of the Group property, this was not done, as indicated by the "None" text; the Subtotal Format Override was used, however, to increase the height of the text from 3/32", as set on the Default Format tab, to 1/8", as indicated by the Height designation. The default Group Orientation of Column was kept. Group Row Repeat and Group Row Indent are disabled when using the Column orientation,. Group Row Separation was changed from None to Blank Row. The results can be seen in the image below.
When grouping by a property using the Column orientation, all items with the same value for that property are listed together ("grouped"). Instead of having that property value shown on each line, the individual row lines are deleted (including at the subtotal line, if used) and the value is shown once, centered on the group of rows. A subtotal line appears at the bottom of each group, in this case showning a subtotal for the quantity and for the total area. In order to use the subtotal feature, at least one column in your Schedule Table Style must be set up to display a total. Since a height override was applied to subtotal rows, the text on these rows is larger, making them stand out a little. A blank row appears between each group, also helping to distinguish between groups. At the very bottom, you will note that the "grand" total line still appears. Unfortunately, a blank row does not separate this line from the group and subtotal line above, nor can you override the formatting of the grand total line.

Doors are another object that are often scheduled. A simplified Door Schedule, such as might have been done in a previous release, sorted by Door Type, is shown below.
As with the Spaces, in this simple example it would be easy enough to add up the totals per Door type, but not so on a real project. The image below shows the settings made to a copy of the style of the Schedule Table shown above, to implement groups and subtotals.
I chose to display the subtotals for each group, change the alignment of the group from the default "Middle Center" to "Middle Left" and made the same Subtotal Format Override (1/8" text height) as was made on the Space Schedule above. Setting the Group Orientation to "Row", makes the Group Row Repeat and Group Row Indent choices active. The Row orientation for groups takes the column for the property being grouped out of the Schedule Table and inserts a row above each group labeled with the column header name and the property value, separated by a colon (":"). Group Row Repeat will repeat that row at the bottom of the group, which can be helpful with nested groups or groups with many lines; I chose to not include that here. Group Row Indent can make it easier to read a Schedule Table with nested groups all using the the Row orientation. This example did not need to use either of those, as there is only one group and I chose to provide a blank row separation between the groups. In the final beta version, on which these samples are based, I was unable to get the Group Row Indent feature to work. It had worked in a previous version, so I am hoping that it was either an issue with my installation or that the problem is resolved in the shipping version.
The image above shows the results of those settings. If you choose to set up grouping on multiple columns (properties) in your schedule table, the results will be sorted by the left-most first, then within each of those groups, the second grouping will be applied and, if you specify a third grouping (rightmost), that would be applied within each of the second groupings subgroups. Once you choose a column orientation for a group, any additional groups to the right of that also must use column orientation.

New components for Schedule Tables mean more display settings. The image below shows the components and out-of-the-box Drawing Default settings for Schedule Tables (final Beta, US Imperial content). There are separate display settings for Data Text, Separator Lines, Title Separator Lines and Indent Lines for each of the three levels of Groups, as well as settings for Data Text, Row Lines and Column Lines for each of the three levels of Subtotals. These are all set to ByBlock, with the exception of LtScale, which is set to 1, so they will initially inherit the properties of the parent Schedule Table object. You may want to edit the Drawing Default values of the newly added components to be compatible with the settings for the previously available components (especially if you have customized those settings).
You may also have noticed new columns in the Display Properties for Layer Key, Layer Overrides and Transparency. Look for more on those in a future post.