-
Posts
335 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Articles
Marionette
Store
Posts posted by SBarrettWalker
-
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
- 1
-
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.
-
@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.
- 2
-
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.
- 1
- 1
-
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.
HTH,
Sarah
- 1
-
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.
-
Here are a few scripts that work by placing 3D symbols at specific locations.
-
I believe that the output of the Get Cell Value node is already a string, so the Get String node is unnecessary. If you connect the "formula" output to the "s" input of the Text node it should work.
-
When a Marionette node creates geometry it is always placed in a group. The group is named based on the name of the node that created it as well as a random number - this ensures that when you run the script again, the object will be deleted and recreated, because that named group will be replaced. To edit any geometry created by marionette nodes, you will have to ungroup it first, no matter whether you use the group or ungroup nodes.
-
Thanks for catching that - it was an error in the script. I have fixed it and uploaded a new version - this version is also in Vectorworks 2018.
-
This may not be the most elegant solution, but I would rotate the poly to be orthogonal, create the grid, then rotate it back. Here is an example.
-
@Alan Woodwell This paper is on the Vectorworks website here: http://www.vectorworks.net/training/2018/getting-started-guides/transitioning-to-vectorworks/moving-from-grasshopper
-
-
Hello @Bernd Lützelberger,
I noticed in all of your scripts that the Int node is somehow connected to the first Range node twice, which is causing you to get 42 values instead of 21 values - if you try disconnecting it and reconnecting it should work. just make sure that when you run in debug mode, there are 21 values coming from the Range node.
-
The only way to do this is to create a menu command. To create this kind of network, you will need an Object by Criteria node as the node that connects the object to the network. In the text field in that node you type "SEL=TRUE" and then convert the network to a menu command. The menu command will exist in Tools > Marionette Commands > [New Command]. To use it, select an object and then run the menu command.
However, this may not be exactly the type of network that you are looking for.
If you want to create a Marionette object with control geometry you can use a Control Geometry node instead, and then convert the network to a Marionette object.
If you just want a network that references existing geometry (not as an MO or MC) then you must use a Name node. You have to give the geometry a name in the OIP, and then put that name in the text field of the Name node.
Pop Up Node - New question
in Marionette
Posted
The file is a 2019 file - I have exported it to 2018 and posted it here.
Popups v2018.vwx