Cięcie 1D liniowe
Cięcie 1D liniowe optymalizuje dowolny materiał dostępny w postaci długości: stalowe pręty, wytłoczki aluminiowe, rury miedziane, listwy drewniane, rurki plastikowe, kable, pręty gwintowane i dowolny inny materiał liniowy. Podajesz dostępne długości prętów i wymagane długości cięcia — CutOptim znajduje kombinację zużywającą jak najmniej prętów z minimalną ilością resztek.
Jak działa optymalizacja 1D
Problem 1D jest prostszy niż 2D: każdy element ma tylko jeden wymiar (długość) i każdy pojemnik (pręt materiałowy) też ma tylko jeden wymiar. Algorytm przypisuje długości do prętów tak, aby:
- Każda wymagana długość była przypisana dokładnie do jednego pręta
- Żaden pręt nie był przepełniony (wszystkie długości przypisane do pręta mieszczą się w długości pręta, uwzględniając szczelinę piły)
- Łączna liczba użytych prętów była minimalizowana
Jest to wariant problemu bin-packing dla jednego wymiaru. Zamiast jednego zachłannego przebiegu CutOptim uruchamia kilka strategii bin-packing dla tego samego zadania — first-fit, best-fit i next-fit malejące, przebieg „rozłóż i scal” oraz krok sumy podzbiorów, który wypełnia każdą sztabę możliwie najciaśniej za pomocą ograniczonego plecaka (plus krok generowania powtarzalnych wzorów cięcia dla serii o dużej liczbie sztuk) — i zachowuje najlepszy wynik, dzięki czemu szybko znajduje rozwiązania bliskie optymalnym nawet dla setek długości zapotrzebowania.
Dla materiałów liniowych, gdzie długość jest jedynym istotnym wymiarem — rura, pręt, kabel — używaj trybu 1D. Dla materiałów takich jak płaskownik lub kątownik, gdzie możesz potrzebować śledzić również szerokość, rozważ użycie trybu 2D z wysokością ustawioną na szerokość materiału.
Dodawanie prętów materiałowych
Pręty materiałowe reprezentują Twoje dostępne surowe długości. Wprowadź każdy rozmiar pręta jako oddzielny wiersz.
Przełącznik Zapas płyt nad tabelą działa tak samo jak dla paneli: w trybie Nieograniczony (domyślnym) optymalizator używa tylu prętów każdej długości, ile potrzeba — więc zadanie zakupowe nigdy nie skończy się brakiem materiału — a kolumna ilości w wierszu jest ukryta. Przełącz na Ograniczony tylko wtedy, gdy masz stałą liczbę prętów pod ręką; każda ilość staje się wówczas twardym limitem, a wynik wymienia wszystko, czego nie udało się wyciąć.
| Feature | Type | Description |
|---|---|---|
| Length | number | Pełna długość pręta materiałowego w aktywnej jednostce (mm lub cm). |
| Quantity | integer | Liczba dostępnych prętów tej długości. Pokazywana i używana tylko wtedy, gdy Zapas płyt jest ustawiony na Ograniczony, gdzie stanowi twardy limit; w trybie Nieograniczony (domyślnym) pole jest ukryte, a optymalizator używa tylu prętów, ile potrzeba. |
| Price | number | Koszt za pręt. Używany w podsumowaniu kosztów i eksporcie wyceny. |
| Label | text | Opcjonalny opis, np. '6m EN10210 CHS 60.3×4mm'. Pojawia się w eksportach PDF i CSV. |
Przykład: zadanie z konstrukcji stalowej
| Etykieta | Długość (mm) | Ilość | Cena |
|---|---|---|---|
| RHS 50×50×3 — 6000 | 6000 | 12 | 42.00 |
| RHS 50×50×3 — 3000 | 3000 | 4 | 22.50 |
W tym przykładzie CutOptim będzie korzystał zarówno z długości 6 m, jak i 3 m, aby jak najefektywniej wypełnić zapotrzebowanie.
Dodawanie długości zapotrzebowania
Długości zapotrzebowania to elementy cięcia, które chcesz wyprodukować. Każdy wiersz w tabeli zapotrzebowania reprezentuje jeden typ cięcia.
| Feature | Type | Description |
|---|---|---|
| Length | number | Wymagana długość cięcia w aktywnej jednostce. |
| Quantity | integer | Wymagana liczba elementów tej długości. |
| Label | text | Nazwa lub numer odniesienia elementu, np. 'Krokiew A' lub 'Odcinek poręczy'. Drukowana w diagramie cięcia i eksporcie. |
Przykład: zadanie z aluminiową poręczą
| Etykieta | Długość (mm) | Ilość |
|---|---|---|
| Górna szyna | 2400 | 6 |
| Pręt wypełniający | 1000 | 24 |
| Przedłużenie czapki słupka | 150 | 12 |
| Zakończenie | 300 | 4 |
Uruchamianie optymalizacji 1D
- 1
Wprowadź pręty materiałowe
W tabeli materiałów dodaj każdą długość pręta z opcjonalną ceną. Jeśli kupujesz materiał do zadania (zamiast korzystać ze stałych zapasów), zostaw Zapas płyt na Nieograniczony (wartość domyślna) — optymalizator użyje tylu prętów, ile potrzeba, i nie pyta o ilość. Przełącz na Ograniczony i wpisz ilości tylko wtedy, gdy zapas jest stały.
- 2
Wprowadź długości zapotrzebowania
Dodaj każdą wymaganą długość cięcia z ilością i etykietą. Jeśli masz istniejącą listę cięcia w arkuszu kalkulacyjnym, użyj importu CSV (lista rozwijana CSV w nagłówku sekcji Elementy (1D) → Importuj CSV).
- 3
Ustaw szerokość szczeliny
Otwórz Ustawienia i potwierdź szerokość szczeliny. Dla standardowej piły tarczowej lub szlifierki kątowej z tarczą 3 mm wpisz 3 mm. Dla piły z cienką tarczą wpisz 2 mm.
- 4
Uruchom optymalizację
Kliknij Uruchom optymalizację lub naciśnij Ctrl+Enter. Wyniki pojawiają się natychmiast.
- 5
Przejrzyj diagramy prętów
Każdy pręt jest pokazany jako poziomy prostokąt na kanwie. Kolorowe segmenty reprezentują elementy zapotrzebowania; szare segmenty to resztki. Użyj nawigatora prętów, aby przeglądać wszystkie pręty.
- 6
Eksportuj listę cięcia
Otwórz menu Pobieranie na górnym pasku i wybierz CSV dla arkuszowej listy cięcia lub PDF dla wydrukowanego diagramu pręt po pręcie. PDF niesie też stronę planu piłowania.
Odczytywanie wyników układu prętów
Kanwa dla trybu 1D pokazuje każdy pręt jako poziomy pasek podzielony na segmenty:
| Typ segmentu | Wizualny | Opis |
|---|---|---|
| Element zapotrzebowania | Kolorowy blok z etykietą | Wymagana długość cięcia umieszczona na tym pręcie |
| Szczelina | Cienka ciemna linia | Materiał utracony między każdym cięciem |
| Resztka | Zakreskowany szary | Pozostała długość, większa niż minimalny rozmiar resztki |
| Odpad | Pełny szary | Pozostała długość, mniejsza niż minimalny rozmiar resztki |
Elementy są rysowane na pasku od lewej do prawej, w kolejności, w jakiej leżą na pręcie. To, gdzie faktycznie zatrzymać brzeszczot, podaje plan piłowania opisany niżej.
Wskaźniki podsumowania
| Wskaźnik | Znaczenie |
|---|---|
| Użyte pręty | Liczba zużytych prętów materiałowych |
| Łączna długość elementów | Suma wszystkich długości elementów zapotrzebowania |
| Długość cięcia | Przepiłowana odległość. Pojawia się dopiero po wpisaniu Szerokości profilu w Ustawieniach zaawansowanych; bez niej ta pozycja nie jest w ogóle pokazywana |
| Wydajność % | Łączna długość zapotrzebowania / łączna użyta długość pręta × 100 |
| Odpady % | Bezużyteczny złom / łączna długość pręta × 100 |
| Resztki | Pozostałe użyteczne długości zapisane do zapasu |
Plan piłowania
Diagram pręta pokazuje, co schodzi z każdego pręta. Plan piłowania mówi, gdzie zatrzymać brzeszczot i w jakiej kolejności — a to właśnie tego nikt nie chce liczyć w pamięci dwadzieścia razy wzdłuż sześciometrowego pręta.
Pręt nie ma drzewa cięć: tnie się go od czoła do końca. Dlatego plan jest po prostu bieżącym odłożeniem — po każdym elemencie brzeszczot opada w tym miejscu, a następnie przesuwa się o rzaz.
Kroki na każdym pręcie, w kolejności wykonywania
- Zebranie kalibracyjne, jeśli jest włączone. Na pręcie zawsze schodzi ono z czoła — z początku pręta.
- Cięcie przycinania początkowego, jeśli ustawiono przycinanie początkowe.
- Jeden krok po każdym elemencie — z wyjątkiem ostatniego elementu, który kończy się równo z użyteczną końcówką pręta, gdy nie ma przycinania końcowego, bo tam pręt po prostu się kończy i żadne przejście nie jest potrzebne.
Każdy krok podaje pozycję mierzoną od czoła pręta: liczbę, którą ustawiasz na ograniczniku, a nie długość elementu do zsumowania. Przejścia czołowe są nazwane wprost (Kalibracja, Przycinanie początkowe) i zostawiają kolumnę kolejności pustą, bo nie uwalniają żadnego elementu.
Długość cięcia: podawana, jeśli podasz szerokość profilu. Materiał liniowy to sama długość, więc CutOptim nie wie z góry, ile brzeszczot pokonuje w poprzek. W Ustawieniach zaawansowanych, widoczne wyłącznie w trybie 1D liniowym, jest opcjonalne pole Szerokość profilu:
- Zostawione na 0 (wartość domyślna) nic się nie zmienia — plan podaje pozycje i żadnej długości. Liczba, której nikt nie zmierzył, nie jest wymyślana.
- Wpisz szerokość, a przepiłowana długość pojawia się w nagłówku wyników, w podsumowaniu, w kluczowych liczbach pod planem piłowania w PDF oraz na karcie Sekwencja cięcia w Excelu. Każde policzone cięcie przechodzi przez profil raz.
Tryb Wood tego pola nie pokazuje: tam przekrój jest zapisany przy każdym materiale. Jeśli jedno zlecenie miesza kilka przekrojów, właściwą odpowiedzią jest tryb Wood, a nie jedna wspólna szerokość.
Na ekranie
- Pasek Sekwencja cięcia znajduje się bezpośrednio nad paskami prętów, na górze sekcji z prętami. Jego elementy sterujące to ◀ Poprzedni, odczyt kroku, ▶ Następny, ⏮ Zacznij od nowa i ▶ Odtwórz (0,8 s na krok, zatrzymanie na ostatnim).
- Pod listą cięć cały plan jest wypisany jako tabela Sekwencja cięcia z kolumnami Kolejność, Pręt, Nazwa i Pozycja. Kliknięcie wiersza przenosi odtwarzacz do tego kroku, a aktywny wiersz jest wyróżniony — dzięki temu tabela i odtwarzacz nigdy się nie rozjadą.
- Na każdym pasku pręta znaczniki cięć zapalają się w miarę przechodzenia: bieżący pełną linią, wykonane przygaszone, kolejne ukryte.
Dlaczego liczba kroków odpowiada statystyce Cięcia
Na pręcie każdy krok to jedno przejście brzeszczotu, więc liczba kroków i statystyka Cięcia w nagłówku wyników to ta sama liczba, niezależnie od ustawień przycinania i kalibracji. Zmierzone na wbudowanym zadaniu demonstracyjnym: 29 kroków przy 29 cięciach bez przycinania, 39 i 39 z przycinaniem początkowym 20 mm oraz 49 i 49 przy włączonym przycinaniu początkowym i cięciu kalibracyjnym.
W eksportach
- PDF — własna strona Sekwencja cięcia z kolumnami
#, Pręt, Kolejność, Nazwa i Pozycja, plus obramowany pasek kluczowych liczb pod tabelą. - Excel (.xlsx) — karta Sekwencja cięcia bezpośrednio po karcie Lista cięć, z sumami powtórzonymi na dole, dzięki czemu karta jest samodzielna przy pile.
Strona PDF jest dostępna w każdym planie, również dla gości — tak samo jak odtwarzacz na ekranie. Skoroszyt Excel wymaga konta: zalogowanie odblokowuje go w każdym planie, także w darmowym, więc zachętę do ulepszenia widzą wyłącznie goście. Pełny przewodnik w artykule Sekwencja cięcia, a układ strony i karty w artykule Eksport i pobieranie.
Cięcie kalibracyjne
Cięcie kalibracyjne zbiera wąski pasek z czoła każdego pręta, zanim wycięty zostanie jakikolwiek element. Mierzysz ten pasek, porównujesz go z wartością, o którą prosiłeś, i korygujesz ogranicznik o różnicę — dzięki temu pierwszy właściwy element jest już dokładny, zamiast być tym, który poświęcasz, żeby dowiedzieć się, że ustawienie było przesunięte.
- Lista czterech krawędzi, którą znasz z trybu 2D, jest w 1D ukryta. Pręt ma jedno czoło, więc wybór spośród czterech krawędzi byłby kontrolką, której plan nie mógłby uszanować.
- Kalibracja jedzie na przycinaniu początkowym: rezerwowany materiał to przycinanie początkowe + kalibracja. To właśnie sprawia, że krok 0 planu piłowania jest realną pozycją, a nie linią narysowaną na obrazku.
- Gdy ustawione są jednocześnie przycinanie początkowe i cięcie kalibracyjne, czoło jest przecinane dwa razy — raz dla paska, który mierzysz, raz po to, by zdjąć resztę przycinania — a plan piłowania wymienia oba przejścia.
Samą kontrolkę opisano w artykule Ustawienia.
Priorytet materiału (★)
Każdy wiersz w tabeli materiałów ma ikonę gwiazdki (★) po lewej stronie. Oznaczenie gwiazdką mówi optymalizatorowi, aby najpierw używał tych prętów — przed jakimkolwiek materiałem bez gwiazdki.
Kiedy używać w trybie 1D:
- Masz częściowy pręt z poprzedniego zadania i chcesz go użyć przed cięciem nowego materiału
- Masz pręty w mniej wygodnym miejscu (inny regał, inna lokalizacja), które chcesz odłożyć
- Chcesz wyczyścić stary materiał określonego rozmiaru, zanim zardzewieje lub się wypacze
Kliknij ikonę ★, aby przełączyć ją na żółty/złoty (priorytet) lub szary (normalny). Ustawienie jest zapisywane dla każdego cięcia.
Dodając resztki z zapasu jako materiał, oznacz je gwiazdką. To mówi optymalizatorowi, aby wyczerpał Twoje istniejące resztki przed otwarciem nowych pełnych prętów — najbardziej skuteczny sposób na zmniejszenie wydatków na materiały w czasie.
Importowanie długości zapotrzebowania
Dla zadań z wieloma długościami cięcia już w arkuszu kalkulacyjnym lub eksporcie z programu projektowego używaj narzędzi importu powyżej tabeli zapotrzebowania zamiast ręcznego wpisywania każdego wiersza. CutOptim obsługuje wklejanie z Excela/Google Sheets i import pliku CSV. Pełne instrukcje i formaty kolumn znajdziesz w artykule Importowanie danych.
Eksport CSV dla wyników 1D
Eksport CSV dla trybu 1D zawiera jeden wiersz na element zapotrzebowania z następującymi kolumnami:
| Kolumna | Opis |
|---|---|
bar_index |
Z którego pręta materiałowego pochodzi ten element (od 1) |
bar_label |
Etykieta pręta materiałowego |
piece_label |
Etykieta elementu zapotrzebowania |
piece_length |
Długość cięcia |
position_from_end |
Odległość od lewego końca pręta, gdzie zaczyna się to cięcie |
qty |
Ilość (zawsze 1 na wiersz; wiele identycznych elementów pojawia się jako wiele wierszy) |
Posortuj CSV według bar_index, a następnie position_from_end, aby uzyskać sekwencyjną listę cięcia dla każdego pręta — dokładnie w kolejności, w jakiej wykonywałbyś cięcia przy pile tarczowej.
Praktyczny przykład: Stalowa podkonstrukcja ramy
Zadanie: Stalowa podkonstrukcja mocowana do ściany do komercjalnego aranżacji wnętrz. 12 pionowych słupków po 2700 mm, 18 poziomych szyn po 1200 mm, 6 ukośnych stężeń po 890 mm.
Dostępny materiał: 20 × 6000 mm długości RHS 50×50×3 po 41 zł każda.
Ustawienia: Szczelina 3 mm, jednostki mm, tryb gilotynowy (nie dotyczy 1D, ale szczelina ma znaczenie).
Wynik: Użyto 9 prętów (zamiast 12 przy naiwnym cięciu), wydajność 92,3%, szacowana oszczędność 3 prętów = 123 zł w materiałach.
| Pręt | Cięcia |
|---|---|
| Pręt 1 | 2700, 2700, 597 (resztka) |
| Pręt 2 | 2700, 2700, 597 (resztka) |
| Pręt 3 | 2700, 1200, 1200, 897 (resztka) |
| Pręt 4 | 1200, 1200, 1200, 1200, 1200 (odpad 194) |
| Pręt 5 | 1200, 1200, 890, 890, 817 (resztka) |
| … | … |
Trzy resztki po 597 mm można zapisać do zapasu i użyć w przyszłości do małych elementów.