Showing posts with label Style-level Display Override. Show all posts
Showing posts with label Style-level Display Override. Show all posts

February 28, 2019

ACA: Custom Display Block for Door in Plan View

You may have noticed that even after assigning a custom Profile to a Door to add a glazed panel to the Door, that there is no change to the graphics when viewing the Door in "plan" (Top view direction) in any of the out-of-the-box Display Representation Sets, That is because these use one of the "plan" Display Representations for Doors (Plan, Plan High Detail, Plan Low Detail, Plan Screened, Reflected or Reflected Screened), and the Panel component in these is 2D graphics representing the panel width and depth (overall Door width only, in Plan Low Detail) that is not tied to the 3D representation where the glazing is shown.

In my work, I have never needed to indicate glazing in a Door Panel at the typical scales used for plan views (1/16" = 1'-0" to 1/4" = 1'-0"). But if you do have a need for that, you can use a custom display block to add graphics to represent a glazed panel in plan views.

Before we dive into creating the block and assigning it to the Door Style, you need to understand the limitations of custom display blocks in plan Display Representations. The only component to which you can assign a custom display block in plan is the Frame component. You cannot assign one to the Panel component. That means you cannot scale the block by the thickness of the Panel, nor will the block rotate to match the swing angle of the Panel. If you use multiple swing angles for your Panels, you will need multiple display blocks and multiple Door Styles (one of each for each angle). For a 90-degree Panel swing angle (the one we typically use for new construction Doors), scaling the custom display block by the Width, even with the Frame Component set to Inside, will not scale the block along the width of the Panel, but perpendicular to the width of the panel (because ACA thinks it is a Frame component). All of this means that if the graphics in the file need to be accurately shown, and not just a "symbol", you will need a separate custom block and a separate Door Style for each Door width.

