Jump to content

Marissa Farrell

Marionette Maven
  • Posts

    1,492
  • Joined

  • Last visited

Reputation

606 Spectacular

Personal Information

  • Occupation
    Quality Assurance Specialist
  • Hobbies
    snowboarding, macrame, beadwork, embroidery, Binding of Isaac, Marionette, arts & crafts, 3D Printing, reading, saxophone
  • Location
    United States

Recent Profile Visitors

25,071 profile views
  1. The valve node was created for this purpose. There are some limitations with it, but I think for this network you should be okay.
  2. So there are a lot of things to consider here. The Control Geometry and the drawing area don't necessarily share the same coordinates (in this case it's not very important, but something worth mentioning). With specific regards to your network, if your CG isn't placed with the bottom left corner at (0,0), then your rectangle will be offset from where the CG is. The Rectangle node draws from the (0,0) location. Since you're using the width and height of your CG, which are positive values, the rectangle will have its lower left point at (0,0) and its upper right at (CG_width, CG_height). Some ways you can resolve this if you don't want to concern yourself with placing the CG at the specific location are using the Align Objects node or using the Get Bounding Box node and the Create Rectangle 2 Pt node. Edit: An additional method would be to use the Get Bounding Box node and take the values, extract the bottom Y and left X values, combining with a 2D Point node and use it as your input to p, then you can still just use the Width and Height nodes.
  3. It looks like it's something to do with the top portion of your object where you're setting the record fields of the Marionette Object. If you detach the wires from the Set Record Field 'sFieldValue' ports, then you can debug the rest of the network below. I'll continue looking at this and report a bug if I find it necessary.
  4. @heavy manners No changes have been made at this point. I'll add it to a list of requested enhancements. Can you provide what you imagine a better process would be to display named nodes in the OIP?
  5. It doesn't seem like your other two commands, the AddRoomID and AddName, are working either. I'm wondering if something changed when spaces were updated after those commands were created. Interestingly, I tested in 2018, and I get an error saying that the AddRoomID command doesn't even exist in that version, even though the Dev Wiki claims it was added in 2014. I think something is fishy there. In the meantime, could you use the values from the Space record?
  6. There's a difference between how the XG Cabinets and a custom Marionette Object would work. The XG Cabinet is a Plug-in Object and was created with records and fields that relate to the parameters, and Marionette is able to access these values using the nodes as you've done with your other file. Marionette Objects are not created the same way. They are not the same type of PIO, they're created using the Python API which was wrapped up in Marionette nodes. There's currently no direct relationship with the parameters exposed to the OIP and the record you're seeing when you request an attached record; that record is just part of the Marionette PIO, not what is created by it. Here's a screenshot showing the fields that are in the Record Format you've queried, none of which relate to the parameters in the OIP: As I mentioned before, the Marionette Network could be written to attach a custom Record Format and store values from the OIP as Record Fields, or just allow users to manipulate the Record Fields to define the Marionette object, but there is currently no way to have the same bi-directional relationship that traditional PIOs have with OIP Parameters and Record Fields. To do what you're hoping, you will have to edit the Marionette Network inside the Marionette Object Style to define the new relationships.
  7. @KingChaos I don't have access to the XG Cabinet to diagnose this issue, but I'm not running into any crashes or issues otherwise in 2023 (or later) When I open this and move the object, the cabinets reset to the default values, which is expected when someone doesn't have access to the PIO. I am interested in investigating this more if I can find a way to reproduce.
  8. There's no way to update the OIP values of Marionette objects in the Shape Pane from another script, if you create Marionette Objects that get their values from Record Values, then you can change them from worksheets, scripts, etc. Can you give me a better description of what you're hoping to do with the file you've attached, or even just what you're trying to do generally? It's possible to create a Marionette object that will draw based on record field values, but it would require setting up its own record format and would not be bidirectional with the record values and OIP Shape Pane values. What this would mean is that if you want OIP (shape pane) values, you can't modify the shape of the object with the record, but if you're okay only modifying record fields to affect the object, then you could do all edits in the Data Pane or within database worksheets, etc. (this would mean no parameters will appear in the Shape Pane of the OIP) Otherwise, you can use the OIP (shape pane) values to set the record values, but you cannot update the OIP (shape pane) values from editing the record.
  9. I submitted a bug for this issue, thanks!
  10. @les Without going too deep into this, I would suggest looking at the Contour node.
  11. The way we do this within our default content is the first line of code in each of our nodes, for example: #COMMAND;READONLYREFFILE;[VWLibDef]/Points\Point 3D.py; What this does is it looks for the file referenced (in this case, it's in the Application Folder, but you can use any path you like) and pulls the code from the python file stored there. To save from the script editor, you'd use #COMMAND;REFFILE;[path to python file]; (so without the READONLY) Right now, it appears that you'd still need to enter/exit the script editor for those nodes, but you wouldn't need to copy-paste. I'm trying to figure out how to force the sync now. However, Antonio's suggestion of using Marionette Object Styles is a great way to go, assuming all of the objects use the same underlying network.
  12. @Sebastian Giese First, that comment in the code can be disregarded, it seems that the initial writer of that node just wanted to check on syntax, but there isn't an error there. It works appropriately. Second, the error you're receiving is that the script you exported isn't aware of what object you're trying to act upon. I'm unable to get your network to run when I run it in the file you've provided. I'm given an error:
  13. I'm not aware of any workaround, and I'm struggling to get it to change in the script as well (I'm unfamiliar with this script, obviously, but have been testing by grouping all of the nodes that appear to output the handle to an object and using the Rotate 3D node. I'll keep looking into this in my free time, but it might be faster to just rewrite at this point.
  14. I'll make a note to create a conversion node that will use document units for conversion. I'm aware of and looking into this on a larger scale because some functions require specific units under-the-hood which has gotten in the way previously when document units differ (for example, some functions ALWAYS expect/output metric).
  15. It's currently not possible to dynamically change the elements in the OIP popups within Marionette through the script. I investigated a different solution a while back that involved using OIP Buttons and popup dialogs, I'll try to remember to look around for it in my free time.
×
×
  • Create New...