Object Transform

Hi all.

Could Transform be applied to the objects, say, Revit elements and change their positions in the models? Like wall[‘transform’] = transformObj …

1 Like

Great suggestion.

I’m actually sketching out a tutorial around this.

There are reasons why that’s a good thing a possible thing and there are things where it’s untested whether it will break.

I was hoping to get it done before Christmas but the diary is stacked. Thanks for raising it. It will motivate me more to get it done quicker.

1 Like

Thanks @jonathon for the answer

Well, it was rather a question :slight_smile: but yeah, it would be a cool feature for all the objects. As I got, for now you can apply transforms only for instance nested objects?

what im working on leverages the object class we have that is the same for instances. A Speckle Instance is an object that has a definition and a transform matrix

Therefore is super generic. What is also the case is that the transforms are always parent to child relative and not absolute.

So a Window is transformed relative the the wall, and in theory then we could have a generic container object that uses that wall - or even the entire Version Commit and then cumulatively move a project with a single object.

2 Likes

Yeah, in theory it could be a root Base object, or, at least a specific Collection object.

1 Like

This sounds very powerful! Could that tie into what you mentioned here about geolocation / coordinate reference systems / base point: Speckle_Revit Export by Parameter Value_Mass Floors - #13 by jonathon ?

Programmatically and theoretically, this is correct, but this is what I’m exploring - essentially, what needs to be tested is the performance across receiving connectors:

  • In some instances (no pun intended), I anticipate SpeckleToNative to create new objects in a new location, and then the parent transform will not be present on resend but the transform has been “baked”.

  • In some other instances, the parent transform may be interpreted as a collection as any other and persist in republishing.

  • In others, this operation is not anticipated, in which case behaviour and outcome are unknown.

In essence, this is my exploration with a view to see what support we can offer for the use case reported by @Jonathan_Rabagliati : Moving ALL Geometry in an entire Speckle Stream/Project - #5 by Jonathan_Rabagliati

2 Likes