Tuesday 22 February 2011

Create a Manhole - A Method

This post describes a method for creating a manhole cutout for a slab. Whilst this is not a particularly complex family, the aim is to demonstrate nested families, reporting parameters and formulas working together


Brief:


Create a manhole cutout for a slab, complete with recess for a cover. Add symbolic representation that will automatically change from a Pit to  a Hole when the void punches through the slab


Shopping List:


  1. Detail Item Family for Hole Symbol
  2. Detail Item Family for Pit Symbol
  3. Profile Family for Recess Void
  4. Generic Model Family for Manhole


  • Detail Item Family for Hole Symbol





  • Create a new Detail Item Family from the Metric Detail Component template
  • Add Reference Lines in a box and dimension to the Reference Planes. Use of Reference lines in this way is neater with shape handles than Reference Planes
  • Add 'Width' & 'Depth' parameters and set to 'instance'. 
  • Draw Symbolic Lines corner to corner and lock off to the Reference Lines


  • Detail Item Family for Pit Symbol





  • Open the 'HoleSymbol' Detail Item Family and save a copy as 'PitSymbol'. This is because the parametric 'rig' is identical. Delete the Symbolic Lines
  • Add a triangular Filled Region and lock of to the Reference Lines as shown. Whilst in sketch mode, dimension the short edge and add the parameter 'Symbol Depth'. Set parameter to 'instance'. Finish the Filled Region
  • Mirror the Filled Region across the diagonal as shown. Select the copy and hit 'Edit Boundary'. Select the dimension and add the parameter 'Symbol Width'. Set parameter to 'instance'.  Lock the sketch lines off to the Reference Lines
  • Create a new number parameter called 'PLock' and group under 'Constraints. In the formula box, enter 1. 
  • In the 'Symbol Width' parameter formula box, enter (Width*0.2)*PLock. While not strictly necessary in this example, this is a good method for preventing the values looping back. It is desirable for the 'Symbolic Width' to be driven by the 'Width' value. Without the second 'PLock' parameter, the value for Symbolic Width is left open, making the reverse true, which may produce an undesirable result. Do the same for the 'Symbolic Depth' parameter

  • Profile Family for Recess Void





  • Create a new Profile family from the Metric Profile template
  • With the centre origin to the top left, add two new Reference Planes for the bottom and right of the rectangle. Dimension and add parameters 'Width' & 'Depth'. Set parameters to 'type'
  • Use the pick tool to add the Profile lines to the Reference Planes and lock off
  • Save as 'Rectangle'




  • Generic Model Family for Manhole





  • Create a new Generic Model family from the Metric Generic Model Floor Based template
  • On the plan view, create a rectangular Reference Line 'rig' in the same way as the Detail Item symbolic families earlier. In this case however, add the 'Width' and 'Depth' parameters as 'shared' and set to 'type'. This is to allow the manhole to be scheduled/tagged
  • In an elevation view, add a Reference Plane and set to 'Bottom'. Dimension and add a shared parameter 'Thickness'. Set as 'instance'
  • Add a void extrusion. Lock the void off to the Reference Lines/Plane. Hit the 'Cut' command and cut away the slab
  • Load the 'Rectangle' Profile family. Add two new shared parameters, 'Rebate Width' & 'Rebate Depth'. On the type properties of the Profile Family, link the 'Width' & 'Depth' to these respectively
  • Create a new Void Sweep. For the path, select 'Pick Path', then select 'Pick 3D Edges' and pick the edges of the hole. For 'Profile', select the 'Rectangle' Family. Finish the sweep, then use the 'Cut' command to cut away the slab





  • Now to the symbol parameters. In an elevation view, dimension the slab and add a parameter, 'Floor Thickness'. Set to 'instance' and check the 'reporting parameter' box. This will report the in-place thickness of the slab for use in the formulas to follow
  • Create 2 new Yes/No parameters named 'Hole' and 'Pit. Set to 'instance'
  • Load the Detail Item families 'HoleSymbol' and 'Pit Symbol'. Insert the 'HoleSymbol' and lock off to the Reference Planes.  Pick the symbol and under the instance properties, connect the 'Width' and 'Depth' to their respective parameters in the family, and connect the 'visible' parameter to 'Hole'. Repeat the process for the 'PitSymbol', connecting the 'visible' parameter to 'Pit'
  • Add a new text parameter 'Penetration Type' and set to instance. In the formula box, enter if(Hole,"HOLE","PIT"). In plain english, this says 'If 'Hole' is checked, the text is Hole, otherwise its Pit'. The text value returned can be tagged and scheduled.
  • To determine whether the cut goes right through the slab or not, in the 'Hole' formula box enter  or(Thickness>Floor Thickness,Thickness=Floor Thickness). In plain english, this says 'If the hole is equal to or greater than the slab depth, tick the box'
  • In the 'Pit' parameter formula box, enter not(Hole). In plain english, 'if 'hole' isn't checked, check this box'
  • As the visibilty parameters of the symbolic families are linked to the 'Hole' and 'Pit' parameters, they will display respectively depending on the formula result. This can be seen in action in the final video below: 


2 comments:

Contriver said...

Is it not fair to show how share Param be made for novices

Darren Snook said...

Hello Contriver
I have to assume a certain level of knowledge when I post, otherwise as you can probably appreciate the posts can become very long! In answer to your query, Steve Stafford at Revit OpEd did a few good posts regarding shared parameters. I think these will explain them well for you
http://revitoped.blogspot.com/2005/07/what-are-parameters-and-why-should-i.html