Marionette - Nodes
87 files
-
Get Symbol from Folder
This node returns the name of a symbol chosen via selection dialog with previews of the symbols in the current document. If a folder name is given, only its content is shown.
When dealing with a big number of different symbols with long and possibly names difficult to remember, just click the "Select Symbol ..." (OIP) and visually select the symbol within the dialog window.
Created by ComputerWorks GmbH.
Compatibility: Vectorworks 2019 and higher.
286 downloads
-
Print Node
This Node makes debugging more comfortable especially inside wrappers.
You can select weather if the incoming values will be printed into a text object right under the node or into the python console.
Time of the execution and type of the items can be printed optionally. I integradet the object type list from the appendix site to translate the type id into a string ( 5 = Polygon... )
You can also define filter conditions as Python statement in the oip of the node. Variable X is replaced by the values. Check out the example in the VWX.
141 downloads
0 comments
Updated
-
Golden Angle Node
The golden angle node will give you the location of points following the 'Golden Spiral' which presents itself everywhere in nature.
61 downloads
0 comments
Submitted
-
Worksheet based Popup, push Button
By DomC
Generally:
Popups significantly raises usability of Marionette Scripts. Also for advanced marionette scripters often it is hard to search and enter the values.
Situation Now:
1. The Popup values has to be written in an input node or the params class of the node, which do just execute if node is edited.
2. Popups are not dynamically unless the values are calculated by the script and then the Popup will popup every time the script is running.
What does that Node improve:
1. The popup values can be directly pulled from a worksheet.
2. The provided node filters one popup with another popup, which is very efficient for fast filtering and combine choices
Worksheet Popup.mp487 downloads
0 comments
Updated
-
DomC - Import / Export Nodes
By DomC
Great nodes to use in real money making projects. PDF, SketchUp, Import csv, import ini
131 downloads
0 comments
Submitted
-
DomC Nodes
By DomC
Attached a vwx with nodes. Some of them already shared as separate files. Also the list is not complete, not perfect and has no warranty of being up to date. Also some nodes may be outdated, obsolet or buggy.
Take note:
1. I tried to track the nodes with an addition record format
2. Marionette Nodes are linked to a record format, this record format contains descreption and Other infos from to the node.
3. Also this Record contains a rating of the node (internal rating for me) like is this node hard to make, will it be useful for many users or just for one special case etc.
4. The Record can be linked manually to a node and then the node's Data can be written by a script. Ration Infos logically has to be attached manually
5. On the document is a worksheet with all nodes listed
The Info below is originally from the nodes (included original misspelling etc :-)
Node Names
Symbol3D ObjOnSpace SymbolPopupSymFolder SetWallHole IsMember_already SortNestedList CreateDictsV Sort RotatePtRoundPt FibonacciSphere Wrapper C_Tangent_to_CC PtPerpendicularOnLine CircCircInters CircleLineInters LineLineIntersec Pt to Circle Center 2CircleCenterLine 2Circle_4Pts Apollonius PCC CCC v1 subPoints addPoints PtTangToCircle Wrapper Wrapper Get Z atXY Grow Radial is cw Wrapper Wrapper Wrapper 2D Pt Shaker v01 HexCircleGrid GetPtVectors GetPolar180 DialogFolder ExportPDF ImportSU function4 GetNextObject PageBased_mm VersionInfo Button MeshFromPoints collectObjectOnArea Any SetPage BBox Overlap GetString GetString GetNumber GetInsideChar Print GetMultiRecValue GetActFile GetNumDatabaseRow GetSubCell GetMultiRecField Backward DupInContainer Solid Intersect List DupOnAcLayer DupOnAcLayer ConvertToGroup Reset Obj BasicSolidReshapeScale NumToRow ObjByClassAndLayer Set Class MinItem If_ SpaceWithObj LocusMS GetPointClusters ConcaveHull Create Viewport Add VP Ann VP Layer Set Mrntt OIP Field Get Mrntt OIP Field Insert Symbol in Folder CreateLayer FilterValues PtArrayStartEnd ValuesToSaldo Vector to Angle PointRectangle Wrapper Eval Eval AttachUnit Color Custom Pulldown EnhRectangle RoundedBoard 2D_BBox_Enhanced TypeToString TypePopup TypeCounter GetRes Get Sym Name Name2Index Text in Lines TextBlockInLines SetDimTextSize SetTextSize ListToLabel TextBlockInLines RecToTable OpenDocFolder GetActFile ListDir FileInfo os_stat DateTime GetActFile DialogFolder PlayMP3 Wrapper Linear Array xyz PutByRefPt SymbolinFolder Link Text GetDictValue Repeat_List shuffle shuffle_dup_true looser itemsToList Remove Duplicate Items UnnestL GetFiles Imp ini Imp txt Solid Boolean GetRNames Concat MergeList Flatten List S LinearDimLight Change Sheet Title Get Sheet Title Get Layer Name Get SheetL Size Get Sheet Page N Manipulate File UTF Custom Pulldown
Node Descriptions
Descreption Insert a Symbol Returns a List of Objects for every Space Creates a popup of all Symbols in a Folder. You have to edit Script to change Folder Set the input Geometry as a Wall hole of an object Returns isM, if the corresponding object is already in the list Example list1 = [5,10,3,5] list2 = [a,b,c,d] notM = [a,b,c] isM = [d] Sorts the elements in a list Creates a Dictionary from an input key and a input value Sorts the elements in a list Rotate a Point around the center point This node creates points on a sphere surface Draws a parallel line through a specific point Finds the intersection of two circles returns the section point from a point perpendicular on a line Finds the intersection of two circles Finds the intersection of a circle and a Line Returns true if two infinite lines intersect, and if so, provides a point where they intersect. The intersection point can be outside of the line segments Finds the two infinite intersections of a line from center to a point Resurns the intersection of the Line trough the middle of the Circles Calculates Two Circles. The First one passes pt0 and pt1 and the pt2,pt2_alt which has the lowes distance to pt3. The second circle pass the remaining point Returns the tangential Circles which touch the 3 input circles Subtract two Points: c = a - b Add two Points: c = a - b Finds the two tangent points from a point to a circle Returns the Z elevation of a point X,Y on the specified object Grow a radius Value of input Points, till they touch others or with a min offset quecks, if point is part of a cw or ccw direction, needs minimum 3 pts
input 2D or 3D Points Deletes Randomly Values of Input List. If density is 100 nothing will be deleted A Hexagonal Circle Stacking lattice Get 2D and 3D Angles of Points related to one center point Return the angle and distance to (0,0) Open a Dialog Box to Choose a Folder Set Origin and height, width of the page File Names or Folder Names of the input Directory Enter your Formula in Input Field Put This in a Wrapper with another Object. This node Returns the next Object (Stacking Ordner) after this node A Real value defined in the OIP in document units An example of how to use the Button widget. When the button is pressed, it will run the script contained in the specified definition. Draws mesh or output polys from a regular rectangular horizontal grid of points collects objects, which middle point is on a circle, poly or recangle Create any value using the python eval function Set Origin and height, width of the page Checks on ever obj1 input, if one or more object from input obj2 overlap bounding box Returns the string between two characters Returns new, string position and length. Prints the incoming items into a text object or the python console. The option 'Run scripts in developer Mode' must be enabled in Vector Works to see the console output. Returns the Data from a Record field. If the Object input is a list values are concat. Path of the Actual Document Gets number of Databese Rows and columns in the referenced Worksheet Gets the numeric or String value of the referenced cell subrow Returns the Data from a Record field. If the Object input is a list values are concat. send to Back Duplicates Objects in a Container or active Layer This node performs a boolean operation between lists of objects. The operation will be performed for each possible combination of objects in the lists supplied. Adds an object to the current layer Adds an object to the current layer Convert Symbol or PIO to group Update the specified object using the current settings and parameter values. This node will Intersect a Solid in 3 Parts. Cap1, Cap2 and Space. Scale middle (space) or scale caps Converts as Example 1 to A and 56 to BD. Creates a Criteria by class and Layer Assigns a class to the referenced object Returns the smallest item in the list If test is true, pass the value to true output otherwise to false output Returns all Spaces which overlap or touch the bounding box of the objs input Creates a 2D or a 3D locus object Detects Clusters of Points Finds the convex hull of points Creates a Viewport Add an Annotation to the Viewport Add an Annotation to the Viewport Sets the value of a OIP Field, It uses a search and replace function for the field Name. If you have more fealds with similar names which match the search name it returns error code. Use Reset node after all changes of the PIOs Get a value from an Marionette Wrapper or PIO Move Symbol in a Symbol Folder. If no symbol name is inputted or the Symbol do not exist, this node just creates the folder Creates a Design or a Sheet Layer (OIP Pupup to change layer type) Extract Values within a specific range Creates Pt array between two points [1,2,3,4,5,6] goes to [1,3,6,10,15,21 Converts a 2D or 3D vector to an angle in degrees Output 4 corner points of a rectangle Enter your Formula in Input Field Enter your Formula in Input Field change input values to right document units gets the Fill Back color of the node and returns it A Dialog with 3 Popups Creates a rectangle with the provided specifications, supports point of reference 3D Quader mit Verrundeten Kanten oder Einfache geometrie Returns the bounding box's coordinates of the projection of an object on the screen plane "Type Counter" collects Objects from an input criteria. It count, how many objects from which type there in this criteria. List of document resources from a specific type Returns the name of the referenced Symbol. Returns "none" if the object has no name assigned. Converts as example a name from a dimension standard or a text style to an index number Creates Text Line by Line, from an Input List Creates Text Line by Line, from an Input List Sets the Text Size of a Text Obj Get Input RowNames and Lines and Attach them to the input text blocks, which have the same name like the row name. Group text objects, which are no fields Creates Text Line by Line, from an Input List Returns the value of a data record field. Open the input Folder in Finder or Windows Explorer. Combine with GetActFile Node to have parent folder of active Document Path of the Actual Document File Names or Folder Names of the input Directory Returns the Value from the Python os stat function OutputActualDateTime Path of the Actual Document Open a Dialog Box to Choose a Folder Creates a duplicate array of objects in x y or z direction Moves a Refered Point from a 2D,3D Object to a specified 3D Point
for planar obj works in 2D view Creates a List of all Symbols in a Folder Link a Text Field in a Symbol to a Record Field Returns the value of the input dict key Repeats the complete input n Times Randomize the input list Randomize the input list Deletes Randomly Values of Input List. If density is 100 nothing will be deleted Input [0]value1,[1]value2 ... output [value1,value2 ....] Removes the duplicate items from the input list. Separates a list into its constituent items File Names or Folder Names of the input Directory Import an ini file with sections, keys and values Import a Tab or character separated Text-File This node performs a boolean operation between lists of objects. The operation will be performed for each possible combination of objects in the lists supplied. Returns the Record Names attached to the Input Object Enter your Formula in Input Field Adds an List to the end of a list Flattens a list, or list of lists Creates a linear dimension with standard specifications Changes the Description value of a Sheet Layer Returns the name of the referenced layer Returns the name of the referenced layer Returns the width and height of the sheet layer Returns the Number of pages Open a file at the specified path A Dialog with 3 Popups
593 downloads
-
Story Replicator / Geschosskopierer
The Story Replicator is a single Marionette Node that allows you to easily store the story structure of one document and replicate it in another - as simple as copy/paste. It does so while preserving all the interconnected information.
This way you can create new documents and add Story structures already used in other documents without going through the hassle of making a copy of the original file and removing all unwanted content.
Der Geschosskopierer besteht aus einer einzigen Marionette Node und erlaubt Ihnen, Geschossstrukturen von einem Dokument auf ein anderes zu übertragen - so einfach wie copy/paste. Dabei werden alle miteinander verknüpften Informationen beibehalten.
Auf diese Weise können Sie neue Dokumente erstellen und in diesen Geschossstrukturen nutzen, die Sie bereits in anderen Dokumenten im Einsatz haben, ohne hierfür die Originaldatei kopieren und diese von allen nicht benötigten Inhalten befreien zu müssen.
Created by / erstellt von ComputerWorks GmbH.
Compatibility / Kompatibilität: Vectorworks 2020 +
Keep in mind:
Due to the way stories are structured and interconnected the tool may not be able to replicate every last detail for every situation.
Currently there is a known limitation: The tool was not tested with or designed to handle overly many design layers. Therefore depending on different factors the maximum possible number of design layers the tool can still handle correctly is about 60 +-5. If there are too many design layers when re-creating the document story structure, the tool will basically just stop and do nothing.
Achtung:
Durch die Art und Weise wie Geschosse strukturiert und miteinander verknüpft sind, kann das Werkzeug möglicherweise nicht alle Details in allen Situation richtig abbilden.
Zur Zeit ist eine Einschränkung bekannt: das Werkzeug wurde nicht getestet oder ausgelegt, um mit sehr vielen Konstruktionsebenen zu arbeiten. Deshalb liegt die maximale Anzahl an Konstruktionsebenen, mit denen das Werkzeug zu Recht kommt, - abhängig von verschiedenen Faktoren - bei etwa 60 +-5. Bei der Wiederherstellung der Geschossstrukturen im Dokument wird das Werkzeug bei zu vielen Konstruktionsebenen einfach aufhören und nichts machen.
PS:
Even though the downloads contain only v2020 files, they can be opened in Vectorworks 2021 and will work there as well.
Obgleich in den Downloads nur v2020 Dateien enthalten sind, eignen sich diese genauso gut für die Nutzung in Vectorworks 2021.
265 downloads
-
Easy Text
This node combines some of the most important text object features into one node, some of which are now found in the OIP.
Created by ComputerWorks GmbH.
Compatibility: Vectorworks 2019 and higher
148 downloads
-
Symbol Link Text
By DomC
If you have many symbol definitions and have to link text to record fields. This Marionette can help you.
57 downloads
0 comments
Updated
-
Symbol to Group
This node converts referenced symbol to group using the specified conversion options.
OIP controls:
Options
Don't convert subobjects Convert plug-in and symbol subobjects Convert all subobjects
Created by ComputerWorks GmbH.
98 downloads
-
0 comments
Submitted
-
Make Planar Nodes
By DomC
Often what is missing to make usable Elements of this geometry is the fact, that
faces need to be planar to make buildable elements. Also it need to be planar to make
extrudes and other solids out of it.
The Two nodes "get Planes" and "ProjectPoints" are a step in this direction.
This example do nearly the same the existing Surface Array already can do. Except it directly
gets geometry from a subdivision object.
Anyway this has to be seen as a first step trying to model hulls with planar AND closed shapes. Which looks like a very hard task.
18 downloads
0 comments
Updated
-
0 comments
Submitted
-
Or List
By MRoth
This node returns TRUE if at least one input is TRUE. In some cases where you have many booleans, it is easier to use this node instead of the default or-node.
27 downloads
0 comments
Submitted
-
Tuple2List
By MRoth
This node converts a tuple into a list.
Its the reversed node of tuple2list.
26 downloads
0 comments
Submitted
-
List2Tuple
By MRoth
This node converts a list into a tuple.
Its the reversed node of tuple2list.
27 downloads
0 comments
Updated
-
Get Objects
By MRoth
This node is an alternative to the default Objects by Criteria-Node.
I like to use it into a menu command cause its easyer to get the selectet objects.
63 downloads
-
And List
By MRoth
This node returns TRUE if all inputs are TRUE. In some cases where you have many booleans, it is easier to use this node instead of the default and-node.
22 downloads
0 comments
Submitted
-
String enhanced
By MRoth
Unlike the default string node, this node can also convert lists into individual strings and Python elements into strings.
34 downloads
0 comments
Submitted
-
Popup enhanced
By MRoth
This node makes it easier to create a custom popup. In addition to the index, it also returns the string of the selection.
I think I have seen a similar node from Marissa before. But I could not find it anymore.
145 downloads
0 comments
Submitted
-
Filter Type
By MRoth
This node filters all objects of a certain type from a list.
This function could also be achieved with standard nodes, but is easier to do it in a separate node.
59 downloads
0 comments
Submitted
-
Control Geometry enhanced
By MRoth
This node simplifies the creation and the debugging of marionette objects (MO).
Outside a MO it returns the geometry from a blue symbol. No contents node are necessary.
Within a MO it returns all objects of the control geoemtry. Groups in the control geometry are no longer necessary.
If there is no control geometry, the node behaves like outside of a MO and returns the contents of the symbol.
58 downloads
0 comments
Submitted
-
Line Plane Intersection Node
By Niels Timmer
Description
This node calculates where a line (not a line segment!) and a plane intersect.
Input / output
The plane is defined by its normal vector and a point on the plane. The line is defined by two points. The output point is where the line and plane intersect.
Example Usage
The example in the file combines the node with the Get Distance node to check if a three dimensional line intersects with a NURBS surface. This network can be used to create several simulations that can answer questions like: Do sunrays reach a balcony? Is the church tower visible from a window? Etc.
Script is based on: https://rosettacode.org/wiki/Find_the_intersection_of_a_line_with_a_plane#Python
The node uses numpy. Thanks to DomC for creating a numpy importer node.
Niels Timmer
March 2020
30 downloads
0 comments
Submitted