Jump to content

Live connection between web app and marionette

Recommended Posts



I'm looking to build a plug-in that establishes a live connection between a web application and Vectorworks, where the objective is to create and manipulate marionette nodes/networks.


From the research I've conducted so far, this should be completely possible, since there seems to be other plugins that have established a connection with Vectorworks through a web application. I've seen plug-ins which implement the web palette, which would suit me just fine.


I've been trying to make sense of the documentation for both the SDK and the Python API to see which route to take, but I haven't been able to get a clear idea of how to get started with this.


So basically what I'm looking to do is:

  • send a marionette network with all the nodes, their connections and values from Vectorworks to a web app/web palette.
  • send a node network from web app/palette back into Vectorworks and construct/update a marionette network.


If possible, I would love to do all of this in Python, but I don't mind getting my hands dirty with C++ and the SDK if that's the proper route to take.


I would greatly appreciate if someone could point me in the right direction.

  • Like 1
Link to comment
  • 1 month later...
  • Vectorworks, Inc Employee

Hi @Timothy Besada, this is an interesting question, but at the moment we do not provide anything for the Python Scripting that can work with the Web Palette.

Only the SDK is capable to provide a web-palette. You can find an example how to make such palette here: https://github.com/VectorworksDeveloper/SDKExamples (this is self contained project, so you should be able to compile it directly)


The base of the web-palette implementation is the two sides:
- back-end -- which is essentially the C++ plugin. It is the browser, it can add JavaScript code, a.k.a. insert JS functions for the webpages to use, and also to implement JS functions. This way, the page [the front-end] can call into Vectorworks and get data.

- front-end -- this can be an external site, or locally implemented [as the example shows, using VueJS]. This would use the JS functions provided by the back-end.


Python cannot participate in this at the moment. I guess you can simulate by exposing Script functions [IExtensionVSFunctions] in your back-end, and thus delegate a JS implementation, but I think that would not be very efficient, plus you'll need to store state somewhere, between the calls in Python. I would not recommend going down this way.


Unfortunately, the SDK is your only way to do your own web-palette.





Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...