Jump to content

Marissa Farrell

Marionette Maven
  • Content Count

  • Joined

  • Last visited

Posts posted by Marissa Farrell

  1. Here's the beginning of my trapezoid node - there is no error handling in this version, so you may end up with results you don't want if your dimensions aren't reasonable.


    My later improvements list:

    • Allow orientation defined in the node
    • Allow an origin point
    • Allow user to flip which side is shorter
    • Allow user to define an angle for the trapezoid


    Screen Shot 2019-03-07 at 11.29.31 AM.png

    • Like 1

  2. Well I took a look at this - and here is my finding 🙂

    It is indeed related to our fix for the Rotate node.

    The description has always read that the objects will be rotated around their center point if there was no point attached to "cent" (or what is now called "pCent")

    As you can tell, the old node from your top network is not following that requirement, it is still rotating about the point (0,0).

    Our fixed node correctly rotates the objects around their individual center points, as you can see in your lower network.

    The fix is to add a Point3 node with the coordinates (0,0,0). (Unfortunately, it looks like a bug remains when using a Point2 node, so I'll file a bug and try to get that fixed.)

    Screen Shot 2019-03-06 at 1.08.33 PM.png

    • Like 1

  3. @Chuck Davidson

    Most of the nodes will have no difference for code behavior between 2016 and 2019; the port naming is just a cosmetic change. My best guess prior to debugging this is the Rotate node, that node had a bug at one point that we fixed between these versions.

    I'll take a deeper look and get back to you.

    • Like 1

  4. Maybe this will help - you need to use "random.randrange(value)"


    import random
    size = 50
    posX = 0
    posY = 0
    steps = 100
    for i in range(steps):
        vs.Rect(posX, posY, posX + size, posY + size)
        r = random.randrange(4) #corrected to include namespace
        if r == 0:
            posX += size
            posY += size
        if r == 1:
            posX -= size
            posY += size
        if r == 2:
            posX -= size
            posY -= size
        if r == 3:
            posX += size
            posY -= size
    • Like 1

  5. Here's where I'm sitting right now. The Set Record Field node is reporting that it was successful, but the field in the record isn't being updated on trusses in the Hanging Positions.

    I tried making duplicates of the trusses and putting them back into the hanging position without success, this is not shown in my file, (though when I do make copies and they appear on the Design Layer, the fields DO update appropriately) so it's really an issue of 'why can't I get this value to push to the object in this container?'


    I asked some coworkers at the office today and didn't find anyone who could help immediately, but I'll try some more next week and see if someone else has some intel.


  6. @gester

    Vectorworks uses the Python version that comes installed in the package. Are you using 2018 or 2019? I believe in 2018 we switched to Python 3.5 for Vectorworks. It's possible that the library link in Sarah's network is not updated to download to the correct Python version.

    I'll need more information to help you resolve this.

  7. Generally, the libraries contain many types of corner blocks - There are L shaped and 3-way corners (please excuse my lack of industry nomenclature) in addition to other configurations.

    Looking at the Tomcat libraries, I see there are different configurations denoted by "C#B" which should let you know how many connections may be made off of that corner truss. (The spigoted library uses "C#S")

  8. In many cases you won't need it, but since I needed to make sure the rectangle node was connected to the rest of the network in some way, I had to include it.

  9. Here's a quick example - I included a custom Popup node (I'll look into modifying the one we have in our Default Content for easier use)


    You may not need the Pass node as long as every node in your script is wired together in some way, I only used it because I needed to make sure that all of the nodes were connected to the network.


    Note: I currently have this update the record attached to the Marionette Object by using the PIO Handle (Parent PIO) node. If you want to assign it to an item inside of your Marionette Object (or if you are just using it in a standalone script), you can just wire the object you want to assign the record to there.



  10. I looked into this - there is something wrong with the Get Record Field node - I replaced all of the ones that existed with one from the default content library and the network now works appropriately on my end.


    I will note, I am using 2019, and am not sure which version you are using (though I can tell it's prior to 2019) so please let me know if you're still having an issue and I will send you a file with a new node in the correct version for you to replace them with.

    • Like 1

  11. It looks like you aren't getting values returned from your Get Record Field nodes (They are resulting in "<Unknown Value>"), which will affect the rest of your network.

    You can see that you have wires coming out of your Filter nodes that have 0 items, which will prevent the network from running correctly.


    I would suggest looking into why values aren't being returned appropriately from the Get Record Field nodes and going from there.


7150 Riverwood Drive, Columbia, Maryland 21046, USA   |   Contact Us:   410-290-5114


© 2018 Vectorworks, Inc. All Rights Reserved. Vectorworks, Inc. is part of the Nemetschek Group.