Jump to content


  • Content Count

  • Joined

  • Last visited

Everything posted by DomC

  1. DomC

    Rectangle Packing

    @Gescher Hallo Ich kann mir das gerne anschauen. Es gibt zwei Tabellen-Inputs. Einerseits die Teileliste, andererseits eine Plattenliste um für verschiedene Materialien, verschiedene Plattengrössen zu definieren und um zu sehen, welche Platten bestellt werden müssen. Wobei man auch bei der Lager-Liste Stk 1 verwenden darf, wenn man das nicht braucht. Also Board-List ist der Platten-Lagerbestand und Stückliste-Küche ist die Stückliste. Es könnte dann Fehler geben, wenn die Spaltenreihenfolge nicht stimmt, die Zahlen mit Komma getrennt sind (7,1 statt 7.0). Poste doch mal Deine Beispieldatei und Beispieltabelle.
  2. Version 1.0.0


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

    Reshape Node 2D

    Version 0.9.4


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

    Reshape Node 2D

    Another example usecase of parametriced drawers.
  5. Version 0.9.6


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

    Error loading Vision Library

    Post removed: (Wrong Thread, sorry)
  7. DomC

    Converting Strings to Numbers

    Hi Generally this are common issues: 1. If you have a String of 0.30000 and want to have have a string output from 0.30 you can youse x[:4]. The first 4 character of the string. If you have 100.45987 you will get 100. with this formula. If you use x[:-2] the last two characters are lost. To Prevent this, you could first split the string in number and digit and then operate with this. 2. Sometimes there are Units like m2 mm m qm etc. 3. Sometimes we want to have prefix like +. - and +- etc. 4. Sometimes there are , instead . of decimal seperators. The attached Nodes, addresses all of this common issues. Simple issues, but relatively complexe to solve. I attached some node to solve them. The error message you got is because to substract two items from a list (a string is like a list '0', '.', '0', '0' etc. or a list of numbers will be [0,5,3,4.5,]). So with a Number of 0.30000 it will not work, this is just one item. You could convert to string str(x)[:-2]. Then it would work. Do not know what mapping is doing. If it converts the string of 0.3 in a number it Maybe by standard makes again 0.300000 in the IFC Export. You see, not so trivial. I Recommend using the Attached Node Digits from string and try with this. Set Digits From String.vwx
  8. Version 1.0.1


    The Example file contains two PlugIns for 2D Light effects. https://youtu.be/34gu6EEvhog
  9. DomC

    Apartment Area

    Version 1.2.0


    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. Appartment Area.vwx
  10. DomC

    Apartment Area

    Hi Pat Thanks for reaction. You are right and I already switched to 11_Area in the 2019 File.
  11. DomC

    Apartment Area

    @Luise It hard to intercept every bug in other components but I think this Update will fix it: 1. Uses 11_Area which seems to be m2 instead of cm2 2. separate numbers from unit and can handle , as dezimal delimiter. 3. Returns 0 for Bottom elevation if elevation is negative (can't fix this, maybe I could by getting the IFC elevation height, but I don't want to) You can try the attached Update File it will work without error Message Apartment Area v1.2.1 v2019.vwx
  12. DomC

    Apartment Area

    Are you testing in 2019? In 2019 space delivers cm2 for area and negative elevations will result in empty output. That will result in issues because the script is not made to deal with empty input. I will look what. Also the "Get Record Field" Node from 2018 will be broken in 2019.
  13. DomC

    Apartment Area

    Hi @Luise An Update is available. Now it eats comma separated numbers together with units.
  14. DomC

    TV All-in-One

    Good and purged script design with a user friendly info-palette. Thanks for sharing.
  15. DomC

    If in String - Result not as desired

    As Marissa mentioned 1. Replace code inside "Get Record Field", which is from 2016, use an outdated vs.GetType() command and is not update-ready. 2. I would solve the prefix with the if node: 3. I would try to keep the symbol record format workflow. Because it is so much easier to change the look of your stamp. 4. Uploaded an update of my example here:
  16. DomC

    Automated Layout

    Version 1.0.2


    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"
  17. DomC

    Automated Layout

    Hi There is an update. The "VP Layer Visibility" has no bug. It just set the same visibility in all created vp. So not very usefull for creating more than one viewport with different visibilities. However I made this node new. It works now with different input sequences. So every created vp can have different visibilities.
  18. DomC

    Automated Layout

    Hi Matt Hm ... it's seems to be a bug in the "VP Layer Visibility". I will look into this to provide a fix.
  19. DomC

    Automated Layout

    the first two handles are different from the others. Follow the handles from right to left in the script. Then you will see, that they are strings before they got handles. They also will be the same string. That's how I search an error. Like the TV, if cable connection is broken. Follow the cable back and you will find the faulty connection. The name is built from the Room Number "11_Number". Which maybe is empty in your file and the Layer name of the space. If this is being the case all spaces from one layer will putted on the same layout on the same place. To fix that: 1. Take another (unique) data from the space. Or create room numbers 2. Feed the Sheet Layer name producer with a series of numbers. 3. Make the Position of the Viewports a Serie of coord Points and the will lay side by side.
  20. DomC

    Automated Layout

    Hi Use "Print Debug" to see, what's coming in the "Create Layer" Node. If you have always the same layer name (input) or the same layer handle (output), all your viewports will created on the same sheet layer.
  21. DomC


    Sure The Script needed a little Updates for 2019. Cause the Path Handling in 2019 is better than in 2017/2018 I had to delete some lines. Halftoning Farbige Punkte.vwx
  22. DomC

    Space dimensions

    I worked on a node the last weeks over holiday season. The Node calculates all perpendicular distances from vertexes to edges and all distances from edges to edges. It filters some distances and returns the wanted number of small distances. 70% of the work was to separate the polygons (handling of the sequences), 20% was to synchronize and handle calculated values (1.987456879136870 identical with 1.987456879136869 or not)digits of the values of different measure lines. I hope it can help to solve the real task. https://forum.vectorworks.net/index.php?/files/file/193-polygon-survey/ The next step would be to evaluate a kind of "walking" line. So separate important and non important distances. Also it maybe would be an other good approach to "move" a circle or a square trough the polygon to evaluate distances. Hole also not implemented yet in my node.
  23. DomC

    GetFolderPath() accessing a workgroup folder

    Hi This seems to be a very old thread 🙂 I did not found something newer. There seems to be a way to read plist on mac (not yet tried registry on win). Is there a more direct way? import plistlib file = 'Users/username/Library/Preferences/net.nemetschek.vectorworks.2019.plist' pl = {} with open(file, 'rb') as fp: pl = plistlib.load(fp) vs.AlrtDialog(str(pl.get("NNA Workgroup Folders")))
  24. DomC

    Polygon Survey

    Version 0.9.5


    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.
  25. DomC

    Random Extrude

    I would do it like this 1. copy to not loose your original circles. 2. get list length and repeat one of the random numbers to get as many random numbers as your number of circles are All nodes are in the default library


7150 Riverwood Drive, Columbia, Maryland 21046, USA   |   Contact Us:   410-290-5114


© 2018 Vectorworks, Inc. All Rights Reserved. Vectorworks, Inc. is part of the Nemetschek Group.