December 24, 2005

Schedule Table Placeholders

Here is the situation: You have set up a project in Autodesk Architectural Desktop, and you have used the scheduling feature to set up a Schedule Table – for the example here, a door schedule. The project has gone out to bid, a contract is awarded, things are moving along smoothly, when suddenly the Owner wants to make a change. I know that never happens in real life, but lets assume it does for purposes of this article. ;-)

The change involves the deletion of one door. You could simply erase it from the file and refresh your schedule, and the door would disappear from the schedule. But you may not want all record of that door to be lost – you may want to keep at least some vestige of it as a reminder that the original bids included an additional door and that some credit is due back to the Owner, assuming that fabrication and installation are not already complete.

There are several ways you could handle this. Rather than erasing the door, you could release the wall anchor, move the door to a non-plotting layer and leave the door in the schedule. If your schedule has a "Notes" column, you could add text there indicating that the door has been deleted. You might emphasize the deletion by manually drawing a line through the schedule for that door, but then you would need to be careful that the line stayed on the correct door during any later changes to the schedule.

Another way to emphasize that this door has been deleted would be to delete the contents of all of the manual data attached to the door, perhaps copying the Door Style to a new name [appending "DELETED" to the original name might be a good choice] and deleting any style-based manual data. You could also set up a manual property that could be set to "DELETED" for a deleted door, then use formula properties that test for "DELETED" in that property and return a result of an empty string for automatic properties for deleted doors or the appropriate automatic value for non-deleted doors. That can get very complicated, particularly if you are using imperial units and showing a door opening with one of the "preformatted" automatic properties, such as Door Size – PR WxH, as formula properties do not take kindly to passing through strings with embedded double quotation marks.

An alternate method, which can reduce, or, depending upon the data you display in your Schedule Table, eliminate the need for fancy formulas, is to set up a "placeholder object" that will substitute for the deleted door, carrying only the property data you wish to remain in the schedule – in this example, only the door number.

You can find a ZIP file that contains two sample files attached to a post I made to a thread titled Doors & Door Schedules in the Autodesk Architectural Desktop 2005 Discussion Group. It may be helpful to download the ZIP file, extract the drawing files and have them open when going through the balance of this article. The DoorPlaceholderTest-Bidding.dwg file shows the file at the time of bidding, with all three doors in the schedule. The DoorPlaceholderTest-Construction.dwg shows the file after the 101B door has been deleted and replaced by the placeholder object.

The sample files make use of an AEC Polygon as the placeholder object. Any object could be used, but by chosing a style-based ADT object, you can deal with both object-based and style-based Property Sets. A special AEC Polygon Style was created, called DoorSchedulePlaceholder, with style-level display overrides, turning off all but one component and applying the "Invisible Ink" plot style so the object will not plot. I did notice that in a plot preview, if the placeholder object is in front of other linework the invisible ink plot style overwrote the other linework with the background color. If you are not using "merge pens", you may need to send the placeholder objects to the back of the draw order, so the invisible ink does not overwrite any linework you want to keep. If you are using Xrefs, you may want to experiment with this to see if there are problems with display order. If so, you should be careful not to overlap any plottable objects with the AEC Polygon. If I were doing this all over again, I would probably have chosen to assign the component to a non-plotting layer, instead of using the invisible ink plot style.

Model Display Representation Style Overrides

Model Screened Display Representation Style Overrides


In order to be able to restrict the AEC Polygon Styles that will show up in the schedule to just the placeholder style, a Classification Defintion called "Schedule" was created. This will also allow you to restrict the Property Set Definitions that are used by your schedule to just the placeholder AEC Polygon Style. The Schedule Classification Definition in the sample files has two choices: NoSchedule and DoorSchedule. If you were going to extend the placeholder concept to other schedule types, you could add additional classifications if you wanted to use a different AEC Polygon Style for the placeholders in the other schedules. Note that you will also have to assign the DoorSchedule classification to all of the Door Styles you wish to include in the schedule. You can set any Door Styles that you do not want to have schedule [existing doors, toilet partition doors, etc] as well as any other AEC Polygon Styles to the NoSchedule classificiation, although leaving them unclassified will also exclude them from the schedule. I prefer to set the NoSchedule classification on the style so it is evident that I intentionally excluded that style, rather than simply forgot to set a classification for it.
Setting the Classification in an AEC Polygon Style

Setting the Classification in a Door Style


The DoorObjects, DoorStyles and FrameObjects Property Set Definitions, which are used by the out-of-the-box Door Schedule Schedule Table Style, as well as a copy of that Schedule Table Style, renamed to "Door Schedule Room Based", were edited to allow them to apply to AEC Polygon objects or styles, and were restricted to apply to only those objects that had the DoorSchedule classification set in the style. The Applies To tab of the DoorObjects Property Set Definition is shown in the image below, with the object types to which the defintition applies checked on the list box to the left and the classification to which the definition applies checked on the right; the settings on the others is similar.
Applies To Tab For DoorObjects Property Set Definition


