Point Group Management
Working with COGO Points and Point Groups in Civil 3D is a core element of many field-to-finish processes. Dynamo really shines when it comes to data management, and we'll demonstrate one potential use case in this example.
Goal
🎯 Create a Point Group for each unique COGO Point description.
Key Concepts
Working with Lists
Grouping similar objects with the List.GroupByKey node
Showing custom output in Dynamo Player
Version Compatibility
This graph will run on Civil 3D 2020 and above.
Dataset
Start by downloading the sample files below and then opening the DWG file and Dynamo graph.
Solution
Here's an overview of the logic in this graph.
Get all of the COGO Points in the Document
Group the COGO Points by description
Create Point Groups
Output a summary to Dynamo Player
Let's go!
Get COGO Points
Our first step to get all of the Point Groups in the Document, then get all of the COGO Points within each group. This will give us a nested list or "list of lists," which will be easier to work with later if we flatten everything down to a single list with the List.Flatten node.
If you're new to working with Lists, take a look at the Working with Lists section.
Group Points by Description
Now that we have all the COGO Points, we need to separate them into groups based on their descriptions. This is exactly what the List.GroupByKey node does. It essentially groups together any items that share the same key.
Create Point Groups
The hard work is done! The final step is to create new Civil 3D Point Groups from the grouped COGO Points.
Output Summary
When you run the graph, there's nothing to see in the Dynamo background preview because we aren't working with any geometry. So the only way to see if the graph executed properly is to check the Toolspace, or to look at the node output previews. However, if we run the graph using Dynamo Player, then we can provide more feedback about the graph's results by outputting a summary of the Point Groups that were created. All you have to do is right-click on a node and set it to Is Output. In this case, we use a renamed Watch node to view the results.
Result
Here's an example of running the graph using Dynamo Player.
If Dynamo Player is new to you, take a look at the Dynamo Player section.
🎉 Mission accomplished!
Ideas
Here are some ideas for how you could expand the capabilities of this graph.
Modify the point grouping to be based on full description instead of raw description.
Group the points by some other pre-defined categories that you choose (e.g., "Ground shots," "Monuments," etc.)
Automatically create TIN Surfaces for points in certain groups.
Last updated