BIMflow Designer

In this article:

iConstruct Activities

"Activities" "Step 1"

AppendDataActivity - Used to append a property to the selected item(s).

Parameter Name Description
A Attribute Name Tab to write to – must be a writeable tab or new tab name if parameter G is true
B Property Name Property name to add
C Property Value Value to add
D Apply Property to Level Apply the properties to selected groups, items or both
E Property Type The property is text, numeric or datetime
F Exists Action Overwrite, don’t overwrite or auto-increment
G Create Tab if non existent If the nominated Attribute Name does not exist on the target object, create a new tab (otherwise the property will not be applied)
H Delete Property if value is blank If the value in parameter C is empty, delete the existing property with the same name as B if present

AppendDataRowActivity - Used to append a System.Data.DataRow to a IEnumerable<System.Data.DataRow>. This is useful, for example when iterating through a datasource and storing certain records for later use.

Parameter Name Description
A DataRow to Append The System.DataRow variable to append to the variable listed in B
B Data The variable name of the IEnumerable<System.Data.DataRow> container for the datarow

AppendModelActivity - Used to append a model to the current Navisworks document.

Parameter Name Description
A Model Filename Full path & filename of the model to append

AWPImporterActivity

ChangeViewModelActivity

ClashManagerAppendDataToItemsActivity

ClashManagerAssignGroupsActivity - Assigns a Status to Clash Detective groups based on the groups contained within the nominated layout (which allows for groups to be filtered out as required).

Parameter Name Description
A Layout Name Name of the clash manager layout
B Test Name Name of the test to create groups for (blank for all tests)
C Group Status Set the group to the Navisworks clash status

ClashManagerCreateGroupsActivity - Create Clash Detective groups based on the grouping hierarchy defined in a layout.

Parameter Name Description
A Layout Name Name of the clash manager layout
B Test Name Name of the test to create groups for (blank for all tests)

ClashManagerCreateIconNWDActivity - Create Clash Detective groups based on the grouping hierarchy defined in a layout.

Parameter Name Description
A Layout Name Name of the clash manager layout
B Test Name Name of the test to create icons (spheres) for (blank for all tests)
C Output NWD File Name Name of the NWD file to create

ClashManagerCreateViewsActivity - Create Clash Detective groups based on the grouping hierarchy defined in a layout.

Parameter Name Description
A Layout Name Name of the clash manager layout
B Test Name Name of the test to create views for (blank for all tests)
C Viewpoint Type Group or Test

ClashManagerExportToExcelActivity

ClashManagerGetTestNamesActivity - Create Clash Detective groups based on the grouping hierarchy defined in a layout.

Parameter Name Description
A Test Names Returns the available test names

ClashManagerRemoveEmptyGroupsActivity

ClashManagerSelectAllClashingItemsActivity

ClashManagerUpdateSelectionSetActivity - Updates the nominated selection set with all the clashing objects for all tests within the currently loaded layout.

Parameter Name Description
A Layout Name Name of the Clash Manager layout to use
B Selection Set Name Name of the selection set to update, use back slash for folders
C Load Clash Data Loads clash data, should be set to ‘True’ for the first call

ClashTestClearActivity - Clears the result of the nominated clash test, leave blank to clear all tests.

Parameter Name Description
A Clash Test Name If nominated, clears the clash test, otherwise clears all tests

ClashTestCompactActivity - Compacts the nominated clash test, leave blank to compact all tests.

Parameter Name Description
A Clash Test Name If nominated, compacts the clash test, otherwise compacts all tests

ClashTestDeleteActivity - Deletes the nominated clash test, leave blank to delete all tests.

Parameter Name Description
A Clash Test Name If nominated, deletes the clash test, otherwise deletes all tests

ClashTestLoadActivity - Imports clash tests from an XML file.

Parameter Name Description
A Clash Test XML File XML File containing the clash tests to load

ClashTestRunActivity - Runs the nominated clash test, leave blank to run all tests.

Parameter Name Description
A Clash Test Name If nominated, runs the clash test, otherwise runs all tests

ClashViewReportActivity - Produces a clash report for the nominated layout using the nominate template.

