3d-bin-packing-ts
Version:
A TypeScript implementation of the EB AFIT algorithm for 3D container packing
25 lines (20 loc) • 898 B
text/typescript
import { Item, PackingService } from '3d-bin-packing-ts';
// Create items to pack
const items = [
new Item('item1', 30, 40, 50, 1),
new Item('item2', 20, 30, 40, 2),
new Item('item3', 10, 20, 30, 3)
];
// Define container dimensions
const containerDimensions = { length: 100, width: 100, height: 100 };
// Pack items incrementally (creates as many containers as needed)
const result = PackingService.packIncremental(items, containerDimensions);
// Get information about containers and item distribution
console.log(`Number of containers needed: ${result.containers.length}`);
// Get aggregated results (which items went into which container)
result.aggregatedResults.forEach((aggResult: any) => {
console.log(`Container ${aggResult.containerId}:`);
aggResult.itemQuantities.forEach((itemQty: any) => {
console.log(`- Item ${itemQty.itemId}: ${itemQty.quantity} units`);
});
});