If all of that did not change your mind about showing a glazed panel in plan views for Doors, here is how to do it.
  1. Identify the Door Style that is to receive the custom display block. For this example, I have a style called Wood Door with Glazing that has a custom Profile assigned as the Shape on the Design Rules tab of the Door Style. That creates a glazed panel in a model view, but has no effect on the plan view graphics, as seen in the image below.
  2. Verify that the target Display Representation for Doors is active in the current Display Configuration. In this example, the custom display block will be attached to the Plan Display Representation for Doors, and that is active in my current Display Configuation.
  3. Place an instance of the Door in the drawing, and set the Width property of the Door to the width intended for the display block. Having an instance in the drawing is helpful for seeing the effects of the editing so far, and, in cases like this where no scaling will be applied to the block, can be used when generating the linework for the block definition.
  4. Determine where the insertion point of the custom display block will be. In this case, the hinge-side corner of the frame (where it meets the corner of the Door Panel) is an appropriate insertion point.
  5. Draw the linework for the custom display block. If you want to be able to control the display of the linework in the display properties of the Door Style, draw the linework on Layer 0, and assign ByBlock to the Color, Linetype, Plot Style (if using named plot styles), Lineweight and Transparency properties of the linework. In this example, the linework consists of two lines perpendicular to the width of the Door Panel, set in 10" from each end of the Door Panel, and a third line connecting the midpoints of the first two lines, to give a symbolic representation of the glass panel in the Door.
  6. Create the block definition from the linework, being careful to specify the desired insertion point. If you choose to retain the linework or convert the linework to a block, move the linework or block to the side, so that it will not obscure the results of adding the custom block to the Door Style.
  7. Select the Door and, on the Door contextual ribbon tab, on the General panel, select the Edit Style tool. (Or, if you prefer, open the Style Manager, navigate to and select the Door Style in the left pane so that you can edit the style in the right pane.)
  8. Choose the Display Properties tab. The currently active Display Representations will be displayed in bold type. In this example, both the Plan and Threshold Plan Display Representations are active. As the Threshold Plan Display Representation does not allow for attaching custom display blocks, the Plan Display Representation will be used.
  9. Select the Display Representation to receive the custom display block. Left click the toggle in the Style Override column for that Display Representation, to add a display override and open the override for editing.
  10. In the Display Properties dialog, select the Other tab. In the Custom Block Display area, select the Add button.
  11. In the Custom Block dialog, select the Select Block button. Choose the block you created in the Select a Block dialog and select the OK button to return to the Custom Block dialog. The block should show in the viewer.
  12. Back in the Custom Block dialog, change the Insertion Point Y: value to Back and set the Frame Component to Inside. When I did this, the block shifted when I changed the Y setting of the Insertion Point, but did not move when I changed the Frame Component to Inside.
  13. I chose to let the Display setting at Always. If you want to limit the situations where the block will display, select one of the other options: When Intersecting Cut Plane, When Above Cut Plane or When Below Cut Plane, and the block will only display when the selected option is true.
  14. Select OK to ratify the changes, close the Custom Block dialog and return to the Door Style Properties dialog.
  15. If you are a bit leery about the fact that the viewer was showing the custom block outside of the Door Panel, you can select the block name that now shows in the list box in the Custom Block Display area and choose the Edit button. That will reopen the Custom Block dialog and the viewer will properly update and show the block inside the Door Panel, where it belongs. If you are not making any changes, you can select the Cancel button to dismiss the Custom Block dialog; otherwise select the OK button after you are finished with any changes.
  16. In the Display Properties dialog, select the Layer/Color/Linetype tab. Notice that the custom display block now appears as a Display Component. You can make any edits here that you desire. I chose to let the default settings (Layer 0, with ByBlock properties), so that the block will inherit its properties from the parent Door object, just like the Panel, Frame and Swing components. You may want something different. Keep in mind these settings will only be apparent if the linework within the custom display block is on Layer 0 with ByBlock properties, as previously noted.
  17. When you are done editing the properties of the custom display block component, select the OK button to return to the Door Style Properties dialog. Notice that there is now a check mark in the Style Override column and that the Display Property Source now shows Door Style Override - [YOUR DOOR STYLE NAME HERE] rather than Drawing Default. Select the OK button to accept all of the changes to the Door Style and return to the drawing.
    NOTE: If you ever need to edit the display settings for this Door Style's Plan Display Representation, select it and choose the Edit Display Properties button in the upper left of the dialog. Do NOT select the Style Override toggle again; that will clear the toggle and remove the override. If you do that unintentionally, select the Cancel button to exit the dilaog without making any changes, or you will have to recreate the override.
The instance of the Door Style in the drawing should now reflect the addition of the custom display block (assuming that you edited an active Display Representation, as directed above). In the image below, the custom display block instance is at the left and selected, and the Door instance, now showning the custom display block, is at the right.

October 28, 2018

ACA: Custom Profile for Railing Plan Display Representations

As noted in a previous post about Custom Blocks for Railings, those blocks can only be attached to the Model Display Representation. While the Plan, Plan High Detail, Plan Low Detail and Plan Screened Display Representations do not allow for Custom Blocks, they do allow for Custom Profiles, which may work for showing a base plate at each post, depending upon how fussy you are about the graphics. One might first ask the question, "Do I really need to see base plates in a plan view of a Railing?" At typical plan scales (1:100, 1/8" = 1'-0", 1:50, 1/4" = 1'-0"), one could make a convincing argument that the added graphic will, at best, be a slightly wider blob, with the lineweights causing the plotted linework to merge with the railing and post graphics. For the purposes of this example, lets say that for the High Detail Display Configuration/Plan High Detail Display Representation Set (Top view direction)/Plan High Detail Display Representation for Railings, we do want to show the base plates. This can be done by adding a Custom Profile to the post components.

Before we can add a Custom Profile, we have to define the Profile. To do so, I drew a closed Polyline to show the 5.5" x 2" top view rectangle of the base plate that was created in the previous article, as shown in the image below, taken from a SW Isometric view. The Color 140 diagonal line is a Line on layer G-Anno-Nplt and will not be part of the profile, but is there to make it easy to specify the insertion point of the Profile, by snapping to the midpoint of the Line.