Parameter Name Description
A Clash Report Template The report template to use for the export
B Clash Test Name The nominated clash test to run the report on
C File Name Override File name to export report to, file name must end with pdf, xlsx, xls, html or csv

ColorByModelActivity - Colors each loaded model a distinct separate color. No parameters required.

ColourCodeActivity - Runs the nominated Color Code template.

Parameter Name Description
A ColorCode Template Color Code Template to run
B Export to Image Override Nominate a jpg file name to output the colour code image to

ColourSelectionActivity - Changes the colour & transparency of the selected items to the nominated RGB values.

Parameter Name Description
A RedValue Value in the range 0-255 for the red component of the colour
B GreenValue Value in the range 0-255 for the green component of the colour
C BlueValue Value in the range 0-255 for the blue component of the colour
D Transparency Value in the range 0-10 for the transparency of the selection(10=hidden)

CompilePDFActivity

CopyOpenModelsToCentralLocationActivity

CreateSearchSetActivity

CreateSelectionSetActivity - Creates a named selection set based on the current selection.

Parameter Name Description
A Selection Set Name The name of the selection set (backslash denotes folder, which will be created if it doesn’t exist, ie myfolder\myset)

CreateViewpointActivity

CullUnselectedModelsActivity - Unloads models from the scene that do not have bounding boxes interfacing with the selected model’s bounding box. No parameters required.

DataLinkerActivity - DataLinker Template to run.

Parameter Name Description
A DataLinker Template DataLinker Template to run
B ACCDB File Override Nominate a different ACCDB file to use (only use if template is set for Access). Note this option will automatically apply all fields from the table

DWGExporterActivity - Runs the nominated DWG Export.

Parameter Name Description
A Output filename TheDWG filename to write the geometry to
B DWG Exporter Template The DWG Exporter Template to use

ExecuteAuditActivity - Runs the nominated Audit template.

Parameter Name Description
A Audit Template Audit Template to run

ExportBlueBeamPDFActivity - Exports the current document using BlueBeam PDF (note requires user to have BlueBeam for Navisworks installed).

Parameter Name Description
A Export FileName Name of 3D PDF to create

ExportDataActivity - Runs the nominated Export template.

Parameter Name Description
A Export Template Export Template to run
B File Name Override Override for the destination file, must end with one of accdb, pdf, xls, xlsx, html or csv
C Display to User Use for interactive macros only (assign using ‘Macro Configuration’ this opens the report once created)

ExportExcelClashTestsActivity

ExportExcelSearchSets

FBXExportActivity - Exports the visible items to a nominated FBX file.

Parameter Name Description
A Export File Name FBX file name to export visible items to

FindReplaceActivity - Runs a predefined Find & Replace template.

Parameter Name Description
A FindReplace Template The Find & Replace template to run

GetFileFromMultipleLocationsActivity

GetNwfModelListActivity - Returns a list of the currently loaded models.

Parameter Name Description
A Type of Source file The file name source to return as the file name – can be either the ‘Current File Name’ or ‘Source File Name’
B Model List Result Models returned as a List of String

GetViewPointDataActivity - Collects the viewpoint information and returns a System.Data.DataTable object.

Parameter Name Description
A Viewpoint Data DataTable containing the field names ‘ViewName’, ‘FolderPath’ and ‘Index’
B Row Count Number of views returned

HideExceptSelectedActivity - Hides everything in the model except for the selected items.

HideResetAllActivity - Makes all items in the model visible.

HideSelectedActivity - Hides the selected items.

IFCToolsTranslateActivity - Translates an IFC file.

Parameter Name Description
A IFC Source File Name The source path & file name of the IFC file to translate
B IFC Destination File Name The destination path & file name for the translated IFC file to be written to
C Translate X Value to move model in the X-axis, in file units
D Translate Y Value to move model in the Y-axis, in file units
E Translate Z Value to move model in the Z-axis, in file units
F Rotation Angle to rotate the model around the Z axis by, in degrees

ImportExcelClashTestsActivity

ImportExcelFilesToSQLServerActivity

ImportExcelSearchSetActivity

ImportSearchSetXMLActivity

