Jump to content

Rectangle Packing 1.0.0

   (0 reviews)

3 Screenshots

About This File

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.

 


What's New in Version 1.0.0   See changelog

Released

Network Update for Input by Layer Example

 

1. Support for mixed layer plane and screen plane objects

2. Support for groups

 

Some limitations are related to the default move and rotate nodes. They not yet can separate every object type to be moved by vs.HMove or vs.Move3DObj. So i us just a custom move and rotate node (HMove and HRotate which do not work for 3D) the following limitations exist:

1. No Support for 3D Objects

2. No Support for pure 3D Symbols

3. No Support for Screen planed Symbols

 

1631208671_v1.0.0.thumb.png.c150351359967dcb838a842ce8d1fcb4.png

 

  • Like 5


User Feedback

Recommended Comments

Some Screenshots of a carpenter who uses this for cutting arrangements.

So great to see, how other people uses those technology (and days of work) to improve their workflows. http://www.garzotto-ag.ch/

 

Screenshots attached

 

5a3ae63760824_TheProject.thumb.jpg.60817b8488f6de241e3c3752acbbb426.jpg

 

5a3ae65fa7b02_CuttingArrangement.thumb.jpg.577834b88bcaf5d2876418e2ebf1a063.jpg

 

5a3ae673141de_Stackedworkpieces.thumb.JPG.8a9c5d8c601aa0903a272a6151018fb1.JPG

 

 

 

 

 

 

Share this comment


Link to comment

Hi,

Ich benutze dein Programm um in unserer Firma Plattenzuschnitte zu optimieren und bin begeistert.

Allerdings bekomme ich bei der Variante WorksheetInput, also die Eingabe über die Tabelle immer eine Fehlermeldung.

Vielleicht schaust du dir das mal an!

 

Danke für deine echt coolen Programmierungen die du hier veröffentlichst, von diesen benutze ich einige um mir den Arbeitstag zu erleichtern!

 

🙂

Share this comment


Link to comment

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

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

 

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.

×