# Marionette - Networks

## 51 files

1. #### Suction Effects

An Example which shows, how to collect objects on one or more circular area(s) and modify them. It could be use for gravity or suction effects.

(0 reviews)

Submitted

2. #### Architectural Arches

They comprise of 12 architectural arches; Semi-Circle, Segmental, Equilateral, Lancet, Drop, Tudor, Turkish, Rampant, Parabolic, Involuted, Arabic and Ogee Arches.

All the networks are parametric, customizable and can be freely modified.

(0 reviews)

Submitted

3. #### Hedge Along Path

This Marionette Script creates a simple Hedge along a path.

new Wrapper:

'Print Point Order' - helps you to orchestrate streams of points.

(0 reviews)

Submitted

4. #### Offset and Scale

This allows you to offset and scale an object.
With a bit of an explanation that I hope is right. (Well its my understanding to date)

Thanks to @Luis M Ruiz Example WT-31-How_to_sequence_volumes.

(0 reviews)

Submitted

5. #### Galloping Horse

Just a bit of fun with one of Marissa's wonderful nodes. Just run the network.

(0 reviews)

Submitted

6. #### Fill Spaces With Symbols

Imagine you have client, which delivers you a room list. And a list, which objects have to be in this rooms. You can consider this lists with hundreds of rooms on your left screen and click them one by one in your rooms. You will make errors and your eyes will get squared.
Another real interesting example how you could accelerate a routine job with a marionette script.

(0 reviews)

Updated

7. #### Rectangle Packing

The heart of this Marionette example is the RectPack node. A node with over 2600 lines of code!
It supports dozens of packing algorithm to pack rectangles on another rectangular area in a space and time-saving way.
The right combination of packing and bin algo gives the ability to pack rectangles in a way you want to have them on your machines (as close as possible, always cut complete board, less cuts etc.)

Actually not even myself know, which packing algo ist right for which use case.
Also for professional use case, usually there is a machine dedicated software, which packs the port in a way which match best for the machine.
So I see the main use case to pack parts on a board for milling them on a cnc-machine as example for model-making. Workflows which uses a guillotine-workflow (always cut the whole board) often have special requirements which maybe could be reached with the choice of packing algorithm or maybe can not.

The Marionette Example based on foundational work:
http://www.secnot.com/   Python code for packing algorithm
Jukka Jylang - A Thousand Ways to Pack the Bin - A Practical Approach to Two-Dimensional Rectangle Bin Packing (2010)
Huang, E. Korf - Optimal Rectangle Packing: An Absolute Placement Approach (2013)

General Features:
- Input of basic data like length and width
- object input (node detects if part input are objects and process them like rectangles)
- sort by material
- use a list of stock materials
....

Not all input combinations works at the moment. Recommended to use the existing examples to get correct input values.

(0 reviews)

Updated

8. #### ImgProcessing-03

Following on from Marissa's network I made a few adjustments to provide optimise the process to get reasonable results relatively quickly.

(0 reviews)

Submitted

9. #### Create Multiple Shells

This set of wrappers are good for creating multiple shells from a solid object.
Steps: Name you solid object > set the desire thickness > spacing > run the script.

(0 reviews)

Submitted

10. #### Panelization

This file was created by Proving Ground to analyze the panelization of NURBS surfaces. Based on 3 NURBS curves, it creates a lofted surface, then converts it to a series of 3D polys. It then compares the 3D polys to the curvature of the surface at that point and states how out of plane each panel is. It also uses a color gradient to indicate where it is out of plane. It then makes a copy of the panels and lays them flat in a grid.

(0 reviews)

Submitted

11. #### Shuffle Numbers Example

An Input of 4 different numbers. Out of that 4 values there are 40 shuffled numbers of the same values. Next value never is the same like preview value.
This Example uses a custom "shuffle-node" (randomize input list with the option, no next value must be the same like preview value) and the "saldo-node" (returns a sum after every new value).

(0 reviews)

Updated

12. #### Halftone

This is my first marionette and it's based on @Marissa Farrell's image processing!

It takes an image and creates a Halftone object of it with black circles:

IMPROVEMENTS:
Final objective is that I'll add cnc DXF milling information to this marionette so that it can be milled on a CNC machine.
(We've milled Halftone parts in the past using Jason Dorie's Halftone program http://jasondorie.com/page_cnc.html)

Result:

Detail:

Maybe add a line milling. The image below is milled by us in the past with Jason's program.

Be able to change the dimensions of the final halftone image. Now it takes the pixel width and height of the image, but I would like this to be some adjustable parameters. Changing the height and width with Set Height and Set Width has no effect. Somebody has a suggestion on how to do this?

Now the marionette looks at the color of each pixel on a grid with step "Distance between Circle Centers". Related to that color, it creates a circle with according radius on the position of that pixel:

The problem with this method is that that single pixel on the grid has total control on the radius and the one pixel just next to the chosen one has no relevance. A better mechanisme would be that the size of the circle is related to the average color of all the pixels in the area of the square "Distance between Circle Centers"x"Distance between Circle Centers". Anyone with some advice on handeling this? I got some little progress on it:
Here we have 2 lists. One with all the pixels. X,Y coordinates of the pixel, Z is the radius of the circle according to the color. The other list has the X,Y values of the centers of where the final circles have to be placed.

Following this we need to check the distance of all the image points to the center points. If this is smaller than a condition, then that point's radius had to be taken into account for calculating the average radius of that centerpoint. Any one has a quick hint on how to create this in marionette?

(0 reviews)

Updated

13. #### Image Processing

This is based on Marissa's nodes. (The Wizard of Marionette)

(0 reviews)

Submitted

14. #### Create Record from external File

This example shows, how to create a record format with fields from an external csv or text-tab file with marionette.

This example maybe needs the following know how which is not automatically is handled by the script:

1. Save Text with excel, open office or any other application as separated text file or tab separated text file.
2. Setup the "import txt" node-popup with the needed text encoding. Try utf-8, Latin1,  macLatin_2 or other encoding to handle umlauts or special character issues.
3. The Exmaple just checks the first line of the text-file and creates record fields from them
4. The path to the text-input in the attached example is related to the document path. Save first your Vectorworks document. Or use an absolute path input.
5. No warranty or charge for this script, play first on a new file or on the attached file.

I whish you success with it

(0 reviews)

Submitted

15. #### Apartment Area

This nice script summarize all Space-Areas, which are part of the same Appartement Number and shows the result in a symbol based stamp. Alternatively you can get apartment. Alternatively we can pull out sum of apartment area with a worksheet. But this Marionette is also a nice method to do this.

Instructions:
1. The Marionette Objects access to the field "11_Room ID" of the space object. Every other field can be used if necessary by editing script
2. with the Marionette PIOs field "Raum ID" you can tell the stamp, which apartment should be displayed.

Apartment Area v1.2.1 v2019.vwx

(0 reviews)

Updated

16. #### Bar Diagram

A nice, small Marionette for creating bar diagrams. This is much more simpler and more flexible than a spread sheet bar diagram.

Options:
1. ColNames
2. Col Values -> mandatory
3. RefValue -> A bar with this value, has the height of the BArHeigtRefValue field
4. BarWidth
5. BarHeigtRefValue
6. Invert -> A bigvalues results in small bar

There is a 2 minute movie (without audio)
Bar Diagram.mp4

(0 reviews)

Submitted

17. #### Growing Lines

This example is based on a custom node. which returns a line pattern. This pattern is based on several while and random loops. I have not found a proper way to run a while loop over a marionette network so this is better to create in a custom node.

It is easier to play with the example, than explaining exactly how it works.

Have fun with it. This is my base study to find a workflow to project any pattern on a NURBS Surface which would be a real scope of usage.

Movie Link (first Part of Movie)
https://youtu.be/GcFwW-k5Lms?list=PL8s_WkTvFQ2YdFlMfU7Teuh5QrmsO03gW

Growing Lines 1.0.0.mp4

(0 reviews)

Updated

18. #### Tiles

This tool was
commissioned by ComputerWorks GmbH
edited by: Markus Graf and Pascal Völz
supervised by: Antonio Landsberger

Compatibility: Vectorworks 2019 and higher.

Tiles is a Marionette tool for bond pattern planning using geometric shapes (circle, poly line, polygon, rectangle) to show distribution of whole and cut tiles.
For easier usage a wrapper node is provided.

How to use:
a) Place the geometries (rooms) in the class "Rooms".
b) Place the arrow (in class "Direction") inside the room you want to get the tile pattern for.
c) Change the values according to your liking.
d) Run the wrapper node.
e) Update table.