Create a Profile from this Polyline by doing the following:
  • Select the Polyline, and right click. Choose Convert To > Profile Definition from the context menu.
  • At the Insertion point or [Add ring Centroid] command line prompt, select the midpoint of the diagonal Line, using the Midpoint object snap.
  • In the New Profile Definition dialog, enter a name for the Profile, in the New Name edit box. I chose to call the Profile in this example RailingPostBasePlate. Select the OK button.

The Profile for the base plate is now available. If you want, you can open the Style Manager and take a look at it, under Multi-Purpose Objects > Profiles. If you do take a look, close the Style Manager without making any changes.

The newly created Profile can now be added as a Custom Profile to the Posts in the Railing.
  • Edit the Railing Style.
  • On the Display Properties tab, select the Plan High Detail Display Representation. Depending upon what view direction and Display Configuration are current, this may or may not be the Display Representation in bold type.
  • Left click on the toggle in the Style Override column on the Plan High Detail Display Representation line to create a style-level override and open the Display Properties dialog for the overridden Plan High Detail Display Representation.
  • In the Display Properties dialog, select the Other tab.
  • Select the Add button. This will open the Custom Profile dialog.
  • In the Custom Block dialog, select the Select Profile button, and then choose the Profile Definition for the base plate in the Select a Profile dialog.
  • Select OK to ratify the choice of Profile and return to the Custom Profile dialog.
  • Since we want this added to the Posts, in the Component area at the upper right, clear the check mark from the Baluster toggle and add one to both the Fixed Post and Dynamic Post toggles. We only want to add this block to the existing posts, not replace the posts, so leave the Replace toggle unchecked.
  • Verify that none of the toggles in the Scale To Fit or Mirror In areas are checked.
  • Verify that the Insertion Point is set to Center for X and Y. This matches the insertion point of the RailingPostBasePlate Profile that was created.
  • Verify that the Insertion Offset values are all set to 0.
  • Choose an appropriate radio button in the Attach To area. Since I wanted all posts to have the base plate, I chose All in this example.
  • Select OK to ratify the Custom Profile settings, dismiss the Custom Profile dialog and return to the Display Settings dialog.
  • Select the Layer/Color/Linetype tab.
  • Notice that, unlike with Custom Blocks, there is not a new Display Component listed for the Custom Profile. Based on some experimentation with the Color property, it does not appear that the Custom Profile is associated with any of the Display Components shown, either, but behaves as if ByBlock were selected for each property.
  • Select the OK button twice, to accept all the edits made, dismiss the Display Properties and Railing Styles dialogs (or, if you edited the Railing Style with the Style Manager, to dismiss the Display Properties dialog and the Style Manager) and return to the drawing.
In a Top view with a Display Configuration with the Plan High Detail Display Representation for Railings active, the added Custom Profile will be seen at the posts. So far as I know, it is not possible to have any rails that cross over the Custom Profiles hide the Custom Profile linework that passes "under" the rail. Most likely because the rail is just two lines in this Display Representation, not a solid object, and ACA has no way of knowing that the Custom Profile represents a base plate down at the bottom of the post.

Given the lack of display control and the resulting graphics, I doubt that I would use a Custom Profile to represent a railing base plate; certainly not one of this size relative to the size of the railing. I would probably only show this in a detail, with independent linework, rather than as part of the model. One other interesting effect to keep in mind should you decide to go this route, if you add a Custom Profile to all of the posts in a Railing that is anchored to a Stair object, the Custom Profile will display for each post, even those that are not drawn in the view because they are above the cut plane of the Stair. Checking the Replace toggle in the properties of the Custom Profile, so that the Profile replaces the graphics of the posts does not affect the display behavior here. The posts will not be drawn, but all of the base plates will show at the Stair, and they will display with ByBlock display properties, not the display properties assigned to any of the post components.

October 24, 2018

ACA: Custom Block for Railing Model Display Representation

The Model Display Representation of Railings in AutoCAD® Architecture allow for the addition of custom blocks to create additional display components for the Railing. For example, you can add base plates to the Railing Posts. For this example, I started with the out-of-the-box Guardrail - Pipe Railing Style and renamed it to Guardrail - Pipe with Base Plate.