ImportViewpointsXMLActivity - Imports viewpoints from the nominated xml.

Parameter Name Description
A XML File Name Viewpoints xml file name
B Clear existing viewpoints Set to true to clear existing viewpoints before importing xml viewpoints

IntegratorActivity - Runs the nominated Integrator template.

Parameter Name Description
A Integrator Template The Integrator template to run
B Override Tab Name Changes the name to use when creating the user data tab

InvertSelectionActivity - Inverts the current selection.

IsModelLoadedActivity - Checks if a nominated model is loaded.

Parameter Name Description
A FileName FileName to check if loaded
B Timeout in Seconds Time to wait before giving up
C Model loaded result True if loaded, false if not

MaterialResetAllActivity - Resets all overridden colours to the original object colours.

ModelCompareActivity - Runs the model comparison tool with the specified template, outputting the results to the nominated SQLite file. The SQLite file can then be viewed using the model compare browser.

Parameter Name Description
A Model Compare Template The model compare template to use
B SQLite file name The destination file name for the model comparison data, if file exists the model comparison data is appended

ModelDumpActivity

MoveModelActivity

MoveSelectionActivity - Checks if a nominated model is loaded.

Parameter Name Description
A X Distance to move selection in the X-axis, in file units
B Y Distance to move selection in the Y-axis, in file units
C Z Distance to move selection in the Z-axis, in file units
D Rotation Angle to rotate selection by, in degrees
E Scale Value to scale selection by

OpenFileActivity - Runs a specified open file template on the selected item(s).

Parameter Name Description
A OpenFile Template Template to run on selection

OpenModelActivity - Opens a model. If there are any existing models in Navisworks they are cleared first (use AppendModelActivity to add a model to existing models).

Parameter Name Description
A Model Filename The full path and filename of the file to open

ProjectWiseDownloadFilesActivity

ProjectWiseUploadFileActivity

PublishModelActivity

PurgeAllSelectionSetsActivity

PurgeAllViewpointsActivity - Deletes all viewpoints from the model.

ReadHierarchyFromSelectedModelActivity

ReadPropertyValueActivity - Reads the specified property value from the first object in the current selection.

Parameter Name Description
A Attribute Attribute (tab) name to read from
B Property Property name to read
C PropertyValue Value returned

ReConstructActivity - Runs the nominated ReConstruct Template.

Parameter Name Description
A ReConstruct Template The ReConstruct template to run
B Output Filename Nominate the destination NWD file name
C Second Chance GroupBy Property If the first group by property does not exist, try this second property instead of having the item go to ‘NOGROUP’
D Partial Object Failure An error was reported during ReConstruct – if this is true it’s advised to run the template manually on the file and check for errors

RecoverLastTempNwcActivity

RemoveSelectedModelsFromNWFActivity - Removes the currently selected models from the currently loaded NWF.

RenameViewPointActivity - Renames the currently active viewpoint.

Parameter Name Description
A New View Name The name to rename the currently active viewpoint to

RunAppearanceProfileActivity

SaveModelActivity - Saves the current model (or collection of models) to the nominated NWD filename.

Parameter Name Description
A Model Filename The full path and filename of the file to save to
B File Version Sets the file version

SelectAllActivity - Selects all the items in a model.

SelectAllItemsWithGeometryActivity

SelectAllSearchSetActivity - Selects all the items in all search sets listed in an Audit Template.

Parameter Name Description
A Audit Template The Audit Template to use

SelectAllVisibleItemsActivity

SelectByConditionActivity - Selects one or more items by nominated values. The Conditions work in the same way as Navisworks ‘Find Items’ panel. Use Search Within Selection/Add result to current selection to replicate AND / OR.

Parameter Name Description
A Attribute Name The attribute name to search on
B Property Name The property name to search on (if required)
C Value The value to search for (if required)
D Condition The condition (Equals, Contains, Defined, Undefined)
E Search Within Selection Apply search only to items already selected
F Add result to current selection Add the results of the search to the currently selected items
G PathCount The number of paths (selected nodes in selection tree) returned

SelectNoneActivity - Deselects any selected items.

