Category Filter

So I’ve started to play with Forma and Dynamo and am quickly finding some call it node vs code confusion. I’m able to select proposal elements and get all proposal elements. But if I don’t tab select in some cases (Forma properties palate makes it hard to tell what I am selecting sometimes). This causes graph error handling to be needed for actual use cases.

I jumped to the the get all proposal elements node in attempt to help solve this but it becomes a dictionary nested list nightmare.

It be nice if there could be a way to do a filtered element collector by categories. Id like to get say just the partialBuildingPieceMeshes so I can explore the geometry and properties to do some MEP estimation. but am greeted by needing to teach users selection and tabbing or having to come up with a nested dictionary list extraction of nested properties based on categories.

If there is a way I’d love to know how or how to help make this an option in the future!

Hi @S.A.M ,
Could you please share which version of the DynamoForma package you’re currently using?

We’ve introduced a new version of the Select Elements node, now called Select Proposal Elements. This node lets you select elements by category or element hierarchy, and it also brings your Forma environment directly into Dynamo, so you no longer need to switch between environments.

This feature is available starting from version 7.0.0 of the package.

P.S. You can also select only parent elements by holding the CTRL key in the data structure view.

1.X something is what i appear to be using. I will update and see if that resolves my issues

So not sure what’s going on here. I view the Package Manger it says 1.0.0 I uninstall and close Revit and reopen and reinstall 8.0.0 then when I open a graph it resets back to 1.0.0 but in the manager I have 8.0.0?

The team pushed a version with an incorrect pkg.json for version 8. If it shows 1.0 it is correct. An update is forthcoming.

2 Likes

So looks like I am on 8 then.

I think my struggle is with how the Forma Select Proposal Elements works. I have two proposals and am more of a Revit API person over Forma. In Revit I would make a Selection Filter to limit/control the selection process.

For example testing I have 2 proposals made with different tools.

If I tab select on the small building to to get the partialBuildingPieceMeshes I get data I can work with.

But if a user needs to deal with say line based building. Selecting returns Buildings and I haven’t been able to find any nodes in 8.0 that allow me to get the data I was working with in proposal 1.

For a none forma person this is difficult. My intention is to make a simple set of graphs that lets our Principals or other High level not BIM staff use forma to take proposals and apply some engineering input to get soft calcs but if the selection process is this touchy I doubt they have the know how or if its possible to debug the graph or the process to fix the issue.

I guess I’m looking for something like the ISelection Filter from the Revit API I would use to limit selection. for Example Proposal 2 If they drag select I hit the issue that the can grab trees and building pads that for graph simplicity Id rather not filter out.

Hi,

Just to confirm, are these buildings created with the same method or is there any difference between them?

Can you also try using Get All Children node before Properties node?

1 Like

Created with different methods. One was a “line building” the other “basic”. Then I applied some level of floor plan sketching to them.

Using the Children Node gets me more sub objects like the floors. I do wish the Froma.Elements.Element results gave some more feed back like “Category” similar to how the Revit Element Id are displayed in the results.

maybe my miss understanding is routed in what the api documents seem to summarize as the children elements and how even though I made a building that data is not stored the same or even eixsts. One proposals building has these “PartialBiidlingPieceMeshes” that im pulling area from and the other Does not but stores Area differently.

I think this is leading to a few things I need to grab areas in a different way and that I will likely hope for some way to control a filtered selection process in Forma itself to guide users to select only the things I want them to select.

example below shows a drag select proposal elements grabbing roads and building pads not just the building I would want a user to select. To have a way to input into the Select Proposal Elements Node a way to “hide” objects I dont want users to be able to select by category to help manage user selection(s) so that the dynamo graphs won’t be as complicated trying to filter and control the input data.

The difference in results is caused by the building types in the proposals. The element shown as partialBuildingPieceMeshes is not the same as a Building element.

If the first building in Proposal 1 is not divided into floors or areas, Forma creates a single Building element. However, when a building is divided, Forma generates a mesh that encapsulates all elements instead.

Please note that partialBuildingPieceMeshes are not selectable in the 3D environment of Select Proposal Elements. They can only be selected in Dynamo Player in Forma with Select Proposal Elements, due to current API limitations. This is a known limitation of the node.

The information you get when selecting a mesh element (such as area type, area, and function ID) should also be available under the Floor category. If the floor element is further divided into areas, you’ll see area type information in addition to function ID information.

Instead of working with the mesh element, you might consider using Floors and Buildings directly.

1 Like

We have just published a blog post about Select Proposal Elements node. You can also check it out.

2 Likes

Thanks @emrullah.yildiz the blog post and explanation help! I think over the next few years there is going to be a learning period for all of those Revit and maybe Civil users that will need to start to understand how Forma handles things as I’m not sure I’ve seen a term comparison map between the Forma Object, Revit and Civil. I’m still getting to understand JSON and APS after being tied into c# and the Revit API solely for a few years now.

The APS documentation alone has been a bit to understand compared to the Revit API docs and how it explains object hierarchy

2 Likes

I agree. That is why we went ahead and reconstructed the node names and improved the node documentation. Please, let me know if there are still confusing pieces. As it is still in beta, we are eager to get feedback and improve the package.

I have also some personal notes for context matching and I can also direct you to useful documentations. I hope it helps :slight_smile:

1 Like