Jump to content

sbarrett

Vectorworks, Inc Employee
  • Content Count

    220
  • Joined

  • Last visited

Everything posted by sbarrett

  1. 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. Forum question.vwx
  2. @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
  3. Ah, for that issue, you simply need to check "rule" in the Loft Surface node. That will give you sharp edges.
  4. 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.
  5. Version 1.0.0

    26 downloads

    Here is another Marionette Object with articulation. It is a simple room screen that has three panels with two hinge points. Each panel can be given an angle of anything between 0 and 90.
  6. 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.
  7. @Kevin McAllisterI have created a much simpler Marionette object that is built with articulating symbols that you can check out. It is built using the same principle as the Condor - each symbol is placed and rotated relative to the location of the other parts and the values in the OIP. It is located here:
  8. Version 1.0.0

    20 downloads

    This is a Marionette object that is a wall clock. The time of the clock can be set by sliders in the OIP. The three pieces of the clock: the face, the hour hand, and the minute hand are all symbols that can be changed. The only important aspect of the symbols is that the XZ value of the insertion point for all the symbols be at the center of rotation and the Y value be relative to the clock face.
  9. You can reference it just like any other symbol, just know that all of the parts will come with it, including the part symbols, the textures, and the Marionette gradients, but they will no longer be in folders, so it might be a little messy. The only thing you would need to do is to move the Condor60 PIO red symbol outside of its folder (that is the Marionette object). Then you can reference it.
  10. Hello@digitalcarbon, A Marionette object functions just like any other parametric object - you can convert it to a symbol but you would lose the ability to edit it in the OIP. Just like a plug-in object though, it still has an insertion point. If you want to add geometry to make that visible you can by editing the Condor_base symbol (just don't delete anything from it or change its insertion point or the insertion point of any of the other part symbols).
  11. I believe this will always happen because of the nature of Marionette objects. In this way they are also similar to hybrid symbols - the 2D geometry get treated differently than the 3D geometry. If it becomes problematic for the script, you can use the Set PRefID To Ground node in the Object Info folder to set the object to the layer plane while your script is acting on it. However I do not know if the object will stay on the layer plane if you ungroup the Marionette network from the control geometry.
  12. It can be difficult to use multiple control geometries - the best way I have found is to group them all together and make the group your control geometry. Then you can use a Contents node to access them. Once you have the list of control geometries from the Contents node, you can filter them by name or type, etc.
  13. Hello DE, Whenever you convert control geometry and a network to a Marionette object, the geometry will most likely move. What is happening is the geometry is centered over the wrapper, and that becomes the insertion point/center of the Marionette object. You can think of a Marionette object as a symbol or plug-in object - it lives as a resource to be placed in the drawing - it doesn't remember its original location. Having multiple pieces of control geometry can also be tricky. Are the separate pieces of control geometry keeping the correct spatial relationship between each other?
  14. Here is an updated file that does the same thing but without a custom node. It also does a third pattern. ArrayingSymbols.vwx
  15. Hello Martin, Here is a script that places a symbol in an array based on a given number of columns and rows, and then sorts them and draws a line through their center points. There is one custom node, Reverse Lists Chunks, that allows you to reverse the order of lists within a larger list. I used this to create the line that swerves back and forth. ArrayingSymbols.vwx
  16. Hi Martin, I looked at your file, and it is actually a weird glitch that I have seen happen once or twice. Somehow, your H pass node is connected to the sequence node twice. This shouldn't be possible - it is definitely a bug, but if you disconnect the H pass node completely and reconnect it, it should work properly. HTH, Sarah
  17. I can tell you that when building templates, we STRONGLY recommend to leave the None class as None. There are a lot of different instances where the None class will be recreated even if you change its name, apart from scripts specifically. If it is important for your office to change the None class to 0, you can do this by mapping your classes to the AIA/NCS standard. Go to File > Document Settings > Standard Naming and choose AIA/NCS. This will set your None class to 0 and set your Dimension class to A-ANNO-DIMS. If you don't check "Enable Auto-classing" you can still use all of your office standard classes. hope that helps, -Sarah
  18. Version 2.0.0

    216 downloads

    This is a Marionette Object that can be used to simulate the WA67 Aluminum Clad Wood Folding NanaWall door. It allows you to set the panel width and height as well as the configuration and system. Based on these parameters, it calculates the overall frame width and height and creates a record format for the door that can be called in a worksheet. The insertion point of the door is the center left of the door, so if you choose a configuration with a different number of panels or you change the panel width, the PIO will extend or contract from the left (instead of from the center like regular door PIOs in Vectorworks). I would welcome feedback on the usefulness of this - is there something you would like it to do that it doesn't do? What does it do that you don't need it to do? As far as other types of NanaWalls (such as sliding panels), I am trying to figure out a way to script those as well.
  19. Hello, There is a node in the Operations folder called the Orient node that allows you to set the z- axis of an object based on a 3D vector. I believe this will work for you based on the parameters you already have. Here is an example file. OrientNode.vwx
  20. Version 2.0.0

    413 downloads

    This is another Marionette object based on a symbol belonging to @barnes2000. (Thanks Scott!) He has built a bunch of cool crane and lift symbols. This one is an Articulating Boom Lift that has seven different rotation or extension articulations. Each has a Slider in the OIP that allows you to set its angle or extension. (See video.) This Marionette object works by placing the different parts of the Lift as symbols in the drawing at a particular insertion point and rotation based on the values of the Sliders. Each symbol has named loci that are used to locate the object in the drawing space and in relation to the other parts. The loci are on an invisible class (so don't delete the class from the drawing). The object updates pretty quickly for having so many variables. If you wish to share the object to another file, make sure that you import the entire symbol folder. Unlike the Scissor Lift, this object is not built from hybrid symbols because hybrid symbols cannot be rotated around the x- or y-axis. If you wish to convert it to a hybrid object, you could place it inside an Auto Hybrid, but this will make it a much bigger object (memory-wise), and you would only be able to edit the object from inside the Auto Hybrid.
  21. Version 3.0.0

    502 downloads

    This Marionette object is a Scissor Lift PIO. You can place the Scissor Lift in your drawing and set the height via a Slider in the OIP. (See video.) All the different parts of the Lift are different symbols, and the Marionette script places each symbol at a particular insertion point and rotation based on the value of the Slider. If you wish to share the object, make sure that you share the entire symbol folder that holds all of its accompanying parts. This object was based on a symbol created by @barnes2000. Thanks Scott for letting me play!
  22. Hello Martin, To answer your question about filtering - you can filter by object type. You can find a list of Vectorworks object types here: http://developer.vectorworks.net/index.php/VS:Function_Reference_Appendix#objects I have added a section that filters by object type to your network. I find this little network to be very useful - changing the value of the integer changes the object type you are looking for, but you can also change the Get Type node to another Get Object Info node that gives you a number value and the Integer node to the appropriate value you want to match it to. Autonumber_ID_sb.vwx
  23. I just checked the network I sent and I forgot to connect a node. It now works so that each extrude takes the class of the corresponding profile. Essentially, each input is a list of objects or a list of classes, and it applies the class from the class list to the corresponding object in the object list, so you don't need a separate EAP node, you can use input lists of matching lengths. Profilsymbol_am_Pfad_sb.vwx
  24. In looking at your network again - you don't actually need the list explode node. You are performing the same operation on each of the objects so you can send the whole list into one Path Extrude node. I made some changes to your network based on this, including duplicating the curve for every element in that list and sending them to the same node. Let me know if you have any questions. As a rule, I try not to repeat nodes when I don't need to, especially inputs. Profilsymbol_am_Pfad_sb.vwx

 

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...