Przejdź do głównej treści
← CutOptim Engine APIEngine API · dostępne już dziś

API do cięcia tarcicy i drewna konstrukcyjnego

Tak — istnieje API do cięcia drewna konstrukcyjnego na długość. Docinanie belek, krokwi, słupków, łat i desek na długość to problem optymalnego rozkroju 1D z dodatkową regułą, którą zwykłe cięcie liniowe pomija: przekrój musi się zgadzać. Element 50×150 nie powstanie z pręta 50×100. CutOptim Engine API rozwiązuje to przez HTTP pod adresem POST /v1/optimize/wood — Twój system ERP, oprogramowanie do wycen albo skład drewna wysyła listę cięć i dostępny materiał jako JSON, a w odpowiedzi dostaje zoptymalizowany plan cięcia, dopasowany i rozwiązany osobno dla każdego przekroju, z liczbą prętów i wykorzystaniem.

To osobny tryb, a nie nakładka na /v1/optimize/1d: liniowe 1D traktuje każdy pręt jako zamienny, a drewno ma tożsamość — przekrój musi się zgadzać. Wysyłanie N pogrupowanych zapytań 1D kosztuje N wywołań za jedno zlecenie, przerzuca dopasowanie materiału na Ciebie i daje sumę, która nie zgadza się z tym, co pokazuje aplikacja. Ten endpoint sam dopasowuje i zwraca całe zlecenie jednym wywołaniem, osobno dla każdego przekroju i łącznie.

POST /v1/optimize/wood
{
  "parts": [
    { "name": "Rafter", "sw": 50, "sh": 150, "length": 3200, "qty": 8 },
    { "name": "Noggin", "sw": 50, "sh": 100, "length": 600, "qty": 24,
      "meta": { "ref": "C24-50x100" } }
  ],
  "stock": [
    { "name": "C24 50x150", "sw": 50, "sh": 150, "length": 4800, "qty": 20, "price": 18.4 },
    { "name": "C24 50x100", "sw": 50, "sh": 100, "length": 4800, "qty": 30, "price": 12.5 }
  ],
  "options": { "kerf": 3 }
}
Używa publicznego klucza demo — z limitem, tylko małe zadania, nigdy nie jest rozliczany.
  • Działa już dziś na POST /v1/optimize/wood — ten sam silnik co w aplikacji, świadomy przekroju.
  • Przekroje są dopasowywane i rozwiązywane niezależnie: element 50×150 jest cięty tylko z materiału 50×150.
  • sections[] niesie pręty, sumy i plan cięcia dla każdego przekroju; unmatched zgłasza zapotrzebowanie bez żadnego materiału.
  • Deterministyczny i z przypiętą wersją — odtworzysz ofertę na cięcie do audytu lub powtórnego zamówienia.
  • Zgłaszana resztka to użyteczny odcinek — szerokość rzazu jest już odjęta (dla każdego pręta).
  • Bezpłatna walidacja: POST /v1/validate/wood sprawdza zlecenie bez klucza i bez limitu.

Dlaczego potrzebują tego stolarze i składy drewna

Drewno konstrukcyjne kupuje się w długich odcinkach i tnie na wiele elementów, a cięcie w kolejności z listy zostawia krótką resztkę na prawie każdym odcinku. Optymalizator świadomy przekroju rozkłada cięcia w obrębie każdego przekroju tak, by każdy wymagał jak najmniej odcinków. W procesie wyceny, w ERP albo w punkcie sprzedaży API robi to automatycznie przy każdym zleceniu — skład budowlany może wycenić i zaplanować usługę cięcia wprost z zamówienia, a plan zgadza się z tym, co skład faktycznie tnie.

Dopasowanie przekroju — ta część problemu, którą 1D pomija

Każdy element i każda pozycja magazynowa ma dwa boki przekroju, sw i sh, w dowolnej kolejności (50×150 i 150×50 to ta sama belka obrócona na drugi bok). Silnik dzieli zlecenie według przekroju, dopasowuje każdy element tylko do materiału o zgodnym przekroju i rozwiązuje każdy przekrój niezależnie. Odpowiedź wraca jako sections[], każda z własnymi prętami, własnymi sumami i własnym planem cięcia, plus metryki całego zlecenia — a zapotrzebowanie, dla którego dany przekrój w ogóle nie ma materiału, jest zgłaszane osobno w unmatched, odrębnie od elementów, które miały materiał, ale się nie zmieściły, bo naprawa jest inna.