The first step is to create an AutoCAD Block Definition to represent the base plate. I decided that the base plate should be 5.5" long, 2" wide and 1/4" high, and I wanted to be able to use the same Material Definition that is used for the Railing, so I chose to use a Mass Element for the base plate, and created a Mass Element Style, called Stainless Steel, that had the same Material Definition assigned. In the example file, which can be found in this AutoCAD Architecture forum post, I used the out-of-the-box Metals.Metal Handrails and Railings.Stainless Steel.Satin Material Definition. Using the Stainless Steel Mass Element Style, I created a "Box" shaped Mass Element of the desired dimensions.

I then made a Block Definition with the Mass Element as the only included object, with the insertion point at the centroid of the bottom face of the Mass Element.


With the Block Definition created, the next step is to add it to the Railing. This is done in the Railing's Display Properties, in the Model Display Representation. Because I want this block to be added to all instances of this Railing Style, but do not want it to be added to all Railings, this was done as a Style-level Display Override.
  • Edit the Railing Style.
  • On the Display Properties tab, select the Model Display Representation. Depending upon what view direction and Display Configuration are current, this may or may not be the Display Representation in bold type.
  • Left click on the toggle in the Style Override column on the Model Display Representation line to create a style-level override and open the Display Properties dialog for the overridden Model Display Representation.
  • In the Display Properties dialog, select the Other tab.
  • Select the Add button. This will open the Custom Block dialog.
  • In the Custom Block dialog, select the Select Block button, and then choose the Block Definition that contains the base plate in the Select a Block dialog.
  • Select OK to ratify the choice of block and return to the Custom Block dialog.
  • Since we want this added to the Posts, in the Component area at the upper right, clear the check mark from the Baluster toggle and add one to both the Fixed Post and Dynamic Post toggles. We only want to add this block to the existing posts, not replace the posts, so leave the Replace toggle unchecked.
  • Verify that none of the toggles in the Scale To Fit, Mirror In or Rotate areas are checked.
  • Verify that the Insertion Point is set to Center for X and Y and Bottom for Z. This matches the insertion point of the RailingPostBasePlate block that was created.
  • Verify that the Insertion Offset values are all set to 0.
  • Choose an appropriate radio button in the Attach To area. Since I wanted all posts to have the base plate, I chose All in this example.
  • Select OK to ratify the Custom Block settings, dismiss the Custom Block dialog and return to the Display Settings dialog.
  • Select the Layer/Color/Linetype tab.
  • Notice that there is a new Display Component listed, with the same name as the name of the Block Definition selected for the Custom Block. You can make any desired settings here, but since a Mass Element is the only element in the Custom Block, it will follow its own display settings for the Model Display Representation. The out-of-the-box drawing default settings display Mass Elements "By Material" for the Model Display Representation, just like all of the other Railing components. Since the same Material Defintion is assigned to the Railing components and the Mass Element in the Custom Block, they should all display alike. (If you really wanted to control the display properties of the Custom Block on the Layer/Color/Linetype tab of the Railing Display Properties, you could set a Style-level display override on the Mass Element Style for the Model Display Representation, clear the ByMaterial toggle and set all of the properties in the Mass Element Style Override to ByBlock. But that is not the goal in this example, and beyond the scope of this article.)
  • Select the OK button twice, to accept all the edits made, dismiss the Display Properties and Railing Styles dialogs (or, if you edited the Railing Style with the Style Manager, to dismiss the Display Properties dialog and the Style Manager) and return to the drawing.
If you do not already have an instance of the Railing Style in your drawing, add one, and then change to one of the isometric view directions, if you are not in one already. You should see the Custom Block at the bottom of each post.
The baseplate will show whenever the Model Display Representation for Railings is active, which is just about any Display Configuration/View Direction combination where Railings are turned on, except for the Top view direction, where one of the "plan" Display Representations will be used. The Plan Display Representations do not allow for attaching Custom Blocks, but they do allow for adding Custom Profile Displays. An article on how to do that can be found here.