The goal is to have all of the table cells for the deleted object blank, except for the door number in the "Mark" column. Text-type manual properties can simply be set to a null string to achieve this effect. Automatic properties and numeric manual properties will require some modifications to the Property Set Definitions. After adding the AEC Polygon to the Property Set Definitions, you can then edit the automatic properties and assign an appropriate automatic property for AEC Polygons. In the sample file, the "Notes" automatic property for AEC Polygons is used for all the automatic properties in the schedule, and the Notes on the AEC Polygon object is left blank. Edit each automatic property, find the Notes property under the AEC Polygon heading, and hold the CTRL key down while clicking on the box to the right of the Notes property. Holding the CTRL key down makes that selection apply only to the AEC Polygon heading, and keeps the choices for Doors and Door/Window Assemblies as they were. Choosing a property for AEC Polygons for each automatic property in the schedule keeps an AEC Polygon in the schedule from displaying question marks; choosing a property that can be set to display an empty text string allows the data for the placeholder to appear as blank.
Setting the AEC Polygon Source for the Width Automatic Property


The out-of-the-box Door Schedule includes columns for two style-based real-type manual properties for LouverWidth and LouverHeight, from the DoorStyles Property Set Definition. These default to a value of 0, but can not be set to an empty string, since they are expecting a real number value. You could just set these to 0 in the DoorStyles Property Set attached to the DoorSchedulePlaceholder AEC Polygon Style and live with the schedule reporting 0” for the louver width and height, but in order to achieve a totally blank line in the schedule, the sample files renamed the manual properties to LouverWidthUnformatted and LouverHeightUnformatted and changed the Property Data Format assigned to them to Standard. This will allow these to be read by a formula property as a real number without any additional text characters, so they can be passed through without worrying about embedded double quotation marks when using imperial units. You can read more about unformatted properties in these blog articles: Unformatted Properties for Formulas and Unformatted Properites and Numeric Precision.

One automatic property, called ObjectType, and two formula properties, called LouverWidthSchedule and LouverHeightSchedule, have been added to the DoorStyles Property Set Definition. ObjectType is an automatic property that reports, oddly enough, the object type. This is used by the formula properties to determine if the object to which they are attached [through the object’s style], is an AEC Polygon. If so, the formula property returns a RESULT of "" [an empty string]. Otherwise, the formula property passes through the value of LouverWidthUnformatted or LouverHeightUnformatted. A Property Data Format is applied to the formula property, so that the imperial formatting is applied if the value is a real number. The Door Schedule Room Based Schedule Table Style was then edited, deleting the old louver width and height columns and replacing them with the formula properties.
DoorStyles Properties, Including LouverHeightSchedule Formula

Door Schedule Room Based Column Defintions [Left Side]


As noted above, all of the text-type manual properties in the Property Set Definitions attached to the placeholder AEC Polygon object were set to "", including those in the style-based DoorStyle Property Set. The results can be seen in the following two images, the first from the "bidding" drawing and the second from the "construction" drawing.
Bidding Version of the Door Schedule

Construction Version of the Door Schedule, After Door is Deleted


I chose not to change the names of the modified Property Set Definitions in my sample file, so that I would not need to change the tags. I would recommend renaming them if you choose to implement a schedule placeholder system based on that outlined here – and modifying your tags to suit – to avoid having any problems with existing files that have the old Property Set Definition in it, or with remembering that you customized these files when migrating to the next release of Autodesk Architectural Desktop.

One final note – I did change the RoomNumber property to use the non-project based Number property for the room number, as the sample files were not done as part of a project. I also modified the out-of-the-box NumberProjectBased property, renaming it NumberRoomBased and changing the formula to "[RoomNumber]" & "[NumberSuffix]" as described in this blog article, although this would not be strictly necessary if you keep the hidden RoomNumber and NumberSuffix columns in the schedule and sort the schedule on those columns, as the out-of-the-box schedule does.

1 comment:

Anonymous said...

David,
I am a Door & Hardware Distributor estimator. I created a program in Microsoft Access that counts all off the items in a door schedule . . . instantly, if it is provided in an Excel format, which I can import into my program. I would like to discuss some things with you about changes that I believe will be taking place in our industry . . .that I am trying very hard to help usher in now.
You may e-mail me at innov8r@sbcglobal.net or call me at 937-259-0225 (Dayton, Ohio)
I look forward to hearing from you.
Ken Carman