Jump to content

DomC

Member
  • Posts

    605
  • Joined

  • Last visited

Files posted by DomC

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

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

    94 downloads

       (0 reviews)

    0 comments

    Updated

  3. Import pillow 2022

    Unsure on which different OS and how long this will work. I just need it for myself and wanted to share, because I know some of you are waiting for external-library-fix with OSX. For my usecase the issue at the Moment seems to be fixed. Not tested with Windows or other OSX Versions. Runs on my Machine intel Mac Book with Big Sur and Vectorworks 2022 SP1.

    Do not run on Windows yet.
    Feedback what it does on your machines is very welcome.

    52 downloads

       (0 reviews)

    0 comments

    Updated

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

     

    251 downloads

       (0 reviews)

    6 comments

    Updated

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

  6. Standard Rooms

    This Script it made for users which have an Vectorworks Architecture but have not the core business to draw walls, slabs and roofs to make a presentation ambient for their designs. It helps to create room situations very fast and especially very easy. 

    1. Concept
    It pulls Symbols out of a Symbol folder which are Room-Presets. As Presets Rooms can exist, that have a rectangular shape and inner dimension of exact 2 meters. Slabs are supported also (No extrudes etc.) and roofs. Best Practice maybe is to keep existing presets and just change classes as example. If we are working with presets we can "save" a lot of parameters in the Object-Info-Palette which makes it faster and easier to use.

    2. Workflow
    Copy Symbolfolder and PlugIn in your project and you can use it immediately. If you want to change details you can ungroup (cmd/ctrl. U) the objects into Walls and slabs. So you are able to insert Windows, Doors or changing other Details.

    3. Known Limitations/Details
    - Rectangular Room presets only
    - Switch on/off ceiling with classes
    - Texturize by classes
    - Changing classes by editing preset Symbols and attach other classes/attributes
    - You can Mirror the Room to get left/right rooms


     

    77 downloads

       (0 reviews)

    1 comment

    Submitted

  7. creating records from txt or xls

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

    219 downloads

       (0 reviews)

    0 comments

    Updated

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

  9. Page Numbering

    This Document contains two Marionette PlugIns.
    Those PlugIns will simplify the workflow where we have more than one page on one sheet layer.
     
    1. Someone who uses your plans will have an advice if the document of the plan layout are complete.
    2. You can see which page you have to print directly on the layout without counting the pages
     
    This Marionettes supports Normal- and Landscape Format. Where pages are printed in a different order.
     
    Note:
    One Marionette (multi label) puts a label on every page and have to be inserted at the center (info-palette x0 y0 > please do not move).
    The other Marionette (single label) can be putted freely on the layout. It returns the page number of its center point.

    The Multi-Label Marionette, do not support uneven pages like 6.2/2.6

    55 downloads

       (0 reviews)

    0 comments

    Updated

  10. Label_From_Worksheet.vwx

    More powerful, than a database or text application.
    A Vectorworks integrated label-script-example with Marionette. The attached example shows how to import address data from a worksheet (could be other data and sources) and additionally places  symbol beside the address. The power of Vectorworks and Marionette allows us to put everything you like dynamically on that labels. As example sort by male and female names (if possibly :-) and generate a individual pictures. Just infinite possibilities.
     
     

    179 downloads

       (0 reviews)

    0 comments

    Updated

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

    109 downloads

       (0 reviews)

    0 comments

    Updated

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

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

  14. DomC - Text and String Nodes

    10 cool nodes for text and string. Replacing, separating, coloring, Dimension Text Size, 

    103 downloads

       (0 reviews)

    0 comments

    Submitted

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

  16. Create Symbol

    "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

    78 downloads

       (0 reviews)

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

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

  20. Parametric Metal Framework Cabinet

    A Text-Script based Marionette Object. 

    Technical Info:
    About 30 Options in the Object Info palette. And many if then combinations, which results in drawing/not drawing a part of the cabinet. I did this first with a graphical script network. But there was no possibility to NOT execute part of a graphical script because of an option. 

    It is just possible to execute/draw everything and then delete objects. Which results in a disadvantage of speed. So I decided to write code instead. Anyway, this is also something, marionette can be used for. 
     
    Youtube Link:
    https://www.youtube.com/watch?v=lUmXE-3ONlE
     

    232 downloads

       (0 reviews)

    0 comments

    Updated

  21. Truss with parametric length

    This Example shows, hot to have a any (complex as you want) geometry with a parametric length (available by the yards). 
    The Geometry was not modeled and parameterized in the script. But this is the advantage which this example shows. So take every geometry (import files etc) and just "cut" the length you need. Thats how this script works. It cuts away from a maximal part length (input as symbol) to the length you need.
     
    You can make an own symbol and rename the symbol input of the script. The Symbol cross-section now is limited to one meter. You can edit the script and increase this if necessary.
     
    Or look at this, with this method, you can model frame and installation plate in your script. The "fill" you can make with the method of this example script. 
     

     
     

    140 downloads

       (0 reviews)

    0 comments

    Updated

  22. DomC - System Info and Action 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 reviews)

    0 comments

    Updated

  23. Spaces with objects

    This node sorts out all spaces which have a collision with one of the input objects. Can be used to detect, if a space contains a specific object.
    For collision points, the space polygon and the object's bounding box is used. There is a OIP dim parameter for tolerance value.
     
    The vwx contains a quick and dirty test floor plan, nothing real 🙂

    74 downloads

       (0 reviews)

    0 comments

    Updated

  24. DomC - Record Nodes

    GetRNames(good), RecToTable(powerfull), GetMultiRecValues (specific usecase)

    83 downloads

       (0 reviews)

    0 comments

    Submitted

  25. DomC - Operation Nodes

    PutByRefPoint(great, powerful), LinearArea(good), ConvertToGroup (very specific)

    130 downloads

       (0 reviews)

    5 comments

    Submitted

×
×
  • Create New...