betterway-tinyman / packer Goto Github PK
View Code? Open in Web Editor NEW3D Bin Packing with multiple Wrappers (Boxes)
License: BSD 3-Clause "New" or "Revised" License
3D Bin Packing with multiple Wrappers (Boxes)
License: BSD 3-Clause "New" or "Revised" License
Hi,
I'm really interested by your rewrite of Boxologic.
I would like to use it from ruby (which doesn't have any box packing lib).
I tried building your project with CLion but I can't create a valid CMakeList.txt file.
Could you create a standalone Boxologic project using Cmake ?
How can I run the javascript version of your code?
I saw the hosted code and its simply awesome.
Also tell how can I donate some bucks to you/the organization?
Steps to reproduce:
Expected result: an error or warning informing you that one of the instances does not fit in any wrappers
Actual result: the website becomes kind of 'greyed out' and does not respond to any mouse clicks. No errors. The only way to continue is press F5 and start over again.
Hello,
the cpp part works fine!
The files in release folder of the browser-project works fine too, but I can't compile the TS - code of the web project to release.
Maybe I can support you by some donation?
There's a way to control on a per-item level whether the item can be turned onto it’s side or not. Like a "ship this way up" parameter?
Or a way to "not rotate" the item.
wrappers have a weight limitation, we cannot add product more than this limit otherwise wrappers will be not able to handle the products init. so can we add this parameter to the existing code?
Hi @samchon
I am trying to implement for an test application but iam unable to get your example to work.
iam not a ts or c++ dev. perhaps you could help me in understanding how your application is working.
if i get it work i want to create a linux shell application wich will read a file with the data and output it to a file.
thank you.
I was successfully using this package for a few days, but when I installed all of my npm dependencies on a different system I started getting errors. Nothing changed in package.json and my first copy was still working fine until I cleared /node_modules and npm install, which gave me the same errors afterward. Has something changed with one of this projects dependencies that could have broken it? I even created a blank project and followed the example in this repos readme, but I get the same error.
Node - tested on 4.2.2 and 6.5.0
Error:
Warning: Invalid argument supplied to oneOf, expected an instance of array.
/Users/{user}/Projects/{project}/node_modules/3d-bin-packing/release/node/packer.js:318
for (var it = this.layer_map.begin(); !it.equal_to(this.layer_map.end()); it = it.next()) {
^
TypeError: it.equal_to is not a function
at Boxologic.iterate_orientations (/Users/{user}/Projects/{project}/node_modules/3d-bin-packing/release/node/packer.js:318:59)
at Boxologic.pack (/Users/{user}/Projects/{project}/node_modules/3d-bin-packing/release/node/packer.js:302:18)
at WrapperGroup.pack (/Users/{user}/Projects/{project}/node_modules/3d-bin-packing/release/node/packer.js:3553:39)
at WrapperGroup.optimize (/Users/{user}/Projects/{project}/node_modules/3d-bin-packing/release/node/packer.js:3537:42)
at Packer.initGenes (/Users/{user}/Projects/{project}/node_modules/3d-bin-packing/release/node/packer.js:1952:34)
at Packer.optimize (/Users/{user}/Projects/{project}/node_modules/3d-bin-packing/release/node/packer.js:1859:42)
at main (/Users/{user}/Projects/{project}/index.js:29:28)
at Object.<anonymous> (/Users/{user}/Projects/{project}/index.js:37:1)
at Module._compile (module.js:435:26)
at Object.Module._extensions..js (module.js:442:10)
<instanceFormArray>
<instanceForm count="1">
<instance name="KSE0000010847" width="38" height="19.5" length="18.5" type="product" />
</instanceForm>
<instanceForm count="1">
<instance name="KSE0000009437" width="38" height="19.5" length="18.5" type="product" />
</instanceForm>
<instanceForm count="1">
<instance name="KSE0000003726" width="32.9" height="12.2" length="11.5" type="product" />
</instanceForm>
<instanceForm count="1">
<instance name="KSE0000003109" width="32.9" height="12.2" length="11.5" type="product" />
</instanceForm>
<instanceForm count="1">
<instance name="KSE0000032032" width="38" height="19.5" length="18.5" type="product" />
</instanceForm>
<instanceForm count="1">
<instance name="KSE0000016348" width="38" height="19.5" length="18.5" type="product" />
</instanceForm>
<instanceForm count="1">
<instance name="KSE0000007726" width="32.9" height="12.2" length="11.5" type="product" />
</instanceForm>
<instanceForm count="1">
<instance name="KSE0000024689" width="32.9" height="12.2" length="11.5" type="product" />
</instanceForm>
</instanceFormArray>
<wrapperArray>
<instance name="S" price="1" width="38.1" height="40.64" length="29.21" thickness="0" type="wrapper" />
<instance name="M" price="2" width="38.1" height="55.7" length="39.1" thickness="0" type="wrapper" />
<instance name="L" price="3" width="40.1" height="86.6" length="49.6" thickness="0" type="wrapper" />
</wrapperArray>
I love your api. Please help me. Thank
Why API not choose lowest cost ? (1,000 instead 4,200)
If change price of Box "No Name" from 1000 to 800 API work correctly.
Hi,
I tried to install this NPM package and it failed. When I hardcoded samchon to 2.0.7 it worked fine.
Hi @samchon ,
iam getting sometimes a negativ position in the packing result.
i attached an example packing file and the packing result. the product 0000020524 or 0000011336, ...
are getting an positon with y=-65.
do you perhaps have a clue were is my problem for this?
thank you
Hello,
I just tried your BoxPacker, but unfortunately I can't understand the result for following two XML files:
<packerForm> <instanceFormArray> <instanceForm count="24"> <instance name="Item1" width="9.5" height="9.5" length="10" type="product" /> </instanceForm> <instanceForm count="12"> <instance name="Item2" width="17.5" height="17.5" length="21.5" type="product" /> </instanceForm> <instanceForm count="2"> <instance name="Item3" width="10.25" height="10.83" length="16.3" type="product" /> </instanceForm> <instanceForm count="6"> <instance name="Item" width="9.5" height="18" length="6.08" type="product" /> </instanceForm> </instanceFormArray> <wrapperArray> <instance name="Large" price="102" width="59" height="59" length="40.5" thickness="0" type="wrapper" /> <instance name="Middle" price="101" width="58" height="29" length="40.5" thickness="0" type="wrapper" /> <instance name="Small" price="100" width="40.5" height="29" length="29" thickness="0" type="wrapper" /> </wrapperArray> </packerForm>
And the same file here, only the position of the Items has changed:
<packerForm><instanceFormArray> <instanceForm count="12"><instance name=„Item2" width="1750" height="1750" length="2150" type="product" /></instanceForm><instanceForm count="2"><instance name=„Item3" width="1025" height="1630" length="1083" type="product" /></instanceForm><instanceForm count="24"><instance name=„Item1" width="950" height="1500" length="1500" type="product" /></instanceForm><instanceForm count="6"><instance name=„Item4" width="950" height="1800" length="608" type="product" /></instanceForm> <wrapperArray><instance name=„Large" width="5900" price="102" height="5900" length="4050" thickness="0" type="wrapper" /><instance name=„Small" width="4050" price="100" height="2900" length="2900" thickness="0" type="wrapper" /><instance name=„Middle" width="5800" price="101" height="2900" length="4050" thickness="0" type="wrapper" /></wrapperArray></packerForm>
The result is a different:
With the first XML the Items fits into one large Box.
With the second XML the system suggest a big one and 2 small boxes
Why is this?
I am not able to find any method for getting products from a given wrapper. I see that the demo has the ability to do this. Is there any way to accomplish this in JSON format? Thanks.
Hi Sir,
Do you have any idea how to consider the weight of each box? In such a way that heavier boxes should be on the bottom and the lighter would be on the top.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.