Hi, I am quite new to Speckle. Just playing around with it for now when I have the time.
I am using the new Speckle 2 Alpha Connector for Revit (2021) as-is, v.2.3.0.
I tried to create a stream where I send the entire Revit model (“all”). The model I am working with, is the Revit RAC_sample_project.
What I find difficult, based on trying to retrieve information using graphql, or just browse the stream on speckle on-line, is what is sent, how it is classified and structured in the process and then how to query it.
If I browse the model on-line, I see that for example there are two windows under grouping “windows” with no geometry and little other information. To find all other windows, they are found under elements for each wall for example. So far, so good I guess.
However, if I query the stream, I will manage to find all windows with its parameters without going through the walls themselves, which is one thing I am trying to do. I can query by applying a filter for Category = “Windows” (the revit category) (windows seems to get speckle_type “Objects.BuiltElements.Revit.FamilyInstance”
For Walls however, the model seems more confusing. If I do the same thing, querying for Category = “Walls”, I get back some walls, but no parameters. I manage to find them when exploring on-line as well. If I do a more generic query, or browse the model on-line to find all walls, it seems I have to query for speckle_type = “Objects.BuiltElements.Wall:Objects.BuiltElements.Revit.RevitWall” to get the actual walls that has detailed information like parameters, levels, etc… (These wall elements do not have a parameter “category” with value “Walls”), thus are not returned in my graphql query for category = walls.
Also, the wall “structure” does not seem to be part of the wall - by that I mean the materials/layers of the wall. I guess there are just some constraints in the plug-in itself and what is sent?
For doors, well, they just are not sent to Speckle when sending the model (“all”). They are not even a choice if I try to send Family and Types or categories. Only way to send a door that I have found, is by manual selection.
So, I am trying to find a “unified way” to query the model and process the response. I would think that I could query different categories - Revit categories, but unfortunately it is not that easy. I am not very used to graphql, and the way Speckle structures the data. I wanted to find “one query fits all”.
To process the returning json, I played around with .NET dynamics and newtonsoft to not tie myself to serialize the response to classes, since I at first was un-sure if I could standardize what I query and the response I would get. That was no fun. Any good resources, examples, experience would be welcomed.
That was a lot, I might get an “F” in how to create a good topic