Making an AEC Adaptive Building Component

You can create an AEC adaptive building component for the Content Library.


Before you begin: You must have a valid license for Buildings Space Planning, Building Engineering 3D Design or any other 3D shape modeling app. In this example, we have used Part Design.
  1. Set the preferences as follows:
    1. From the top bar, click Me > Preferences.
    2. From the Preferences dialog box, click General > Parameters and Measure.
    3. From the Knowledge tab, select the:

      • With value check box.
      • With formula check box.

    4. From the dialog box tree, click Preferences > Infrastructure > 3D Shape Infrastructure.
    5. From the Display tab, select these check boxes:

      • External References.
      • Constraints.
      • Parameters.
      • Relations.
      • Bodies under operations.
      • Expand sketch-based feature nodes at creation.

    Note: You only have to set the preferences once. Thereafter, they are your default preferences.

  2. Open Part Design, which is accessible from the Compass.
  3. Create an AEC type 3D part as follows:
    1. From the top bar, click Add > Content.
    2. From the New Content dialog box, expand Types.
    3. From Building & Civil Architecture, Building & Civil Furniture, Building & Civil Spatial Structure, or Building and Civil Structure, on a right-click of the AEC typed PLM object type, select the Set attributes at creation check box .

      Tip: You may have to expand the selection to see the available AEC typed PLM object types.

      For example, to create a door part, from Building & Civil Architecture, right-click Door and select the Set attributes at creation check box .
    4. Click the same AEC typed PLM object type.
    5. From the new part type dialog box, in Title, enter the new catalog part name.
    6. From the 3D Part tab, select the Create 3D Part check box.
    7. Click OK.
    The system creates a new tab with your new catalog part name and adds the appropriate IFC property set to the part.
  4. On the new part tab, use Part Design to create a part.

    You may create a parametric part or a part that contains multiple bodies.

  5. To control the position of the component relative to the host object, add a publication containing an axis system

    The axis system is composed of an origin point and three orthogonal axes.

    1. From Part Design, from the Model section of the action bar, click Axis System .

      For instructions on setting the axis system, see the user assistance for Part Design: Defining an Axis System.

    2. In the tree, double-click the top node.
    3. From the Tools section of the action bar, click Create a Publication .
    4. In the tree, select the axis system node.
    5. From the Publication dialog box, from the Publication tab, in Function Name, enter the Position for the name of the publication.
    6. Click OK.
      In the tree, the system adds the publication under the Publication node.

    The system uses the Position publication to position the component relative to the host. The y axis is vertical relative to the host. For example, for a door or a window, the x axis is parallel to the sill; the y axis is parallel to the jamb; the z axis is perpendicular to the wall in a positive direction pointing out or away. For a furniture component such as a chair, the x and y axes are in the horizontal plane and the z axis is vertical.

  6. To limit the type of host for the component, create and publish a string parameter as follows:
    1. From Part Design, from the Tools section of the action bar, click Formula .
    2. Create a new parameter of type string.
      In the tree, the system adds the parameter under the Parameter node.
    3. Rename the parameter to Host.
    4. Set the parameter value to either Wall or Floor.

      For information about creating a formula, see Knowledge Basics: Formulas.

    5. In the tree, double-click the top node.
    6. From the action bar, click Create a Publication .
    7. Select the Host parameter.
    8. From the Publication dialog box, from the Publication tab, in Function Name, enter Host for the publication name.
      In the tree, the system adds the publication under the Publication node.

    If the host is the floor, users can only insert the component on horizontal surfaces. If the host is the wall, users can only insert the component on non-vertical surfaces.

  7. To provide alignment elements:
    1. From Part Design, from the Structure section of the action bar, click Body.
    2. Rename the body to AlignmentElements.

      Tip: AlignmentElements facilitate the placement of building components. Alignment planes snap to align with similar alignment planes in other components. Alignment points snap to similar alignment points in other components. Consider adding top, bottom, left and right alignment planes and alignment points at the four corners of your component

    3. Create one or more planes or points in the body.
    4. In the tree, double-click the top node.
    5. From the Tools section of the action bar, click Create a Publication .
    6. In the tree, click the AlighnmentElements body.
    7. From the Publications dialog box, from the Publication tab, in Function Name, enter AlignmentElement for the publication name.
      In the tree, the system adds the publication under the Publication node.
  8. To provide sill height:
    1. From Part Design, from the Tools section of the action bar click Formula .
    2. Create a length parameter.

      See Knowledge Basics: Formulas.

    3. Rename the parameter to SillHeight.
    4. In the tree, double-click the top node.
    5. From the Tools section of the action bar, click Create a Publication .
    6. Select the SillHeight parameter.
    7. From the Publications dialog box on the Publication, tab, in Function Name, enter SillHeight for the publication name.
      In the tree, the system adds the publication under the Publication node.

    If the host is a wall, the system uses SillHeight to define a line for the component snap elevation. The system places the snap line at the specified SillHeight distance from the story elevation.

  9. To remove or add geometry to the building:
    1. From Part Design, from the Structure section of the action bar, click Body .
    2. Add the desired solid bodies in the new body.

      For instructions on inserting a new body, see the Part Design user assistance.

    3. In the tree, double-click the top node.
    4. From the Tools section of the action bar, click Create a Publication .
    5. In the tree, click the Body node.
    6. From the Publications dialog box, from the Publication tab, in Function Name, enter Internal.
    7. Click OK.
      In the tree, the system adds the publication under the Publication node.
  10. To expose parameters that your users can select in the Position Component dialog box:
    1. Open Engineering Rules Capture, which is accessible from the Compass from 3D Modeling Apps .
    2. To set the parameters, from the Engineering Rules Capture section of the action bar, click Parameter Set .
    3. In the tree, click 3D Shape.
      The system adds the parameter set in the tree.
    4. To create another parameter set inside the first parameter set, from the action bar, click Parameter Set again.
    5. In the tree, click the new parameter set.

      For instructions on setting a parameter, see in the user assistance Knowledge Basics: Creating Sets of Parameters.

      In the tree, the system adds a parameter set underneath the first parameter set.
    6. On a right-click of the second parameter set, click Properties.
    7. Change the name of the parameter set to TemplateParameters.
    8. Add the desired parameters under the TemplateParamters parameter set.
    9. In the tree, double-click the top node.
    10. To create a publication, from the Tools section of the action bar, click Create a Publication .
    11. In the tree, click the TemplateParamters parameter set.
    12. From the Publications dialog box, from the Publication tab, in Function Name, enter TemplateParamters for the publication name.
    13. Click OK.
      In the tree, the system adds the publication under the Publication node.

    Parameters under the TemplateParameters parameter set in Publication appear in the Position Component dialog box. Users can edit the parameters while selecting and placing the component. Supported parameter types include length, combo, scalar, angle, and integer.

  11. To provide alternate graphics for use instead of the model graphics when exporting to DXF/DWG:
    1. From Part Design, from the Structure section of the action bar, click Body .
    2. Add the desired geometry in the new body.
    3. In the tree, double-click the top node.
    4. To create a publication, from the Tools section of the action bar, click Create a Publication .
    5. In the tree, click the Body node.
    6. From the Publications dialog box, from the Publication tab, in Function Name, enter 2D_Top for the publication name.
    7. Click OK.
      In the tree, the system adds the publication under the Publication node.

    If the 2D_Top publication is present in a component, the system uses the geometry in the publication to generate the graphics while exporting the top view to DWF/DWG.

  12. To have a component reference a dimension in the host object:
    1. From Part Design, from the Tools section of the action bar, click Create a Publication .
    2. In the tree, select the parameter.
    3. From the Publications dialog box from the Publication tab, in Function Name, enter one of the following for the publication name.

      • WallThickness
      • StoryHeight
      • GrossStoryHeight

    4. Click OK.
      In the tree, the system adds the publication under the Publication node.

    When a user inserts the component, the parameter value equals the corresponding dimension from the host object.

  13. To include dimension settings in attribute extensions and to include glazed panel dimensions in the Door Window Schedule:
    1. Open Engineering Rules Capture.
    2. From the action bar, click Rule .

      For instructions on setting a parameter, see in the user assistance Knowledge Basics: Creating Sets of Parameters.

      The system adds the rule in the tree and displays the Edit Rule dialog box.
    3. Add the following:

      /* Find the reference where the properties are stored. */
      let repRef(VPMRepReference)
      let repInst(VPMRepInstance)
      let ref3DPart(VPMReference)
      let listOfInstances(List)
      repRef = GetPLMOwner(Relations)
      listOfInstances = repRef->ListInstances(NULL)
      repInst = listOfInstances[1]
      ref3DPart = repInst.Owner:VPMReference
      
      /* Compute necessary dimensions. */
      let OverallHeight(LENGTH)
      let OverallWidth(LENGTH)
      OverallHeight=`Picture\TemplateParameters\Window Height`
      +2*Picture\Dimensions\LiningThickness
      OverallWidth=`Picture\TemplateParameters\Window Height`
      +2*Picture\Dimensions\LiningThickness
      
      /* Set values for the WindowBaseQuantities */
      let QTO(IfcQto_WindowBaseQuantities)
      set QTO = ref3DPart
      
      QTO.IfcQto_WindowBaseQuantities_MethodOfMeasurement="3D-Driven"
      
      QTO.IfcQto_WindowBaseQuantities_Width=`Picture\TemplateParameters\Window
      Height`	+2*Picture\Dimensions\LiningThickness
      QTO.IfcQto_WindowBaseQuantities_Height=OverallHeight
       
      
      QTO.IfcQto_WindowBaseQuantities_Width=`Picture\TemplateParameters\Window
      Height`	+2*Picture\Dimensions\LiningThickness
      QTO.IfcQto_WindowBaseQuantities_Height=OverallHeight 
      
      /* Set values for IFC Window */
      let WINDOWTYPE(IfcWindow)
      set WINDOWTYPE = ref3DPart
      WINDOWTYPE.IfcWindow_OverallWidth=OverallWidth
      WINDOWTYPE.IfcWindow_OverallHeight=OverallHeight
      
      Note: Variables and equations on the right-hand side of the equations beginning with OveralHeight= and OverallWidth= need to be customized to suite the individual components you are creating

    4. Click OK.
  14. Export the component to 3DXML as follows:
    1. From the top bar from Share, click Export.
    2. From the Export dialog box, ensure Format is set to with authoring (*.3dxml).
    3. Set Location to win_b64\resources\AECContent\BDGComponents.
    4. Click OK.
  15. To add the component to the Content Library, use a text editor to add an <Item> to win_64\resources\AECContent for the new component.
    For example:
    <Item TranslationMsgID="AEC_Large_Door" Category1=AEC_New_Door>AEC_Large_Door.3dxml</Item>

    The catalog may contain a Category1 or a Category1 and Category2 hierarchy. When adding your component to the catalog, be careful to insert the component in the proper sequence within the file. For example, all of the components within a specific category should be grouped together and the components should be ordered in the order they should appear in the Content Library.

    The Content Library includes your new component.
  16. To add a translatable name that displays in the Position Component dialog box, use a text editor to add a line for the new component to win_b64\resources\msgcatalog\AECIndex.CATNIs.
    For example:
    AEC_Large_Door = "Large Door";
    The Content Library displays the translatable string rather than the component file name.