Deterministyczny — odtwarzalny dla ofert i audytów

To samo zapytanie zawsze zwraca ten sam plan cięcia: żadnej losowości, żadnego zegara w algorytmie. Ofertę na cięcie zbudowaną na wywołaniu API można odtworzyć po miesiącach — do audytu albo powtórnego zamówienia — a wyniki da się buforować i porównywać w testach. Zgłaszana resztka każdego pręta to użyteczny odcinek — szerokość rzazu jest już odjęta — a dowolny dołączony obiekt meta (numer artykułu, pozycja zamówienia) wraca przy każdym rozmieszczonym cięciu, więc plan uzgadnia się z Twoim systemem.

Materiał do pobrania
API do cięcia drewna — jednostronicowiec

Dwustronicowe streszczenie (PDF po angielsku) — problem, co wysyłasz i co dostajesz, przykładowe zapytanie i odpowiedź oraz jak budować na silniku. Gotowe do druku, z kodem QR prowadzącym do tej strony.

PDF2 stronyBezpłatnie
Pobierz PDF

Najczęstsze pytania

Czy istnieje API do cięcia tarcicy i drewna konstrukcyjnego?
Tak. Docinanie drewna — belek, krokwi, słupków, łat, desek — na długość z dopasowaniem przekroju to tryb wood w CutOptim Engine API, POST /v1/optimize/wood. Wysyłasz listę cięć i materiał jako JSON, każde z dwoma bokami przekroju, a w odpowiedzi dostajesz zoptymalizowany plan cięcia dopasowany i rozwiązany osobno dla każdego przekroju, z liczbą prętów, wykorzystaniem i użytecznymi resztkami. To ten sam silnik, który napędza aplikację, przez HTTP.
Dlaczego nie użyć po prostu endpointu 1D dla drewna?
Ponieważ 1D traktuje każdy pręt jako zamienny, a drewno nie jest zamienne: element 50×150 nie powstanie z pręta 50×100. Endpoint wood dzieli zlecenie według przekroju, dopasowuje każdy element do zgodnego materiału i rozwiązuje każdy przekrój osobno, zwracając sumy dla przekroju i dla całego zlecenia. Rozbicie zlecenia na kilka wywołań 1D kosztowałoby jedno wywołanie na przekrój, przerzuciłoby dopasowanie materiału na Ciebie i dało sumę niezgodną z aplikacją.
Co dzieje się z elementem, którego przekroju nie ma na stanie?
Wraca na osobnej liście unmatched — zapotrzebowanie, dla którego dany przekrój w ogóle nie ma materiału — odrębnie od unplaced (elementów, które miały pasujący materiał, ale się nie zmieściły), bo naprawa jest inna: w jednym przypadku to „kup lub zadeklaruj przekrój”, w drugim „dodaj długość”. Element, którego nie da się w pełni rozmieścić, nigdy nie jest błędem; to odpowiedź 200 ze zgłoszonymi sztukami, żebyś mógł działać na podstawie planu. Zapytanie możesz też bezpłatnie zwalidować pod adresem POST /v1/validate/wood, bez klucza i bez limitu.
Czy uwzględnia szerokość rzazu i docinanie czół?
Tak. options.kerf to szerokość tarczy piły, odejmowana przy każdym cięciu; options.trim.start i options.trim.end rezerwują docięcie czoła na każdym końcu odcinka. Zgłaszana resztka każdego pręta to użyteczny odcinek po uwzględnieniu obu, a options.minOffcut raportuje tylko resztki na tyle długie, by je zachować. Te same opcje dotyczą każdego przekroju w zleceniu.
Czy może planować tylko z drewna, które mam na składzie?
Tak. Ustaw options.respectStock, a ilość każdej pozycji magazynowej staje się twardym limitem, przekrój po przekroju. Elementy, które mają pasujący materiał, ale się nie mieszczą, wracają w unplaced, a elementy, których przekroju nie ma na stanie w ogóle, wracają w unmatched, więc plan mówi, czy ciąć dłuższe odcinki, czy dokupić brakujący przekrój.

Zastosowanie w obróbce drewna (aplikacja) · Benchmarki