All Projects → gedex → bp3d

gedex / bp3d

Licence: MIT license
Golang package for 3d bin packing problem

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to bp3d

Rectangle-Bin-Packing
👜 Haxe algorithms for 2D rectangular bin packing
Stars: ✭ 32 (-36%)
Mutual labels:  bin-packing
libnfporb
Implementation of a robust no-fit polygon generation in a C++ library using an orbiting approach
Stars: ✭ 85 (+70%)
Mutual labels:  bin-packing
3dbinpacking
A python library for 3D Bin Packing
Stars: ✭ 203 (+306%)
Mutual labels:  bin-packing
vpsolver
Arc-flow Vector Packing Solver (VPSolver)
Stars: ✭ 86 (+72%)
Mutual labels:  bin-packing
Muuri
Infinite responsive, sortable, filterable and draggable layouts
Stars: ✭ 9,797 (+19494%)
Mutual labels:  bin-packing
bin-packing
😔 Failed to implement some kind layout in browser.
Stars: ✭ 53 (+6%)
Mutual labels:  bin-packing
nest2D
Nest2D is a 2D bin packaging tool for python.
Stars: ✭ 42 (-16%)
Mutual labels:  bin-packing
pack
📦 lightweight rectangle packing algorithm
Stars: ✭ 31 (-38%)
Mutual labels:  bin-packing

bp3d

3D Bin Packing implementation based on this paper. The code is based on binpacking by bom-d-van but modified to allow flexible bins and use float64 instead of int.

Install

go get github.com/gedex/bp3d

Usage

p := bp3d.NewPacker()

// Add bins.
p.AddBin(bp3d.NewBin("Small Bin", 10, 15, 20, 100))
p.AddBin(bp3d.NewBin("Medium Bin", 100, 150, 200, 1000))

// Add items.
p.AddItem(bp3d.NewItem("Item 1", 2, 2, 1, 2))
p.AddItem(bp3d.NewItem("Item 2", 3, 3, 2, 3))

// Pack items to bins.
if err := p.Pack(); err != nil {
	log.Fatal(err)
}

// Each bin, b, in p.Bins might have packed items in b.Items

See example/example.go

Credit

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].