braienstorm/bin-packer
最新稳定版本:v1.0.3
Composer 安装命令:
composer require braienstorm/bin-packer
包简介
2D bin packing for PHP
README 文档
README
I made it for a metal cutting company. This code selects the appropriate raw metal sheets for cutting. Original idea Padam87 link: https://github.com/Padam87/bin-packer 2D bin packing for PHP, with rotation.
Usage
Basic
$Boxes = [ new Block(100, 100), new Block(300, 100), ]; $bin = new Bin(1500,3000); $bin->insertManyBlock($Boxes);
How to get unused Boxes
You will get all unused Block as a array.
$unusedBoxes = $bestBin->getUnpackedBlocks()
How to get used boxes
You can get the node tree and evaluate it with a function
$node = $bin->getNode(); getUsedBlock($node); function getUsedBlock(\Node $node) { if($node == null) return; if($node->isUsed()) { print_r($node->getBlock()); $this->getUsedBlock($node->getRight()); $this->getUsedBlock($node->getDown()); } }
How to get score
$sc = $bestBin->getStatistic(); Array ( [score] => 0.72624 // [used] / ([binWidth]*[binHeight]) [used] => 2269500 // used arrea [free] => 855500 // free arrea [binWidth] => 2500 [binHeight] => 1250 )
Visualiser
$visualizer = new Visualizer(); $image = $visualizer->visualize($bin); $image->setFormat('jpg'); $image->writeImage('bin.jpg');
统计信息
- 总下载量: 29
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-03-06