SelectSearchSetActivity - Selects items based on a nominated search set name within an Audit template.

Parameter Name Description
A Audit Template The Audit Template to use
B Search Set Name The search set to use for the selection

SelectSelectionSetActivity - Selects items based on a nominated selection set or search set name.

Parameter Name Description
A Selection Set Name The selection or search set name to use

SelectViewActivity - Activates a nominated viewpoint.

Parameter Name Description
A View Name Show the first view matching the name
B View Index Show the view with the given index (1 = first view)
C View Count The number of views found (if View Name used to search)
D ViewWasFound Boolean value indicating if a view was found matching criteria

SetBackgroundColorActivity

SetLightingActivity - Sets the lighting for the current model.

Parameter Name Description
A Lighting Type None, Head Light, Scene Lights or Full Lights

SetTransparencyToZeroActivity

SmartIFCExporterActivity - Exports the currently visible items as an IFC file.

Parameter Name Description
A Project Name Project name for the IFC file metadata
B Organization Organization for the IFC file metadata
C Author Author for the IFC file metadata
D Site Name Site name for the IFC file metadata
E Building Name Building name for the IFC file metadata
F Output File Name IFC output file name
G IFC Exporter Template IFC template to use for the export

TestSQLConnectionStringActivity

ToggleAllDockWindowsActivity

ToggleDockWindowActivity

UpdateCurrentViewActivity - Updates the currently selected viewpoint’s material and hidden override with the active view state. If no saved viewpoint is current, this command has no effect unless the ‘ViewName’ parameter is set, in which case a new viewpoint is created (use backslash to denote folders ie “MyFolder\MyView”). If the comment field is set, a new comment will be added to the view with the contents.

Parameter Name Description
A Set Material Override Sets the material override option for the view
B Set Hidden Override Sets the hidden override option for the view
C ViewName Name to use when creating a new view
D Comment Text to add to view as a comment
E Set isometric Sets view to zoomed extents isometric if creating a new view

ViewReportActivity

ZoomToAllActivity

ZoneToolsActivity - Sets the lighting for the current model.

Parameter Name Description
A Specify Zone Tools Template Zone Tools template to run

Standard

"Standard"

StartNavisworks - Begins a Navisworks session, optionally connects to the existing running Navisworks instance. If the option to attach to the existing is set to false, any running Navisworks processes will be terminated.

Parameter Description
AttachToExistingInstace If set to true, connects to the running instance of Navisworks. If no instance is running, the workflow will wait until the user opens Navisworks. If set to false, terminates any running Navisworks processes and launches a new Navisworks
TimeOutInSeconds Time to wait until failure if Navisworks is not found
Result Returns ‘true’ if successfully connected, ‘false’ if connection failed

StopNavisworks - Terminates the connected Navisworks session (if AttachToExistingInstace is false, otherwise this has no effect).

SaveModel - Saves the current model (or collection of models) to the nominated NWD filename.

Parameter Name Description
A Model Filename The full path and filename of the file to save to

RunRobocopy - Runs the robocopy command (to perform file/folder copying) with the given arguments. For basic single file copying use CopyFile instead. An example argument would be (include quotes as the argument is passed as a string): “c:\mymodels\ c:\destination_models\ *.dwg /LOG:robocopy.log”.

Parameter Description
Result If there is a problem starting the Robocopy process this returns false otherwise true – note that this routine does not analyse Robocopy’s output and therefore if there are problems copying files etc it is recommended to use the log file option and review afterwards
Arguments The arguments to use for the robocopy process

IsDriveSubstituted - Indicates if a given drive letter is substituted using the SubstituteDrive command, as opposed to a mapped network or local drive.

Parameter Description
Result Returns true if drive is substituted, false if it is not
DriveLetter The drive letter to check ie “t:”

DisconnectNetworkDrive - Disconnects the nominated network drive.

Parameter Description
Result Reports false if no attempt could be made to disconnect the drive (does not check if disconnect was successful)
DriveLetter The network drive letter to disconnect ie “t:”

DisconnectSubstDrive - Disconnects the nominated substituted (by using the SubstituteDrive command) drive.