To do:
- update table when running script
- implement an add-on to turn spaces into polygons (soon)
- implement more than one bond pattern

(0 reviews)

Updated

19. #### Area Verification

This tool was
commissioned by ComputerWorks GmbH
edited by: Markus Graf and Pascal Völz
supervised by: Antonio Landsberger

Compatibility: Vectorworks 2019 and higher.

Area Verification is a Marionette tool used to graphicallly and tabularly verify the surface area of spaces/rooms (circle, rectangle, poly line & polygon) in the class "Rooms". To do that the Marionette network divides the areas into calculatable subareas: circles, rectangles, triangles.
The graphical area verification using subareas is often required when applying for permits (building construction, landscaping).

For easier usage a wrapper node is provided.

How to use:
a) Place the geometries (spaces/rooms) in the class "Rooms".
b) Run the wrapper node.
c) Update table.

To do:
- update table when running script
- implement an add-on to turn spaces into polygons (soon)

(0 reviews)

Updated

20. #### Export SheetLayers as txt (Text-Tab)

Exports Sheet Name, Title, Page Size and Page Numbers. Export Folder can be selected. FileName.txt can be set in ObjectInfo of wrapper. Grey and orange nodes (Screenshot) are custom nodes. "Manipulate File" is edited (codex utf_8) to support special characters like äöüé etc.
Note: I think Excel on Mac has issues handle the exported file's special characters (utf_8 encoding), not my fault I guess. The codex can be changed inside "Manipulate File" Node if you are not happy with the exported text encoding or find/replace on the other Software.

(0 reviews)

Updated

21. #### Class Legend Attributes

This Network ist not very flexible (world based values, just one row) but still useful.
You can insert and and ungroup for individual layout etc.

Note!
1. First delete all classes and replace to "none" or "keine"
2. copy the object on your file
3. If you do not delete classes on the original, you will paste the classes from the example in your file

(0 reviews)

Updated

22. #### Panel Arrays

In Vectorworks, there is a command that allows the user to build a surface array, i.e. to array a symbol across a NURBS surface. This is a powerful tool, but creating patterns with multiple symbols is currently missing as an option in the software.

With this in mind, these two Marionette scripts are meant to help create panel patterns on a wall with existing 3D symbols:
·     The wrapper “Panelization with Rotation” arrays a single symbol across a surface, but can apply a rotation to that symbol in either a user-defined pattern or randomly.
·     The wrapper “Panelization with Multiple Panels” arrays multiple symbols across a surface in either a user-defined pattern or randomly.
For both scripts, the horizontal and vertical reveals between panels can be set separately, allowing for quick visualization of multiple paneling design options.

These scripts only work when the NURBS surface is flat and the face is rectangular — the symbols will not follow a curved surface. This is meant to be used for panelized walls, which are much more likely to be flat. (The surface however does not have to be vertical; it can be slanted or horizontal.)

The panels are distributed from left to right, top to bottom across the surface — if the pattern does not fit exactly across the surface, there will be extra room left at the right and/or bottom edge of the surface. When paneling a wall, it is more likely that the full surface or the reveals will be resized to fit the appropriate number of panels versus trimming the panels along one side.

(0 reviews)

Submitted

23. #### Parallel Polys

Creates a pattern of parallel polys along the path of an input poly depending on widths and classes set by the user.
Erzeugt ein Muster paralleler Polys entlang eines Polys in Abhängigkeit der vom Nutzer festgelegten Breiten und Klassen.

By ComputerWorks GmbH.
Compatibility: Vectorworks 2020 and higher.

(0 reviews)

Submitted

24. #### IFC-Durchbruchsplanung

Erstellt aus in Vectorworks importierten IFC- Schlitze-/Durchbruchelemente native Vectorworks Schlitze-/Durchbruchobjekte mit allen Eigenschaften und Datenbanken des originalen IFC-Elements.

Informationen zur Anwendung entnehmen Sie bitte der Anleitung, die parallel zu dieser Datei als Download zur Verfügung steht.

Von: ComputerWorks GmbH. In Teilen basierend auf Marionette-Nodes von DCorpataux.
Kompatibilität: Vectorworks 2020.

(0 reviews)

Updated

25. #### Extrude & Array

Hi just a file that may assist in the learning of Marionette.
I have a lot of files that i feel should be out there that may assist. Hope this is the right location to place them.
Alan

(0 reviews)

Submitted