Jump to content

DomC

Member
  • Posts

    455
  • Joined

  • Last visited

Files posted by DomC

  1. Reshape Node 2D

    https://youtu.be/vuCvK4OwN80 German Movie
    https://youtu.be/Nm0te1zmpVY English Movie
     
    Structure of the Input:
     
    1. Group with Geometry group (send to back) and Reshape Zone definition (send to front). Best practice is to use a blue smbol without screen plane objects
    2. Reshape Zone group has further groups. Every reshape zones (polygons) is grouped with a dimension object. The dimension is the link to the script. The parameter name is a prefix of the dimension text
    3. Use one of the existing examples to understand the system
     
    Limitations:
     
    1. Supportes not 3D, Chain Dimension, path objects, rectangles. Container objects are not reshaped but moved (like the reshape tool)
    2. user origin has to be set to vectorworks origin
    3. not mix of screen-plane and layer plane. Use all layer-plane
    4.  ...
     
     
     

    Parametric Symbol v2018.vwx

    167 downloads

       (0 reviews)

    6 comments

    Updated

  2. 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
    - Input of additional data
    - 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.
     

    582 downloads

       (0 reviews)

    16 comments

    Updated

  3. SpacesfromList.vwx

    This Marionette Script creates multiple space objects from worksheet data.
    A very nice and time saving Marionette script to automate a routine peace of work.
     
    Please consider, that the the script takes the area column and calculate the square with that. If you have a language settings with comma instead of points for decimal seperator, the calculation will fail. Use points as decimal character or eliminate decimal places in your list
     
     

    333 downloads

       (2 reviews)

    18 comments

    Updated

  4. Apartment Tag / Wohnungsstempel

    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 "$"
     
     
    Ü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 "$"
     
     
     

    243 downloads

       (1 review)

    22 comments

    Updated

  5. Extracting Geometry from PIOs or Symbols

    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.

    40 downloads

       (0 reviews)

    0 comments

    Updated

  6. Wall Component Volumes for Custom pSet

    If NetVolume of Wall components has to be written in a custom pSet (if this is a special requirement), this Network maybe provide a solution.

    Note:
    If you export Base Quantities, you get component volumes exported. Which is the normal-case to export the component quantities.

    What does the Script(s) do:
    1. The first Script creates record fields for every component Name exists in the Document (Walls have to be in the drawing, not just as a style).
    2. The Second Script gets Wall component NetVolumes and writes it in the Record attached to the Wall for every component Name.
    3. So you are able to use the Data-Manager to attach this component informations  to the Wall Body and be able to export is as a Custom pSet to ifc (if this is a requirement in a specific project)

     

    123 downloads

       (0 reviews)

    0 comments

    Submitted

  7. Extrude along Path with Ref point

    The standard behaviour of the extrude along path tool is to center the profile on the path and after creation we are able move it. This works pretty good. If we use the extrude along path node, is is not so easy to move the profile group after creation. This example shows how to do.
    1. Put a 2D locus point in your (blue) symbol as a reference point and put it in the background (cmd/ctrl + B)
    2. the script will measure this point and after creation of the extrude along path it will move the profile group
     
    Specials:
    - A custom node to get the profile group of the path
    - A custom node to reset the extrude along path object after moving profile group

    43 downloads

       (0 reviews)

    0 comments

    Submitted

  8. Wonderful Marionette Door

    More and more projects with a high level of individual control or a high level of geometry detail were created in 3D. The leading modelling and scripting capabilities keeps Vectorworks the best choice for BIM models. We have the best tool to make more than just the standard. 

    This Example shows how to parameterize a "hand design" Geometry of a beautiful Door.
     

    146 downloads

       (0 reviews)

    0 comments

    Updated

  9. Menu-Command Distribute horizontal

    If you often have objects like imported pictures or imported PDFs with many objects or pages, this Marionette Menu Command can be handy.
    It aligns objects to the bounding box buttom and stick it together to the bounding box width.
     
     

    86 downloads

       (0 reviews)

    1 comment

    Updated

  10. Marionette Object shows Values from an xls

    This Example shows a Marionette Object, which contains a Vectorworks Worksheet.
    By clicking "Update" Button in the OIP, the Marionette pulls automatically the new values out of the linked xls sheet. 

    Short Manual:
    1. Import first The Worksheet in Vectorworks 2021
    2. Create a blue symbol (insert as group) that contains the worksheet
    3. Fill out Worksheet Name, Symbol Name, and File Path (Pick File Node)

    Known Limitations:
    - I see it as a fun-gadget
    - It will not enhance the VW Worksheet if new rows are added in the linked xls. 
    - It will not make the VW Worksheet smaller if rows are deleted from the linked xls.
    - It is based on the import xls from 2021 and it will update just values. No Format etc. will be updated.
     

    506 downloads

       (0 reviews)

    0 comments

    Submitted

  11. creating records from txt or xls

    This Network shows how to create fields from an existing xls or txt file.
     

    104 downloads

       (0 reviews)

    0 comments

    Submitted

  12. Get Values from XLS

    "XLS Get Values"is to read Data directly out of a XLS Sheet. 
    The Smaller Nodes "XLS GetSheetNames", "XLS GetSheetInfos" are additional Nodes which are not essentially.
     
    use cases:
    Everywhere you want to get Data out of an XLS File instead a Textfile. 
     
    Special Features:
    1. If file Input is wrong the node will do nothing (no crash 🙂 )
    2. If the sheet name is wrong it will import first sheet
    3. If start/end is empty, it will return the complete sheet.
     

    64 downloads

       (0 reviews)

    0 comments

    Updated

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

    81 downloads

       (0 reviews)

    4 comments

    Updated

  14. Marionette Translate Character to Geometry

    A Marionette PlugIn, that collects a custom drawing (font character, picture whatever) and refer it to a regular font character. 
    This "Font" is placed into the control geometry container. Also we could just use a blue symbol.
     
    The Heart of the script is a custom node "create font dict" which manage collecting the control geometry. Also it returns a dictionary sequence data type. A dictionary is very useful if you want to have pairs of data. In this case a character and a drawing group with informations forms a pair. 
     
    Sure, the script could be improved by several things (multi-line, alignment, page based etc. )  But I think it is very useful to have that plug in. Have fun with it. Maybe you can share your own fonts and your wonderful handwriting here. Thanks.
     
    Usecases:
    1. Handwriting Font
    2. Vectorfont (ability to use sketch view)
    3. For Milling Machines
    4. Fast inserting of object sequences
    5. ...
     
    Update v2019
    1. Script Crashed if input Geometry was None (Integrated a script blocker and an Alert Dialog )
    2. Input Dict was always None, because use of an outdated Script command (vs.GetType() instead vs.GetTypeN()). Issue in many other scripts. One of the very rare incompatibilites of Script commands the past Years.
     

    64 downloads

       (1 review)

    0 comments

    Updated

  15. Circular Growing and Filling

    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"

    517 downloads

       (3 reviews)

    0 comments

    Updated

  16. Circular Marionette Stairs

    Three Examples of Marionette PIOs of Circular Stairs.
     

    534 downloads

       (0 reviews)

    2 comments

    Updated

  17. Module Importer for numpy scipy and pillow VW2020

    Importer Nodes for the most used external python packages.
    Tested with VW 2020 SP1, Mojave 10.14.6 and Windows 10

    84 downloads

       (0 reviews)

    3 comments

    Submitted

  18. Basic Reshape SolidScale in x,y,z

    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
     
     
     

    595 downloads

       (0 reviews)

    10 comments

    Updated

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

    67 downloads

       (0 reviews)

    0 comments

    Updated

  20. Automated Layout

    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"
     
     
     

    163 downloads

       (0 reviews)

    17 comments

    Updated

  21. Marionette Launch Video Facade

    This is one of the files used in the Marionette launch video. It was created by Dominique Corpataux at Computerworks.
     
     

    267 downloads

       (0 reviews)

    0 comments

    Updated

  22. Polygon Survey

    A Node which creates Measure Lines in Polygons (Line from every vetex point to every other vertex point).
     
    1. p2p Lines:
      
     

     
     
     
    2. Perpentidular Lines (Perpentidular Line from every poly vertex on every poly edge):

     

     
     
    To sort out needless lines, there are several filters integrated:
    1. Double Lines automatically filtered with an epsilon (p2p is not the same as perpenticular if you look all 15 digits)
    2. Measure Lines, which are identical with poly edges
    3. Measure Lines, which are outside of the polygon
    4. Overlapping lines. If two lines are parallel and both points of the smaller lines are on the bigger line, the bigger line is filtered
     
    5. Filter Lines over and lower than min max values 
     
    6. An Option, to return a number of length (Return first x values). As example if there are measure lines with the length (1.2, 1.2, 1.25, 1.5,) and the value is 1, two lines with 1.2 will be returned. This value is holding on perpendicular and p2p lines. 
     
    Summary:
    Turn off Debug options like "Show Edge", "show Outside Poly", Filter small length (niches) and set "Return first x values" on 1 or 2 to get optimal results. So a normal result will look like this:
     

     
    Attached there are three examples. An Example with spaces, An examples just with polys and an example as PlugIn. PlugIn is good for playing with the options to see changes prompt.
     
     
     
     
     
     

    55 downloads

       (0 reviews)

    0 comments

    Updated

  23. 3D Window with 2D content, wall hole and stone curb

    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.
     

    168 downloads

       (0 reviews)

    0 comments

    Submitted

  24. Menu Command - File Info

    Show Size of the active Document

    60 downloads

       (0 reviews)

    0 comments

    Submitted

  25. Open Folder of current Document v.1.0.0

    This Wrapper contains two Marionette Nodes:
    1. GetActFile -> Returns the Path of the Active Document
    2. OpenDocFolder -> Starts a Subprocess of Finder (Macintosh) or Explorer (Windows) to show a Window from the input Path
     
    Just Test by executing Wrapper. If you like it, add it to your Marionette menu commands.

    81 downloads

       (0 reviews)

    0 comments

    Updated

×
×
  • Create New...