Community: Inventory and MRP mailing list archives


Re: MRP + "Cutting stock Problem/Guillotine cut" Solver

Arjan Duijs
- 12/02/2015 16:36:06
Its indeed quite similar, but there is a difference between 1d (cutting bars and stripes) and 2d cutting stock problem (paper/metal/wood sheets)
Right now i am using a standalone program called "cutting optimization pro"
its does all the work it needs to do, but isnt integrated in odoo.
Attached are some screenshots.
first is a list of all the pieces needed for a product(s)/order
then after pressing the start button, it checks against the stock for material and generates the optimized layout for cutting.
which you can see in the other screenshot..

Your forked odoomrp addons are v9 ready?

I finally have a v9 up and running and am quite pleased with it, so i rather help on convert things then go back to v8 :)

2015-12-02 14:17 GMT-05:00 Gustavo Marino <>:
In the github you can find several modules that improve the product configurator of odoomrp.

They are still work in progress, but I think they can help

Basically the advanced configurator extends the idea of attributes to product_template, product and category. That means you can set an attribute as a string, a numeric value, a numeric values with minimun and maximun or a product or category

Additionally it adds the possibility to show the user text explaining what to select or images for each option

In the case of complex scenarios, it will trigger python code on product configuration or onchange (at the user level, much like the old python code on taxes)

The advance configurator it will be used in a project (aluminium structures) currently in v6.1 with custom product configurator, that includes optimization on stripes (linear segments inside a fixed length stripe) and surfaces (cuts on policarbonate sheets)

The lineal and surface optimization is in production already for more than 4 years. Unfortunately, it was not programmed with the idea of a separated component. The configurator will be used for a future development on v8 or v9.

The idea is to treat cuts of the sheets or the stripes as segments, with a variant telling which is the base product. Cuts could also add additional attributes, like length or the type of the cut (45 degrees, -45 degrees, 90 degrees). At sourcing time you can collect all required segments with the same base product and optimize the number of cuts and sheets, and eventually you can generate the plan for the cutting machines

I believe your problem is quite similar

Get a try to the module. I will appreciate your comments

PD: Ana, many thanks for the OdooMRP. It is great. This modules are compatible (As far as I know!)

Gustavo Adrian Marino


Mobile:  +54 911 5498 2515


Skype: gustavo.adrian.marino


<img border="0" width="213" height="94" src="cid:image001.jpg@01CC37F5.99B4CD20" alt="Descripción: Numa Logo V 1-0">

2015-12-02 12:32 GMT-03:00 Ana Juaristi <>:
Using OdooMRP modules "product configurator" and generic boms with templates could solve part of your problems. But the "cutting" thing would be not solved yet. 

You can find the modules in OCA community branches or OdooMRP project in Github. Modules has been built for V8 and we did not start the task of migrating them but maybe they could be usefull if you decide to start with.

You can also see the youtube odoomrp channel where several videos has been published about product configurator and generic boms.

Wishing this helps:


2015-12-02 16:22 GMT+01:00 Arjan Duijs <>:
Hi All,
I am implementing odoo v9 in a furniture factory.
There are a couple of challenges i am facing.

Hopefully somebody has some experience/advice with the following

1) Cutting stock problem / Guillotine cut (
When i define for example melamine furniture in MRP, the furniture is made up of certain pieces of melamine which i can put in a BOM.

Then when a order is placed, at one moment we want to know how many sheets of melamine we need to buy. (can be any combination of furniture and amount)
I can define each piece as a m2, but at the end this is inaccurate.(as well as plain vs wood grain direction).

So in a perfect world, accepting the SO would loop over the Boms needed  to determine the optimal cuts (and thus sheets necessary) for that order. then puts a PO for those sheets.
At the same time when it has generated that cuts, it places the output in a file that can be used in the CNC woodcutting machines (workstation).

2) Variable Material / Shared/multiple BoMs
Another challenge is on how to define all the furniture within odoo.
All the pieces of the furniture can be defined, except their material. (can be mdf+formica, melamine, mdf+veneer, mdf-painted, polyurethane) 
one option is to use (nested) boms.
the issue with that is that i need to define to manufacture all the pieces and all their variations. We have quite some suppliers so we definitively dont want to put all their melamine/formicas as a variant for each piece. (maintaining it would be a pain..)

I have looked into orderline variables, but that still needs a separate bom for each variable.
would have been ok if you were able to use multiple boms per product. A base-bom vor all the variants, and an additional variant specific BoM 

Any thoughts on this?

Post to:

CEO Avanzosc, S.L : Office phone / Tfono oficina: (+34) 943 02 69 02
Ana Juaristi Olalde : Personal phone: 677 93 42 59. User/usuario skype: Avanzosc

El contenido de esta comunicación y de toda su documentación anexa es confidencial y se dirige exclusivamente a su destinatario. El uso no autorizado de esta información está prohibido por la legislación vigente. Si usted no es el destinatario le rogamos nos lo indique, no comunique su contenido a terceros y proceda a su destrucción. Disculpe las molestias que le haya ocasionado la recepción indebida de este e-mail. Sus datos figuran en un fichero cuyo titular es Avanzosc, S.L., a quien usted puede dirigirse para ejercer sus derechos de acceso, rectificación, cancelación y oposición en Klara Donea 13, 20720, Azkoitia (Gipuzkoa), Tef. 943 02 69 02 -

Komunikazio honen edukia eta dokumentazio erantsia konfidentziala da eta hartzaileak bakarrik jaso beharko luke. Indarrean dagoen legeriak debekatu egiten du bertan eskainitako informazioa baimenik gabe erabiltzea. Komunikazioa zuri iritsi bazaizu, baina zu ez bazara hartzailea, mesedez, guri jakinarazi, eta jasotako informazioa ez inori jakinarazi eta suntsitu. Barkatu okerreko email hau jasotzeak eragindako eragozpenak. Zure datuak Avanzosc, S.L. enpresaren fitxategietan sartuta daude. Zure datuak atzitzea eska dezakezu, bai eta, datuak zuzentzea, ezereztea eta tratamenduari aurka egitea ere. Horretarako, enpresara jo dezakezu, helbide honetan: Klara Donea 13 20720, Azkoitia (Gipuzkoa), telefonoa: 943 02 69 02 -
This message and all documents attached to it are confidential and intended only for the person or entity to which it is addressed. Any use of this information by unauthorised persons is prohibited under current legislation. If you received this message by error, please advise us, destroy it and refrain from communicating its contents to third parties. We apologise for any inconvenience receiving this email improperly may cause to you. Your personal data are included in a file owned by Avanzosc, S.L. If you want to exercise your rights of access, correction, erasure and objection you can contact the Controller at Klara Donea 13 20720, Azkoitia (Gipuzkoa), T: 943 02 69 02 –

Post to:

Post to: