Quantcast
Channel: Bentley Communities
Viewing all articles
Browse latest Browse all 4605

GC SS6 - Creating and Modifying ABD Floors

$
0
0

The GC Floor Node can be used to create and update AECOsim Building Designer floors.

The simplest workflow to achieve this is to start with a project floor master file that contains the Site but no Buildings. All floors will then be managed by the GC script that follows. The GC script will be used for all subsequent floor management.

Create a file for exclusive use by the team members responsible for floor management. The only use for this file should be floor creation/update.

The GC Nodes that will be used are:

  • Coordinate System
  • Building
  • Floor

The steps required are:

  1. Create a Coordinate System node using the 'AtModelOrign' method, pin the 'Z' output to the node for use in the next step
  2. Create a Building node using the 'CreateNewBuilding' method. Connect the BaseElevation input to the coordinate system's Z output. Ensure that the node name and the 'ArchBuilding_BuildingName' property are identical, this avoids confusion later. (Consistent naming is crucial to keeping track of what is going on in any GC or other scripting environment!)
  3. Save a transaction
  4. Create a floor node using the 'CreateAtBuilding' method. Double-click on the node to open the Node Properties panel. In this enter any information that you need to have in the node now and enter placeholder values in any properties that you anticipate needing to use later in the life of the project. (This is so that the relevant properties are included in the node before you copy it to all the other floors.)
    1. Name the node appropriately, enter a name in the 'ArchFloor_FloorName' property (this does not have to be the same as the node name, but it mat be clearer if it is, on the other hand a short codename for the node may be better than a longer display name. The  'ArchFloor_FloorName' property is used by Floor Manager so this is the floor name that you will see used in the ABD interface.
    2. Enter the FFL or SSL in the 'ArchFloor_FinishedFloorElevation', this is the value that will be used by the Floor Manager Elevation field. (Note that in GC/ABD SS6 the floor to floor values are calculated from the input elevation values, whereas in ABD SS6 the floor to floor is the editable value that drives the floors.)
  5. Copy the floor node a couple of times and edit the names and elevation values.
  6. Save a transaction.
  7. Copy and paste another floor node, edit the names and elevation values.
  8. Save a transaction.

Obviously copying and editing the floor node many times in the Graph view is a fairly tedious process. At this point go to the transactions panel and click on the 'Edit this transaction file' icon. Take a look at the structure of the script.

Note: More detailed descriptions of the transactions can be found in the Building Help documents, look for the Bentley GenerativeComponents Extension >  Getting Started > Transactions topic.

Rather than copying the floor nodes in the Graph view, copy and paste the node within this third transaction as many times as required, then edit the names and elevation values in the transaction script, this is much quicker than using the GUI and gives an understanding of what lies behind the GUI.

For very tall buildings this will also be relatively time consuming. If floors can be grouped logically into sets with the same floor to floor height, GC scripting could be used to generate groups of floors based on variables. Doing that is beyond the scope of this introductory article but the possibilities available through scripting are endless. The object of this article is to demonstrate a relatively simple example.

transaction modelChange 'Add Upper Floors'
{
    node User.Objects.Floor_01 Bentley.GC.NodeTypes.Floor
    {
        Technique                 = 'CreateAtBuilding';
        CatalogItem               = {'Floor','Default'};
        OwningBuilding            = GC_building_01;
        ArchFloor_FloorName       = 'Floor_01';
        ArchFloor_FinishedFloorElevation = 6000;
        ArchFloor_ApproxLength    = 8000;
        ArchFloor_ApproxWidth     = 5000;
        GraphLocation             = {505.0, 372.0};
    }
}

The Red text is the transaction, the green text is the node. Copy and paste as many nodes as you need.

See the attached text file for an example. To use this:

  1. Run ABD with GenerativeComponents
  2. Create a new file.
  3. Check that your Floor Manager does not have an existing building named 'GC_building_01'
  4. Go straight to the Transaction File Script Editor and paste the whole text. Click Ok.
  5. Run the transactions
  6. View the results in the Floor Manager.

You can:

  • Amend the script and re-run
  • Add further transactions with additional floors and re-run
  • Insert floors by adding them in sequence to an existing transaction and re-run

You cannot (in SS6):

  • Insert floors by adding them to a later transaction, this results in invalid floor to floor heights. This will be addressed in a future release.

An alternative option is to base the building on a Coordinate system using the 'ByCartesianCoordinates' method. By using this method you make the coordinate system's Z value available for manipulation. This Z value then populates the Floor Manger Relative Elevation property allowing the datum height of the whole building to be modified. This is additional to the 'AtModelOrigin' coordinate system, see the second example attached.

Watch Out For:

Be aware that undoing the GC transactions will remove the floors created so take care with the timing of any changes/updates.

Any changes made within the Floor Manager interface would be overwritten by later GC updates as a GC script will run every time the file containing it is opened.(If the transactions are undone, removing all floors, and the file is then saved in that state, every time it runs it will remove any floors related to the Building in the script.)

Regularly backup the BB_Floormaster.dgnlib and the text of scripts used. Export to GCT is available for the latter.

The example scripts are here:

(Please visit the site to view this file)


Viewing all articles
Browse latest Browse all 4605

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>