Parameter Description
Result Reports false if no attempt could be made to disconnect the drive (does not check if disconnect was successful)
DriveLetter The substituted drive letter to disconnect ie “t:”

SubstituteDrive - Substitutes the nominated folder to a drive letter using the SUBST command (for further information see http://technet.microsoft.com/en-us/library/bb491006.aspx).

Parameter Description
Result Reports false if no attempt could be made to subst the drive (does not check if substitution was successful)
DriveLetter The drive letter to map to – note this drive letter should not exist before running this command
PathToMap The folder to map to the nominated drive letter

ConnectNetworkDrive - Maps a server path to the nominated drive letter, similar to mapping a network folder in Windows Explorer.

Parameter Description
Result Reports false if no attempt could be made to map the drive (does not check if map was successful)
DriveLetter The drive letter to map to – note this drive letter should not exist before running this command
ServerPath The UNC path of the network share to map to ie \servername\sharename

ExecuteDataQuery - Queries a datasource for a list of records (IEnumerable<System.Data.DataRow>). Example Connection string / query for connecting to an Excel file: "provider=Microsoft.ACE.OLEDB.12.0;Data Source=""c:\data\myexcel.xlsx"";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1""" Query: "select * from [Sheet1$]" Examples Connection string / query for SQL server with/without windows authentication: "data source=sqlservername; database=databasename;" "data source= sqlservername;uid=username;password=password;database= databasename;" Query: "select * from [myTableName]"

Parameter Description
ConnectionString The connectionstring for the data source (see examples above)
Count The number of DataRows returned
Query The query for the datasource (see above for examples)
Result Returns the IEnumerable<System.Data.DataRow> object to use with the ‘Foreach’ ControlFlow

FileExist - Checks if a file exists.

Parameter Description
Result Returns true if file exists, or false if file does not exist
FileName The full path and filename to check the existence of

CreateDirectory -

WaitForFileToExist - Waits for a file to be created and available (ie if a large file, will wait until the file has finished being written to).

Parameter Description
Result Returns true if file was created within the timeout, or false if it did not
FileName The full path and filename to wait for the creation of
TimeOutInSeconds The length of time to wait for the file to be created

CopyFile - Copies a single file, for advanced file/folder copying, use RunRoboCopy instead.

Parameter Description
CopyResult Returns true if the file copy succeeded, false if it did not
DestFile The full path and filename to copy the sourcefile to
OverWrite Set to true to overwrite an existing file of the same name, or false to cancel file copying if a file of the same name already exists
SourceFile The full path and filename of the file to copy

DeleteFiles - Deletes a nominated file or files from a nominated path based on a wildcard search pattern. This command should be used with caution as there is no confirmation once it is called.

Parameter Description
Result Returns true if there were no errors during the deletion process
Path The full path to search for the files to delete
SearchPattern Either the filename or a wildcard pattern to delete the files ie “myfile.dwg” or “*.bak”

GetFileList - Gets a list of files from a nominated directory (and optionally subdirectories) and returns the list in the variable of type IEnumerable<System.Data.DataRow> The fields returned are as follows:

Field DataType Description
FileName String The name of the file
FilePath String The path to the file
FileSize Int The size of the file in bytes
FileModifiedDate DateTime The last date & time the file was written to
FileCreatedDate DateTime The date & time the file was created
Parameter Description
Count Returns number of rows in the returned IEnumerable
FileSearchString The wildcard search to use ie “*.dwg”
FileTable Returns the IEnumerable<System.Data.DataRow>
PathToSearch The root path to start the search
SearchSubDirectories True to search subdirectories, False to only search current

GetFileSize - Gets the size (in bytes) of the nominated file.

Parameter Description
FileName The full path and name of the file to return the size of
FileSize Returns the size of the file, in bytes

AppendTextToFile - Appends a line of text to a nominated file. This command is useful for logging information during processing.

Parameter Description
TextFileName The full path and name of the file to append the text to
TextToAppend The string of text to append
Result Returns true if append was successful, false if not

ReadTextFromFile - Reads text from a nominated file.

Parameter Description
TextData Returns the text from the file
TextFileName The full path and name of the file to read the text from

ExecuteRegex - Executes a regular expression – more information on regular expressions can be found at https://msdn.microsoft.com/en-us/library/az24scfc(v=vs.110).aspx

Parameter Description
FirstGroupResult Returns the first group result from the executed regex
GroupResults Returns all the group results from the executed regex
RegularExpression The regular expression to apply to the target string
TargetString The text to perform the regex on

RunAutoCAD - Launches AutoCAD, if installed, with the given start arguments. Useful if the workflow needs to process DWG files using a custom AutoCAD script or command, before reading with Navisworks for further processing.

Parameter Description
AcadStartArguments The command line arguments to start AutoCAD.
PathToAcadExecutable The path to Acad.exe
Result Returns true if no errors starting the process, false if there was an error or timeout
TimeOutInSeconds The amount of time to wait before terminating the Acad.exe process (ie if a script is expected to complete within 5mins, set this to ensure the workflow doesn’t stop indefinitely)

SendMail - Sends an email. Note: if a username and password is specified it is recommended users nominate an email-only account and not use their own login as the password is stored as clear text.

Parameter Description
Attachments Collection<System.Mail.Net.Attachment> of attachments to add to the email
Bcc Email addresses to BCC
Body Body of the email
BodyTemplatePath If specified, loads a predefined template into the body
CC Email addresses to CC
DisplayName Email address sender’s display name
Domain Domain to authenticate the username and password against
EnableSSL True if connection to the mail server is to be encrypted using SSL
From Email address of sender
Host Email server ip or name
Password Password for nominated username
Port Port of SMTP server, usually 25
Subject Subject line of email
TestDropPath If a path is specified, email is written here as a html/text file
TestMailTo If this is filled out, the ‘To’ address is changed to this and a note is added to the bottom of the email
To Email addresses to send to
Tokens Used for mail-merge functionality. Replaces text in the email with text from a dictionary
UserName User name to log into the mail server with – if this is empty uses currently logged on user’s credentials

Control Flow

The control flow functions are documented in the Microsoft Workflow Designer documentation at the following link: http://msdn.microsoft.com/enus/library/ee829560.aspx. These descriptions give a brief summary for convenience.

"Control Flow"

DoWhile - Loop through the actions listed in the DoWhile Body while the Condition is true. The test on the condition is done at the end of the first loop so the loop is entered at least once.

"Control Flow"

ForEach - Used to enumerate an IEnumerable, for example each row of an Excel file returned from ExecuteDataQuery.

"Control Flow"

If - If result is true, perform the activities in Then, otherwise perform the activities in Else.

"Control Flow"

Parallel - Runs through one or more sequences, waiting until all are complete before progressing. Note this function does not actually run the sequences simultaneously.

"Control Flow"

ParallelForEach -

Pick/PickBranch - A pick container contains 2 or more PickBranch objects. The trigger is the completion of an event. For example, an activity is placed in the first branch trigger and a Delay is place in the second, set to 10 seconds. If the first activity in the first branch does not complete within 10 seconds then the delay activity action will occur.

"Control Flow"

Sequence - A sequence is a container for multiple activities. By default, where a container states Drop activity here only one activity is allowed. By dropping the Sequence activity several activities can occur.

"Control Flow"

Switch - Evaluates an expression against given possible cases, and performs the sequence relevant to the case. Used in a similar fashion to If/Else but where there are more than 2 possibilities. For example if there are 3 types of items in a field and an IEnumerable is being enumerated, different actions can be assigned depending on which one.

"Control Flow"

While - Loop through the actions listed in the DoWhile Body while the Condition is true. The test on the condition is done at the start of the first loop, so if it is not true to begin with the loop will not be entered.

"Control Flow"

Assign - Assign a value to a variable. Parameter To: The variable to assign the value to. Value: the specified value to assign to the variable.

WriteLine - Text that displays to the user in the BIMflow Monitor.

Delay - Suspends the processing of the current body/sequence for a given amount of time. Parameter Duration: time to delay in milliseconds.

InvokeMethod -

TerminateWorkflow - Terminates the workflow at this point. Parameter Exception: Reserved, Parameter Reason: Text to display to the user on termination.