Edit the geometry like Nodes, Analytical Lines and Walls from the Speckle stream sent from Revit ( Interactive Speckle Stream)

Hello Fellow Specklers,

Nice to meet all of you. I am a novice developer working on making an interactive stream which will allow the User to drag the Analytical Lines and Nodes sent from Revit by simply filtering and dragging the individual geometry inside the stream. The user will also have an option to edit a particular branch/ commit of the stream. I was wondering if their is a Github thread or some resource if someone can point me please? I am also looking to develop this in python only

Thank you-

We don’t have any examples of directly interacting with 3D geometry with a point-click-drag operation at this time.

Most implementations of the Speckle Viewer are Javascript based or use the Embedded Viewer.

What you describe would be a more in-depth threejs example, perhaps.

As a point of clarification, any interaction with either data or geometry of a Speckle commit would also need to include a mechanism for committing this edited data to Speckle, as every commit itself is immutable.

1 Like

Thank you, Jonathon, for pointing me in this direction. I would have a look at 3.js and is it possible somebody has worked on saving/committing the edited stream data to Speckle using SpecklePy??


I have some experience with downloading data of a commit, manipulating it in a Python script, and then uploading this data (creating a new commit) back to Speckle. This is done by directly communicating with the server though, and not by using the threejs viewer.

I used the Speckle docs for the Python SDK to learn to do this.


As @kevinpease says we have examples of committing data using specklepy. I will gather some more together. None of what we have references threeJS specifically, but it is quite straightforward from the Speckle commit side of things.

1 Like

Yes @jonathon and @kevinpease . I appreciate this a lot. Any small example can be useful. Especially three.js one. I did see the example of specklepy and I was able to integrate that in my project. Do we have a method in operations.receive to receive an obj_id filtered based on the Category like wall,etc ??? Thank you again