I’ve run into an issue when sending Speckle blocks from Grasshopper.
It seems that when I send blocks (using the standard Speckle components), the objects do not retain a unique applicationId. This makes it very difficult to perform accurate diffs between versions, as I can’t reliably track which object is which across commits.
Hey Jonathan, Thank you for your reply, it works, but not on Gen 3 connector, when i try to add it as a prop, it won’t overwrite the applicationId generated by gen 3 connector. Any workaround for Gen 3 connector?
Hi @Ray_Yong , I’ll look into enabling applicationId overrides in the new Grasshopper connector - do you need this id to be a specific one you assign, or are you happy with us assigning one as long as it maintains a consistent id for change tracking?
Hey @clrkng, ideally it would be the guid of the object, because i was trying to reference the object across few streams. If the ID can be consistent throughout multiple stream, it is also ok.
I can push an update to allow our passthrough nodes (for Speckle Object, Speckle Block Instance, and Speckle Block Definition) to preserve an incoming model object guid. You should be able to change any other input on these passthrough nodes without changing the application id.
If this is what you’re looking for, I can push a new release soon with the update
Thank you for your prompt reply. This sounds like exactly what i wanted. Also, if i pull a stream from speckle, and send it to another stream, will the application id or id change?
I’ve now released a hotfix for this: if you install our new Grasshopper connector version 3.5.1, the application ids are now persistent when you use passthrough nodes
Thanks Claire, I have another question regarding this, how can i update the geometry after streaming in my object, while keeping its application id? Is this possible?
Yes this is possible: you can use the Speckle Object passthrough node to do so.
Make sure you input your original object as the first parameter (a model object, or another existing speckle object), and you can input a different geometry into the second geometry input. This will leave the input object applicationId unchanged.