Speckle - Compute Pipelines

Im working on a pipeline that uses speckle with rhino.compute and this is a list of some thoughts that would make the experience better:

  • For now I cant use Revit Speckle components in compute, which is essential to send native Revit elements. From what I understand @AlanRynne is working on this and it might be solved in the next update.
  • Archicad simply does not play well with compute. Geometry that is sent from archicad to compute never gets back to speckle. The exact same script running locally does work though.
  • Revit parameter names are represented as GUID strings which makes it harder to tailor a gH definition to different Revit files. It would be much easier to have that parameter name instead of the GUID so that I can filter the name value directly from all the parameters name values.
  • It would be cleaner to be able to use just one stream to send and receive from compute. But for that to work I should be able to specify that I want to automatically receive in Revit only the commits that are done by a specific account - in this case, the compute account.
  • When I want to use the compute account, I need to manually accept the invitation to collaborate everytime. There should be a way of sending that invite with a #secret so that the invitation gets automatically accepted.
  • There needs to be a way to filter the Feed in the online Specke dashboard to remove the clutter caused by people who have subscribed webhooks (including compute commits).
  • When multiple commits are done in a short span of time, they do not show up ordered in the stream dashboard, which is a pain if you are trying to find the latest one you made.

I will come back to this post as more questions arise. Feel free to DM me if you want a hand to do some testing on this type of pipelines.

1 Like

Hey @peterandwilson! I think we’re going to have to schedule a longer chat about this :raised_hands:t3: but meanwhile…

You are correct, none of the Schema components (the ones with the yellow icon) will work on compute. As you pointed out, this has already been fixed and will be released on version 2.13

Not sure, but I think this is the same reason the Revit ones didn’t work.

Sadly, you’re going to have to take this one up with Autodesk. The guid is how Autodesk identifies it internally, so in order to be able to guarantee that we’re targeting the same parameter, it has to be stored this way :smiling_face_with_tear:

The name is stored inside the Parameter object, and you can use Get Object Keys and Get Object Value by Key to expand an object dynamically into a data tree. Granted it’s a bit more work…

Not sure what you mean by this. Could you explain further? Ideally any commits made in compute should target a specific branch in a stream, not overlap with the users changes.

I.e. user pushes to main, compute pushes to compute branch. If the user wants to pull the latest compute result, you just receive from the compute branch and you’re done.

Polluting a branch with changes coming from different places usually only brings headaches :sweat_smile:

How are you triggering the compute run? Your app should be able to store the token you received the first time you authenticated with your Speckle account, and store that somewhere so as to not bother the user every time with the login process.

More details about your particular use-case would be super helpful!

As for these 2. Since they’re web related I’m going to ping @dimitrie and @fabians so they can have a peek!

Thanks for the feedback! And do keep it coming!