I am currently using Rhino Inside Revit to place Enscape Planting Families on named Revit topo subregions.
There is a bit of scattering and density changes that I want to only display in Rhino as bounding boxes (quick!) and delay the placement of the actual component with a boolean+gate.
This works once, but subsequent toggles just replace the previous component. The undo from the previous series of place components remain listed, but the components themselves disappear.
Is this because the entirety of the script is wrapped in a single transaction? Are there ways to have independent ‘bakes’ to Revit? (beyond saving, closing and reopening)
I think the idea I am striving for is that this is an interface for any number of subregions and settings. I don’t want to explicitly place an add component for each sub region. I want the user to be able to select a single or multiple, change density (per regions selected) and then bake… and then possibly repeat as many times as they want without overwriting previous iterations. It is a step-wise process.
So many ways to do this. The question is what works best?
For selecting between 2 inputs at the press of a button, I sometimes use Pick N Choose with a Boolean:
For selecting between detailed and not detailed display, you could use a Shared Parameter on the objects to use View Filters between the detailed and the not detailed version of the trees. Of course both versions are then baked into the Revit file.
We are also experimenting with a Sub-category creator. You could create a Tree Family with all the Trees in the Site Category, then have the detailed trees in one custom sub-category and the simple trees in a different custom sub-category.
I think I am trying and failing to describe the exact problem. It is really about persistence - when I send different data to the Component by Location - it replaces the previous iteration. Which makes sense to some degree - I want to know a mechanism for breaking that realtime connection in Revit ala baking geometry in Rhino.
I want to let a user select a sub region, change density and mix for that sub region and then ‘bake’ to components in Revit.
I want them then to repeat this step for a different subregion, with possibly different scattering settings.
I have this all working. The problem is that each subsequent push of the ‘Bake’ button unleashing the component info to the Add Component (By Location) then replaces the previous iteration.
I already have a button that acts as a data dam that lets me iterate in rhino/gh and then save the most expensive (read slowest) step for last - placing the component. It is not a problem of Sub 1 or 2 - I want this to work with a topo with 30 sub regions or 2 or 4 or 5…
What I have now - does what my very first gif shows - each ‘bake’ unleashed by pressing the button - replaces the previous ‘bake’.
So as long as the filters were setup a user could select the desired area, select sub param, do GH adjustments and bake, leaving sub1, sub2 intact, adding sub3
Ultimately, this Rhino Inside test has made we just want to understand how all of this is being handled on the backend. Ideally, we could ‘bake’ things without having a user build up infrastructure (filters) beforehand or have to right click an output.
Yes, unpinning right now does break the bond with Rhino.Inside. That probably will always be true, but we are also working on a more official Binding scheme that should allow binding across multiple sessions. Once we get that prototyped we will let everyone play with it and also start filling out the docs.
I’m facing the same problem, but it seems like the “unpin” solution doesn’t work anymore.
As soon as I unpin the first family it fails to generate the second.
I’m trying to create a simple generic geometry transfer script for some of my colleagues with little to no grasshopper experience, therefore it would be great if there was a “non-hacky” solution for it.
I believe they are on the verge of releasing a big change which allows better persistence control in the Rhino-Revit exchange – probably best to hold off until this gets implemented.
If I am creating a Revit family for every Rhino layer, containing forms converted from the contents of each layer, do I need a separate Add Component (Location) GH component for EACH Revit family I am placing in the Revit project?
More simply, if I have created 10 custom families in Grasshopper, do I need 10 Add Component Location components, one for each family I am placing an instance of?
Grafting and data matching allows you to use one component. There are cases where you may want to keep things separate, but generally grafting your data is the way to go.
@Japhy Thank you Japhy. I suppose my question was vague. I realize grafting would be the method. What I meant to ask is if the Add Component (Location) can properly maintain Element Tracking if it receives multiple inputs. Sorry for the lack of clarity