-
Posts
604 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Articles
Marionette
Store
Files posted by DomC
-
2D Light Effects PlugIn
By DomC in Marionette - Objects
The Example file contains two PlugIns for 2D Light effects.
https://youtu.be/34gu6EEvhog
274 downloads
-
3D Window with 2D content, wall hole and stone curb
By DomC in Marionette - Objects
Example of a 2D/3D Marionette PIO with a Custom Wall hole.
The Geometry of the Window and the embrasure is based on a symbol. Also the 2D Drawing is based on a symbol. The Geometry is reshaped by the 2D and 3D Reshape node. So the Script itself is relatively slim.
Replace the Geometry with everything else you can draw. Generic solids are recommended. Also you could script some additional geometry for window division while frame is parametrized by reshape node.
This will go on. It took about 2 hours to draw the geometry and 2 hours to parametrize it. Impressive, how quick we can produce PIOs with Marionette based on that workflow.
217 downloads
0 comments
Submitted
-
Apartment Tag / Wohnungsstempel
By DomC in Marionette - Networks
About this File
This tool is available in english ("Apartment Tag") and german ("Wohnungsstempel"). The contents are nearly the same just translated.
This Marionette Tool summarize all Space-Areas, which are part of the same Appartement Number and shows the result in a symbol based Marionette stamp. 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 "ApartmentID" you can tell the stamp, which apartment should be displayed
3. With the Checkbox "Layer from Apartment Tag". You can make the Tag collecting spaces of the tag's layer. Otherwise it will collect areas from the layer of the layer popup
4. You can exclude Spaces with specified keywords. Delimiter for Keywords is "$"
5. To use the Marionette PIO on the Target Document, copy/paste the PIO and then import the Symbol definitions from the Folder "ApartmentStamps" on the Target Document.
Über diese Datei
Dieses Werkzeug ist auf Deutsch ("Wohnungsstempel") und auf Englisch ("Apartment Tag") verfügbar. Die Inhalte sind bis auf die übersetzten Bezeichnungen nahezu gleich.
Der Marionette Wohnungsstempel fasst Wohnungsflächen zusammen und zeigt diese in einem Symbolbasierten Marionette-Stempel an. Raumflächen können auch mittels Tabellen ausgezogen werden. Der Wohungsstempel ist eine komfortable alternative.
Anleitung:
1. Räume welche zur gleichen Wohung gehören, werden mit dem Standardfeld "Raum ID" identifiziert. Auch andere Kriterien für die Wohungszugehörigkeit können festgelegt werden, dazu muss das Script geändert werden.
2. Im Feld "WohnungsID" wird eingestellt, welche Wohung angezeigt werden soll.
3. Mit der Checkbox "Ebene von Wohungsstempel" lassen sich explizit die Räume auf die Ebene des Wohungsstempels eingrenzen. Ist die Checkbox deaktiviert, gilt die Einstellung "Räume von Ebene:"
4. Räume mit bestimmten Namen, können hier ausgeschlossen werden. Trennung der Namen erfolgt mit "$"
5. Um den Wohnungsstempel auf einem anderen Projekt zu verwenden, zuerst das PlugIn mit copy/paste übertragen, dann die Symbolressourcen im Ordner "Wohnungsstempel" auf das Zieldokument importieren.
679 downloads
-
Automated Layout
By DomC in Marionette - Nodes
Hi
This Examples shows, how to automatically create sheet layers and viewports from objects of the design layers. In this example, a sheet layer will be created for every exhibition place available on the design layer. It creates a 1:20 close-up from the specific exhibitor's place and an overview plan with a marker of the exhibitors place.
This Network-Template could be used whenever you want to create automatically documentations out of your drawing. As Example:
- Put a Viewport of every Space Object in your drawing on SheetLayers
- Put Viewports from Building Elements close-ups (Windows, Doors etc.) on sheet layers
Also this Network contains some very powerful custom nodes:
1. Enhances BBox, Enhanced Rectangle, PutByRefPoint those are just to save time for calculating width, length and ref point of objects
2. Function Two (like standard function node with two inputs), SetParent
(1. and 2. Already available on this forum)
3. CreateLayer
4. CreateViewport
5. VP Layer Visibility
6. Add VP Ann (Annotations in Viewport)
7. Nodes for getting Marionette OIP Data which is not possible with "Get Record Field"
237 downloads
-
Bar Diagram
By DomC in Marionette - Networks
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.mp450 downloads
0 comments
Submitted
-
Basic Reshape SolidScale in x,y,z
By DomC in Marionette - Nodes
This Nodes breaks up and scale a 3D Solid Geometry and the result is similar like a 2D Geometry reshaped by the 2D Reshape Tool.
The Input Geometry (Geometries) have to be grouped. You can input it from symbol or control geometry.
The Node is designed with some love to detail and make the job in many situation just right. It follows some rules:
1. reference Point is left bottom back
2. Overlapping geometries over the zero point to left, back or bottom are handled symmetric. You can use locus points to direct the correct symmetry.
3. The nodes cut a geometry in 3 parts. the end parts are called "caps". The Node allows to scale the caps or the middle part (in most cases the right mode)
4. It is necessary the input geometry is a group.
5. Grouped Objects completely inside caps, will be moved as well
6. Objects between the caps, will be moved half value
This advantage of this node, is to allow an incredible fast production of a specific type of PlugIn Objects (Reshape in x, y, z direction Middle Part is scaled like Tables, Pillars, Handles etc.)
Movies:
Simple Example (Pillar):
https://youtu.be/F6BIe8d0mTs
More Complex Example(Window Element):
https://youtu.be/pJ9R8UWyM7Y
Further Examples:
https://youtu.be/uRwDU-KTRjw
813 downloads
-
Circular Growing and Filling
By DomC in Marionette - Networks
During my last Marionette-Project, I produced some simple geometry nodes. Which maybe can be useful to can make geometrical constructions instead of mathematical (trigonometry) calculations.
The Nodes:
"Perpendicular from Point to Line", "Parallel from Line through Point", "Circle-Circle Intersection", "Line-Circle Intersection", "Line-Line Intersection", "2 Circle Middleline" and some more.
Also the more Complicated Nodes "Circle tangent to 2 Circle", "Point or Circle tangent to 3 Circles"
666 downloads
-
Circular Marionette Stairs
By DomC in Marionette - Objects
Three Examples of Marionette PIOs of Circular Stairs.
772 downloads
-
Class Legend Attributes
By DomC in Marionette - Networks
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
101 downloads
-
Colorize Subtext within a Text Object
By DomC in Marionette - Networks
In this Example there are used some custom Nodes:
1. "GetSubstring" --> Search for a string inside another string and returns Position and count. This will be necessary to set them to a Text Style Resource.
2. "GetInsideChar" --> Returns strings which are inside specified characters (normally quote or double quote)
3. "GetSubstringExcludeQuote" --> Same as the first one, but it to not return text inside quotes
4. "GetNumberFromString" --> Search for Numbers inside a String.
5. "GetNextObj" --> Put This in a Wrapper and it will return the next object after this node. This is a great one!! Can be used also for input geometry inside a script network. Without naming or other smut.
This could be improved by further code (find standalone or text in word, find integer, find float, etc.) But It works for most cases perfectly.
16 downloads
0 comments
Submitted
-
Concave Hull
By DomC in Marionette - Nodes
This node gets points clockwise with a given minimum distance.
The node has an additional option in the info-palette. Follow Deadlock means, that the hull can follow back the same points that already was used as a hull point. Deadlock off means, that a point can't be uses twice as a hull point.
The Algorithm behind the node:
1. Check, which points are in range of the point most left (bounding box for speed optimization)
2. Check, which points are exactly in range of the distance value
3. Check which angle in cw direction is the smallest and connect to this point
I think there would be a speed optimization possible with normalized vectors etc. So i would call this a beta version of the node.
Computing the angles of the vectors takes a while if there are many points. in combination with the cluster node it takes about 17 seconds for 4200 points. Seven Minutes for 8800 points. So check number of clusters and numbers of points.
The Idea was, to have a workflow for vectorize an image. This is a complexe project. Maybe it is worth to check other algorhitms with existing python external modules. But so far it works quite nice.
21 downloads
0 comments
Updated
-
Create Design or Sheet Layer
By DomC in Marionette - Nodes
This Node creates a new layer and keep the active layer the active one.
It has a popup witch allows to choose sheet or design layer. It returns a handle to the new layer or a handle to an existing layer with the same name.
Like ever .. with not warranty try first in an empty file and be careful creating thousands of layers or layers with the same name as other objects in the drawing.
44 downloads
0 comments
Submitted
-
Create Record from external File
By DomC in Marionette - Networks
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
109 downloads
0 comments
Updated
-
Create Symbol
By DomC in Marionette - Nodes
"Create Symbol" creates a new symbol definition on the active document. Refresh resource manager if you create a new symbol with this node by just switch to another document and back in the resource manager.
This node does not use "List absorb" so you can just insert one object into the symbol definition. Recommended to first create an empty symbol and then use "Set Parent" to attach several objects into the symbol.
Create Symbol.vwx
77 downloads
-
Creating nice color schemes
By DomC in Marionette - Networks
This Marionette uses a Web-Dialog to create color schemes. The created colors can be imported as colors and textures directly in Vectorworks.
Instruction:
1. Run the Network
2. configure colors
3. Don't forget to click "save"
4. close Web Dialog, the Vectorworks fetches the created colors and creates a preview with rectangles.
Hint:
right click > Wrap Marionette Network > right click > convert to menu command
63 downloads
0 comments
Updated
-
creating records from txt or xls
By DomC in Marionette - Networks
This Network shows how to create fields from an existing xls or txt file.
219 downloads
0 comments
Updated
-
DomC - Import / Export Nodes
By DomC in Marionette - Nodes
Great nodes to use in real money making projects. PDF, SketchUp, Import csv, import ini
131 downloads
0 comments
Submitted
-
DomC - Operation Nodes
By DomC in Marionette - Nodes
PutByRefPoint(great, powerful), LinearArea(good), ConvertToGroup (very specific)
130 downloads
-
DomC - Record Nodes
By DomC in Marionette - Nodes
GetRNames(good), RecToTable(powerfull), GetMultiRecValues (specific usecase)
83 downloads
0 comments
Submitted
-
DomC - System Info and Action Nodes
By DomC in Marionette - Nodes
A collection of some custom nodes for file and system actions.
1. "OpenDocFolder" --> Open a finder or explorer window. As example the folder of the open document.
2. "ListDir" --> Lists Files and Folders of a specific path.
3. "FileInfo" --> A detailed list with file infos like file size, path, permission, last edit etc.
4. "DateTime" --> Returns the actual date and time.
5. "PlayMP3" --> I nice one, which presents the potential by controlling external apps like an mp3 player etc.
6. "FetFilesInFolder" --> Returns files of a specific type (by suffix) from a specific folder
7. "DialogFolder" --> A dialow window to choose a folder
41 downloads
0 comments
Updated
-
DomC - Text and String Nodes
By DomC in Marionette - Nodes
10 cool nodes for text and string. Replacing, separating, coloring, Dimension Text Size,
103 downloads
0 comments
Submitted
-
DomC Nodes
By DomC in Marionette - Nodes
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
-
Enhanced Rectangle
By DomC in Marionette - Nodes
What is the distance of the middle top point to the insertion Point (left bottom), if your rectangle has 175.5° degrees? Not so easy calculate the move vector or the rotation for that. This node can help you to use your time for other challenges. You can place your rectangles with every standard reference Point in any angle in degrees.
53 downloads
0 comments
Submitted
-
Export SheetLayers as txt (Text-Tab)
By DomC in Marionette - Networks
This Scripts help you exporting your layout structure to get an external list of your drawings if needed.
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.
66 downloads
0 comments
Updated
-
Extracting Geometry from PIOs or Symbols
By DomC in Marionette - Objects
This Script is made to made separate objects from geometry which is nested in PlugIns or Symbols. Those could be uses for special usecases. The Script is criteria and class based. So it would be necessary the nested geomtry is in a seperate class.
The Script uses 3 Criterias
1. (left) The Input PIOs or Symbols by a free criteria
2. (middle) The class which contains the required objects we want to extract
3. (right) The Criteria for deleting the "debris" of the scripts. Which is selectable by class of the source PIOs/Symbols and deletes everything which are groups inside of this class (it deletes not the source objects, because those are symbols or PlugIns)
This is also a possible method to ungroup things. Many ungrouping workflows do not work with Marionette, because the ungroup script command does not create handles to the resulting objects. But the group after ungrouping will be in the same class as the source objects. So using classes could be a workaround to catch the results by a second criteria. Not noble, but it works 🙂
Use is on your own risk and in a copy of your project (like always)
This Script is made for troubleshooting special requirements by resorting geometry for IFC Export.
94 downloads
0 comments
Updated