Hey Nader, Good to see you.
What you describe is certainly possible. I can break your points down individually and discuss some critical caveats. It wouldn’t necessarily be via a Connector in Speckle speak.
Firstly, you may be aware that the IFC upload facility with Speckle is based on top of IFC.JS, so whatever parsing capabilities for the source files have, Speckle inherits those and Specklifies the resultant data.
I’m not clear what you are referring to as a selection. What you can do with Speckle Viewer are overlay commits and individual objects. You can see this in action if you select an object. The data tree viewer will expose its SpeckleId, which could be used to reference it to overlay with another. I happen to have just written about this here: Federating Speckle Models
I think this is the same as I have described for an object which suggests my understanding of point 1 wasn’t complete. Nevertheless, you can upload two IFC files into Speckle (subject to size limits) and view them over the top of each other.
You’ll never modify an existing stream in Speckle, but you can access all the Objects, amend them programmatically and then commit that new Model Version. Our .NET
or specklepy
SDKs can achieve this. Caveat: you will be augmenting the Objects within Speckle as properties. These can follow whatever structure you wish, but they are no longer organised with the IFC PropertySet
schema. Your data is no longer an IFC at this point.
I think my misunderstanding of what a Selection is in this context continues. If you can access all the objects in a Project Stream organised in Version Commits, you can filter and merge them. Again, fortuitously I have just written something adjacent to this here: Federating Speckle Models - #2 by jonathon
The most crucial caveat I already mentioned is that the data you now have inside Speckle will have all the data properties of the original IFC, include any changes you have made and be accessible programmatically or with authoring software for which we have a receiving connector. It is not IFC any more.