Using Data Exchange Nodes
Once the Data Connector for Dynamo is installed, it can be accessed through either Revit or Dynamo Sandbox software. For more details, please refer to the Data Connector for Dynamo - Install and Update topic. All the Data Exchange nodes will be listed under the Add-ons section in the Data Exchange GraphQL library.
Nodes
The Data Exchange GraphQL library consists of the following nodes:
- Hubs
- Projects
- Exchanges
- Exchange Data
- Object Filter
- Property Selection
The detailed explanation of all the above nodes is as follows:
Hubs
The Hubs node allows you to retrieve details related to the Hub you select.
When you click on the Hubs node, it initiates an authentication process and executes a query to retrieve hub details such as the hub ID and hub name. These details are then sent to the output node. The output node can be used as an input for other nodes such as Projects.
Click the Hubs node from the Data Exchange GraphQL library.
The Hubs node will get placed on the canvas.
Projects
The Projects node allows you to retrieve all the projects available within a specified Hub.
It requires two inputs:
- Hubs: This is the Hub ID obtained from the output of the Hubs node. Please refer to the Hubs topic to know how it works.
- Project Name (string): This is an optional input. If this input is not provided, the node will retrieve all the Projects within the hub. However, if you provide a Project Name, the node will specifically retrieve the project that matches the provided name within the hub.
Supported Input Type | Expected Output |
---|---|
Hub ID Project Name |
List of Projects |
Click the Projects node from the library.
Connect the Hub ID obtained from the Hubs node to the Hubs input of the Projects node.
To filter projects on the Projects Node, you can input the project Name as a string. This will allow you to retrieve specific projects based on their names.
Exchanges
The Exchanges node allows you to retrieve all the data exchanges within a specified project.
It requires three inputs:
- The Project ID: This is obtained from the output of the Projects node. Please refer to the Projects topic to know how it works.
- Folder Name (string): This is an optional input. If this input is not provided, the node will retrieve all the items within the project. However, if you provide a Folder Name, the node will specifically retrieve the exchange that matches the provided name within the project.
- Refresh Data: To clear cache data from the Exchanges node, Provide true (bool) to Refresh Data input.
Supported Input Type | Expected Output |
---|---|
Project Folder Name Refresh |
List of Exchanges |
Click the Exchanges node from the library.
Connect the output of the Project node to the input of the Exchanges node. This will display all the exchanges within the specified project.
GetExchangeFromURL
The GetExchangeFromURL node accepts the exchange URL as a string input and returns the corresponding Exchange based on that URL.
Supported Input Type | Expected Output |
---|---|
Exchange URL | Exchange |
Click the GetExchangeFromURL node from the library.
Connect the Output of the String node to GetExchangeFromURL node.
Exchange Data
The Exchange Data node allows you to retrieve the element properties associated with the input exchange.
It requires three inputs:
- Exchanges: This is the ID of the exchange obtained from the output of the Exchanges node. Please refer to the Exchanges topic to know how it works.
- Object Filter: This is an optional input. Please refer to the Object Filter topic to know how it works.
- Property Selection: This is an optional input. Please refer to the Property Selection topic to know how it works.
- Refresh Data: This is an optional input. If you want to clear cache data from the Exchange Data node, provide a true (bool) value to the Refresh Data Input.
Supported Input Type | Expected Output |
---|---|
Exchanges | All details are listed based on inputs. |
Click the Exchange Data node from the library.
The Exchange Data Node takes input as Exchanges and, based on the selected exchange, outputs a List of Lists of element properties. This means that for each exchange, there will be a list containing the properties of the elements associated with that exchange.
Object Filter
The Object Filter node allows you to retrieve objects based on selected property and its value.
The Object Filter node takes input from the Exchanges node. In the Object Filter node, you can retrieve objects based on selected property and its value. This can be done by selecting the desired properties and its value from the combobox. This node's output is then passed to the Exchange Data node, which retrieves the elements that match the selected property and value.
Supported Input Type | Expected Output |
---|---|
Exchanges | List of selected property and its values |
Click the Object Filter node from the library.
Connect the output of the Exchanges node to the input of the Object Filter node. Within the Object Filter node, select the properties (for example, "category"), along with its corresponding values. Then, pass the output of the Object Filter to the Exchange Data node. The selected list of elements that match the selected property and value will be received in the output node.
Property Selection
The Property Selection Node receives input from the Exchanges Node and retrieves the property names associated with that input. It then populates these property names in a dropdown menu. When you select properties from the dropdown, those selected properties become the output of the Property Selection Node.
Additionally, the Property Selection Node can now optionally take input from the Object Filter Node. When this input is provided, the dropdown menu will display only the properties that have been filtered by the Object Filter Node.
Supported Input Type | Expected Output |
---|---|
Exchanges | List of selected properties |
Object Filter |
Click the Property Selection node from the library.
Connect the output of the Exchanges node to the input of the Property Selection node. Within the Property Selection node, select the properties that you want to retrieve through the dropdown. Then, pass the output of the Property Selection node to the Exchange Data node. The selected list of properties will be received in the output node.