Jump to content

DomC

Member
  • Posts

    605
  • Joined

  • Last visited

Files posted by DomC

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

    91 downloads

       (0 reviews)

    0 comments

    Submitted

  2. Record Popups

    Generally:
    In everyday life job is very often reading and writing record fields of user record formats
    and PlugIn objects.
     
    Situation Now:
    1. Marionette users have to know the record name and need a lot of knowledge to get the universal name of PIOs
    2. Marionette users needs to manually find and transfer the field names into string nodes and also have to know a
    workflow to find the universal field names of PlugIns.
    3. copy/paste of the names or writing the values is stressful and often results in type errors.
     
    What does this Nodes improve:
    1. Quick access to record formats, PIO records and field names
    2. See the localized and universal names (if exists) of the fields, returns universal names to the script automatically
    3. Can also be used in combination with "print debug" to show names for editing existing networks without using directly
    the node
    Record Popup.mp4

    64 downloads

       (0 reviews)

    0 comments

    Updated

  3. Set Parent

    This Node puts objects in a parent Object (symbol, group, etc.)
     
    Inputs:
    1. Handle to Object which put into a container
    2. Handle Input to Parent Object (use "get Object" node to use a named container here like a symbol definition)
    3. Object Info Option "Reset". Reset Bounding Box and other attributes of the parent object
     
    Set Parent.vwx

    37 downloads

       (0 reviews)

    0 comments

    Updated

  4. Point Rectangle

    This node creates optional a rectangle and returns the corner points of that rectangle.
    Often there is a need of a rectangle and the corner points. If the rectangle is rotated, it can be a cramp to calculate the corner points. I hope this node can help to simplify marionette workflows.

    45 downloads

       (0 reviews)

    0 comments

    Submitted

  5. Parametric Brochure Holders

    This Marionette PIO draws a brochure holder with various settings. Parameters over Info Palette. Profiles and brochure (Brochure Textures, brochure Format) over control geometry. Enter and edit control geometry in top plan view (correct bounding box). 

    Special:
    Use of a custom Node, which automatically aligns an object by its bounding box to a referenced place.
     

    119 downloads

       (0 reviews)

    0 comments

    Submitted

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

    24 downloads

       (0 reviews)

    0 comments

    Updated

  7. Number to Row Name

    If you need Worksheet-like Numbering like A, B, C .... AA, AB ..... AAA .... This node offers you an easy solution.
    There are two nodes for both directions.
     
    Limitations:
    1. Input from special characters etc. will result in wrong values or errors. 
     

    27 downloads

       (0 reviews)

    0 comments

    Submitted

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

     

    145 downloads

       (0 reviews)

    0 comments

    Submitted

  9. Name Popup

    About This File
    This Node is similar like the Name-Node. Instead of writing the Name in the Node Infos, you can select the Name from a Popup, wich maybe is a little bit more comfortable. Using the Name input is often used by myself for quick testing, debugging or Stand-alone Scripts. This node helps eliminating errors like writing the name on the wrong field or copy/paste the name on wrong place etc.

    A new innovation implemented, is a visual feedback of the node, which zooms the named object while choosing it in the popup. Which is a very interesting advance to improve user friendliness of Marionette nodes.

    Ideas for further improvements:
    1. Checkbox if zoom or not (not sure, because to many checkboxes decreases usability)
    2. A Pick option to pick an object and auto-naming and inputting with this picked object (Not implemented, because I have not got it to work, that a pick callback runs inside of a Marionette script)
     

    Name Popup.mp4

    47 downloads

       (0 reviews)

    0 comments

    Updated

  10. Enhanced Rectangle

    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 reviews)

    0 comments

    Submitted

  11. Create Design or Sheet Layer

    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 reviews)

    0 comments

    Submitted

  12. Concave Hull

    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 reviews)

    0 comments

    Updated

  13. Name2Index

    Some Ressource Types (such as dimension standard or text styles) are handled by an index number. This node helps to find the index of those resources.

    39 downloads

       (0 reviews)

    0 comments

    Submitted

  14. Colorize Subtext within a Text Object

    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.
     
     

    17 downloads

       (0 reviews)

    0 comments

    Submitted

  15. Creating nice color schemes

    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

     

    64 downloads

       (1 review)

    0 comments

    Updated

  16. List of Files and Folders in a Directory

    This example shows, how to list filenames and foldernames of a folder on your disk. 
     
    Contains the following Custom Nodes:
    1. "GetActFile" --> The Path of the active Vectorworks document.
    2. "ListDir" --> Folder- and Filenames of a directory
    3. "GetNextObject" --> Handy to grab objects directly out of the script
     
    short movie documentation:
     
     
    FileAndFolderList.vwx

    17 downloads

       (0 reviews)

    0 comments

    Submitted

  17. Point Cluster.vwx

    The "Point Cluster"- node detects points, which are within a given distance from other points in the same scope with an own algorithm (not python 3rd party module needed).
     

    31 downloads

       (0 reviews)

    0 comments

    Updated

  18. Reset Object

    Some Objects needs to be Updated after Changing the Object Properties. In this cases this node can help you.
    Reset Object.vwx

    25 downloads

       (0 reviews)

    0 comments

    Updated

  19. Move Symbol in Folder or create Folder

    Insert Symbol in Folder Node:
     
    1. Move the Symbol with the input name in the folder with the input folder name
    2. If folder do not exists it will be created. If no symbol name is inputted, the folder created also
    3. If the folder name is taken by another object, the folder will not be created

    41 downloads

       (0 reviews)

    0 comments

    Updated

  20. Vectorworks to SVGnest direct connection

    This Marionette can be interesting for Laser and cutting jobs. But Mainly it is Study how to use the Vectorworks Web-Dialog to access a Web-Application. The Date is send and reveived over (REST) API. The Exchanged Data is an SVG which is parsed over JSON Formats. Used Engine for Nesting is www.svgnest.com

    for rectangular shapes, use this one:
     
    This Marionette Network is sending all shapes on a layer (or by custom criteria)
    to a Web-App which contains a SVGnest installation and a custom API for Vectorworks
     
    1. Draw a BIN on which you want to NEST the other shapes. Place it topleft of the BIN on your Origin
     
    2. Tested with Layer Scale 1:50, 1:20 mm and BINs of ca. 1-2 meters. It works with all
    Units, sizes and scales but the very first Preview may be very small, cropped or too big.
     
    3. No Holes in polys are supported directly (you can have but nothing would be placed inside)
    But if you draw a smaller shape inside another it is taken as a hole.
     
    4. If ready run the Marionette (You will have to cancel by not saving the result or cancel in
    the dialog after the nesting process)
     
    5. If you have multiple CPU cores it will go much faster. It uses one worker for every core.
     
    6. Click on your BIN, choose the settings button (twice).
    If you define an offset between the parts reduce the curve-tolerance smaller than one. 0.5
    as Example or lower if you see any issues.
     
    7. Press START and wait till parts are placed on the BIN. The Process will calculate infinite and
    try to optimize the result till you click STOP.
     
    8. Press SAVE, wait a sec and then just exit the VW WebBrowser by close or press the Button
    Bottom right to close.
     
    9. Choose Option to move your original shapes on the BIN(s) or a copy
     
    Known Limitations:
    - Some shapes are not converted correctly to SVG maybe. Which is not a big accident because the Application do not import some geometry it keep the original geometry.
    - Complex geometry could take (too) long to nest.
     
    - I take took no control on the nesting process which is processes the NESTING the process
    is powered by https://svgnest.com
     
    Notes:
    You can also use an alternative way:
    1. Export DXF to inkscape and export SVG
    2. Or directly export SVG by https://forum.vectorworks.net/index.php?/topic/78280-export-to-svg-menu-command/
    (The exported SVG from the Marionette is not directly accessable and also the quality and compatibility is just fitted to that one usecase so quality of the Marionette SVG is maybe low compared to the above professional Export-PlugIn)
    3. Import it to SVGnest.com or use their new project DeepNest

    As I mentioned. Primary a study how connect to an even bigger world out from a Marionette. BTW such a connection can be a task nearly as big as the nesting-part itself.

    52 downloads

       (0 reviews)

    0 comments

    Updated

  21. Locus with Mastersnap Point

    This is an enhancement of the standard locus point, with OIP Mastersnap or not.
     
     

    17 downloads

       (0 reviews)

    0 comments

    Submitted

  22. Make Planar Nodes

    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.

    19 downloads

       (0 reviews)

    0 comments

    Updated

×
×
  • Create New...