Jump to content

sbarrett

Vectorworks, Inc Employee
  • Content Count

    223
  • Joined

  • Last visited

Everything posted by sbarrett

  1. From a scripting standpoint, I think you could easily put these objects in separate classes. Putting them in separate layers can be a little trickier, because the created geometry is always placed in a group and that group will be placed on the active layer, no matter what layer the objects INSIDE the group are on. The way around this would be to place your starting objects on the layers that you want them on, and then run your script with the active layer set to the layer that you want those objects placed on. You can do this within the script with classes using the Set Class node from the attributes folder, or with layers using the Set Layer node from the Layers folder.
  2. Version 1.0.0

    34 downloads

    This file is most useful for Landmark users but could be adapted to other plugin objects (PIOs). The purpose of these scripts are to take surveys of existing trees that consist of "dumb" data - pieces of geometry and text to label trees on a survey - and convert it into Existing Trees with the relevant text data associated. The first network, "Test Proximity," runs a check to make sure that each piece of text is closest to its associated piece of geometry. This is necessary to make sure that the second script will work properly. The second network takes the center of each piece of geometry and places an Existing Tree there. It will use the saved red symbol in the Resource Manager as a template, so if you use particular default settings for your Existing Trees, you can edit the red symbol. (Some day maybe there will be an Existing Tree Style!) The network will also transfer the text data to your chosen field of the Existing Tree PIO. In this network, it is set to transfer to the Tree No data field. This network could be adapted to other PIOs if needed.
  3. sbarrett

    Vortex box

    I noticed that your rectangle nodes are named and when I remove the Int node then those names appear on the outside of the wrapper. To keep this from happening, you can attach a 2D Vector node with the values of 1 for X and 0 for Y to the vRot inputs of the rectangles. Those are the default values for no rotation.
  4. sbarrett

    Vortex box

    Hi @Palle- It looks like you have an integer node attached to the "vRot" input of the rectangle nodes in one of your wrappers. This input requires a vector - that is what the "v" means. It looks like all of the Int nodes you are using have a value of 0 so you are not looking to rotate any of the rectangles. If you simply remove these Int nodes and leave those rectangle inputs open the script will work how you want.
  5. sbarrett

    Yes/No Dialog

    You can think of this node as an alternative to the Bool input node. The output of the Yes No Dialog is labeled "b" meaning it is a boolean or true/false value. Yes would be true and no would be false. You can connect it to any node that has a "b" input and some sort of either/or choice. When you run the network, a yes/no dialog will pop up and you can choose Yes or No.
  6. The file is a 2019 file - I have exported it to 2018 and posted it here. Popups v2018.vwx
  7. I wonder if figuring out whether the church is visible would work better if you project from the other direction - from the church. If you have existing buildings and trees in your model, I imagine that you could create a projection from the church to the location of the building - all the building would need to be is a flat surface - and where the projection of the church hits the surface (isn't blocked by other buildings, trees, etc) is where you know that views of the church exist.
  8. I believe it would just be easier to make the multipliers (1,2,3,...) the output of the popup and multiply that output by 12 or whatever variable integer. Again, you can use the Popup node if the multipliers will always be the same, or you can use the Popup Dialog node to have a dialog appear after the script is run. The output of the popups are integers representing the index value of the item chosen from the list. Since your list will basically be 1,2,3 etc you can add one to that integer to get the value you need. I have built some examples for you. Popups.vwx
  9. This is possible with a Popup Dialog node, located in the User Interaction folder. The difference between this node that the Popup node is that every time the script is run, a dialog with a dropdown menu will appear, and you will have to pick your option before the network will finish running. If you want a static popup that appears in the OIP of a Marionette object, you still need to use the original Popup node and create the list via editing the script inside the node.
  10. In all of the nodes in the default library, there are prefixes for the inputs and outputs that tell you the type of data coming in or out of the node. s = string n = number i = integer (whole number) h = a Vectorworks object, such as a piece of geometry b = True or False p = point v = vector item = multiple value types list = list of items These aren't all but they are the most common. When in doubt, match output prefixes to input prefixes when connecting nodes.
  11. Wrapping is just a way to package a script. You can wrap a script by right-clicking on a node and selecting the appropriate command. When you wrap a script, the Input nodes that have been given names will appear in the OIP when the wrapper is selected. Once a network is wrapped, you can then convert that wrapper to a menu command or Marionette object.
  12. There aren't any specific tutorials, all I can recommend is to take apart the script you have already and try to figure out how they work. There are some layer nodes that you can use too. You can find out the layer of the space and filter it with Marionette. I have attached a sample network to the other one I sent you that does this. The network is not finished as I don't know exactly how you want the filtering to work, but I tried to show you how to implement it. VW Rooms only_NvdS_Marionette2.vwx
  13. Yes, its just a matter of creating a filter based on the layer of the object. You can do this with Marionette or you can add a field in your worksheet and query it there.
  14. Hello @Mi&D- Here is a video that shows what I mean. I run the script in the video and update the tags so they show the correct info. ApplyAptAreatoSpaces.mov
  15. Hello @amcdonell- This is a bug that will be fixed for 2019 in a future service pack. The problem is that with the Mac OS, Apple changed the way that they write file paths, so the command to locate an external library (in this case the geopy library) is broken. This is only a bug for those running Vectorworks on a Mac that is running 10.13 or higher. I also run this OS so I am currently experiencing this bug as well. Unfortunately I don't have any fixes. The script should still work on a PC and on an older Mac OS. This is true for all of my weather analysis graphs.
  16. Sorry I meant to write set up Storys before you set up Layers - this is because you can then use CreateLevelTemplate to create your default story levels as well as have the option to create associated layers at the same time.
  17. Hello @C.Miguel- sorry for the late response but I think I have discovered a bug in the story setup commands. I have attached a file that works, but it is important that you set up storys BEFORE you create classes. This is one of the few things that have a set order of operations in Vectorworks. I would also recommend you add in the command CreateStoryLayerTemplate and use that to create your layers, not creating them first and then associating them to a story. The bug I noticed is something to do with units. The document units of the attached file are millimeters, and the command seems to work as millimeters, but if it is set to different document units, it still reads the number as millimeters. I will file a bug but until then I would recommend creating your scripts to set up files using millimeters and then change the document units after running the script. Create Storys mm.vwx
  18. Hello @Mi&D I have made a script that I think does what you are asking. It takes the total area from the worksheet and writes it to the Additional Info 2 field of the correct space. It works on all the spaces in the document. I have wrapped the network and given it the name "Apply Apartment Area to Spaces." It works, but the space tags do not update automatically - they have to be "bumped." What worked for me was to select all of the spaces, and choose the correct space label from the dropdown list (even if it is already selected). This will update the tag to show the correct info. VW Rooms only_NvdS_Marionette.vwx
  19. @Antonio Landsberger pointed out that the node I made doesn't produce an output in the shortest list mode so I updated it. Here is the updated node. PlanarBoolean.vwx
  20. I have created a version of the node that I think might work for you. I have added a dropdown menu that allows you to choose whether to cross reference or to compare lists. For brevity's sake, I only added the option of "shortest list" so if one list is longer than the other, the extra of the longer list will be ignored. PlanarBoolean.vwx
  21. I did give it a record but I did not attach the actual door record. If you click on the data tab of the object, you can see the fields I gave the record - if you have any other suggestions I would be happy to put them in.
  22. I am not sure if it is possible to tie objects to viewport scale or annotation space, but there is a command that reads layer scale and you can use that to scale your tags if they are being placed in the design layer. I created a node that gets the layer scale that an object is in - if the scale is 1:1, the node will return "1" and if the scale is 1:50, the node will return "50." This was based on the Get Layer node, I just added a command to get the layer scale instead. GetLayerScale.vwx HTH, Sarah
  23. Version 2.0.0

    215 downloads

    Here is a Marionette object that functions as a schematic Barn Door. It opens and closes with a slider and has separate 2D and 3D geometry. The wheel and hanger are a symbol, so if you wish to change their look you can edit the current symbol or create a new one. The insertion point of the symbol must be where the wheel touches the track.
  24. There is a way you can create this. You can use a Popup node in the Input folder. You have to edit the script inside by deleting the top line of the script and then adding the choices into the appropriate part of the script. The output of this node is the index value of the selection you make from the popup list. for example, if you have four choices: ['Red', 'Orange', 'Yellow', 'Green'] the corresponding index values will be [0, 1, 2, 3]. You can build a corresponding list of values and use a Get Item node to draw the correct value from the list. Popup.vwx
  25. Here are a few scripts that work by placing 3D symbols at specific locations.

 

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.

×
×
  • Create New...