Jump to content

Timothy Besada

Member
  • Posts

    8
  • Joined

  • Last visited

Everything posted by Timothy Besada

  1. Hi, 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.
  2. @Marissa Farrell That's what I suspected. I really appreciate that you checked with them though and that you've been spending time on this!
  3. Hi Marissa, Here is the file I'm working with where both objects and classes are present. Thanks for taking a look! Grades_Stakes_Class_by_Mode_Marionette.vwx
  4. Hi, I'm working on a Marionette network where I'm assigning stakes and grades to different classes based on what parameters are chosen for the object. One of the values I'm trying to include in this network is the one that controls whether the Grade-objects affects the "Existing site model" or the "Proposed site model". For the Stake-object this is no problem, since I can find a field for that in the records. But when it comes to the Grade-object, it doesn't seem to be exposed or controllable through record. I've tried every way I can think of to see if there is anyway for me to read which value is selected (the Marionette network doesn't need to able to change this parameter, just read the data from it) but I haven't found a way. Granted, I'm quite new with Marionette and haven't learned all the ins and outs yet. So I thought I would ask here to see if anyone could point me in the right direction if what I'm trying to do is possible at all. Attached is an image showing the parameter I'm trying to read (the parameter is only applicable when the Object Mode is set to "Use heights from the site model" or "Change site model". I'll also attach my current network which is switching classes based on the object mode, to give a clear idea of what I'm trying to do. Appreciate any help I can get! Grades_Stakes_Class_by_Mode.vwx
  5. You're a true superstar @Marissa Farrell! I'm aware about the issues regarding the naming of the Focus Points and the filtering of the Lighting Devices. I was going to resolve these things after the grouping/selection issues, but you beat me to it! I was thinking of creating a solution where if the tool is used with Lighting Devices that already have Focus Points attached, it would ask if you would like to overwrite these or not. What do you think would be the best solution? I also tried the Set Selection node without any luck. Even tried de-selecting everything first and then passing on just the Focus Point objects to the Set Selection node, but that didn't work either.
  6. Hi! Lately I've been training a lot of people within the entertainment industry on how to use Vectorworks Spotlight for their CAD needs. One of the areas that I've noticed that they find a bit counter intuitive and tedious, is the way we currently aim our lights with focus points - especially if each light needs it's own focus point. Say for instance that you have 10 lighting devices next to each other and wish for all of them to look straight ahead in 3D, you would have to create 10 focus points, place them at the desired positions and then assign these to each lamp. This can be done a bit more efficiently by using the "Move by Points"-tool in conjunction with the "Spotlight Numbering"-tool, but it's still a process that requires a lot of clicks and might be a bit advanced for new users. Marionette, Python and Vectorscript to the rescue! So I've been putting together a tool, using the existing Marionette-nodes together with a few custom nodes containing Vectorscript in Python form, that assists Spotlight users in assigning multiple focus points to multiple lighting devices based on the lighting device position and rotation. This tool allows the user to select the desired lighting devices they wish to focus and run the command where they can set the following parameters through a popup dialog: Height/Z-value of focus point/s Distance between lighting device/s and focus point/s Shape of the focus point/s Class for the focus point/s Name visibility for focus point/s I've got all of this basic functionality working in a Marionette-network and the tool generates the focus points as desired, but I'm encountering a few problems that I think are connected to how Marionette behaves depending on which state the network is in. By that, I mean if the network is unwrapped, wrapped or turned into a Marionette Command. Since I need to work with selections, I have to make the tool a Marionette Command which is giving me the following issues: For some reason, the script gives me the generated focus points in a nested group (a group within another group). I've tried using the ungroup node and also creating my custom node that tries to force an ungroup, but with no success. If I instead run the Marionette script from the wrapper or unwrapped, I don't get this behavior with nested groups and I can also force an ungroup. It also behaves differently regarding what is selected after the script has been run. If I run the script as a Marionette Command, it adds the group with the focus points to my current selection with the lighting devices. If I run the script unwrapped/wrapped, I only get the group with the focus points as my selection. When the focus points are generated through the script Marionette Command, they aren't visible or selectable right away, I can see that they have been created if I look at the OIP since I can see that they've been added to my selection, but I have to update my view or projection for them to start behaving as regular objects on my design-layer. This does not happen if I run the script unwrapped/wrapped. I've tried creating custom nodes (to try to get around this temporarily) that redraw-objects, refreshes view or refreshes projection but with no luck. These nodes work as desired when unwrapped/wrapped but not when turned into a command. It seems like these problems happen after the whole script is run, so even if I refresh my view at the end of the Marionette script, it doesn't help. I'm pretty sure the same applies to the first issue regarding the grouping. I have attached my latest version of the tool in this post, where you can see the network wrapped in two variations and some lights for testing. One that is meant to be run straight from the wrapper (this will generate focus points for all lights that have the lighting device record attached on the drawing). This one has the desired behavior, but cannot work with selections, since I can't select a bunch of lights and then run the script from the wrapper. The second one is meant to be converted into a Marionette Command, so that it can be run from the Tools -> Marionette Commands menu - after making a selection. This is the one that has the aforementioned issues. I appreciate any help or insights I can get regarding these issues or any other thoughts or ideas for the tool. Hopefully this can become something that makes life a little bit easier for people that work with lighting devices and focus points. Best regards, Timothy FP_Generator_V1.vwx
  7. Hi Marissa, This seems to have resolved the issue. Thank you!
  8. Hi, So, I've been attempting to create a Marionette object that can take a text string and extrude it to create 3D text. I've got the script up and running and when I choose to run the script, my 3D text is generated as expected. I can also wrap my network and run the script and everything works fine. Where I face problems is when I want to convert the wrapped network to an Object Node. Vectorworks executes the command but all I get is an empty Marionette Object selected in the OIP, but I can't see anything in my view - no 3D text. I've attached the file with the networked wrapped. Appreciate all the help I can get! 3D Text.vwx
×
×
  • Create New...