Je celkem zřejmé, že nejprve je potřeba znát rozpad na žádané délky. Krom toho jsem nebral v potaz skutečné zbytky z nářezu. Každý řez tipuji na centimetr včetně finální úpravy zabroušením. Vím že pily mají sílu při řezu menší a desky celkem moc broušení nepotřebují - stejně se polepují páskou.
Tohle může být rozhodující skutečnost v mnoha případech. Také existují zbytky z nářezů které je možné využít při jiné akci. V každém případě se to dá vygenerovat až při znalosti skutečných délek. nevím ale asi děláte na míru do bytů. Uměl bych postavit generátor, ale ten by musel pracovat s relativními hodnotami vzhledem k jedné desce a nejlépe včetně prořezu.
Znamenalo by to pro každý jeden díl poměr délka/4100 včetně prořezu. Nemuselo by to být tak hrozné jako s těmi moduly 600 mm. Ale výpočet by mohl trvat i hodiny.Když byste mohl specifikovat kolik dílů z desky se dělá nejvíce ro by mi stačilo. Výsledek sice nebude přesnější nežli na několik míst ale do milimetrů by to šlo.
Kuchyně do U
1. stěna - Skříňky ABC (každá šířku 775 mm) a mají zaškrtnuto "PD"
2. stěna - Skříňky DE + 3x prázdný prostor (zleva, uprostřed na myčku, a vpravo. Vše vyjádřeno jako "skříňka bez objemu jen se zadanou šířkou") a mají zaškrtnuto "PD"
3. stěna - Skříňky FGH a NEmají zaškrtnuto "PD" (jedná se o vysoké skříňky)
Na konci mi to díky indexaci vyhodí, že se ve spotřebě vyskytují 2 dílce PD. Jeden s délkou "ABC + krycí bok" a druhý "DE + 3x volný prostor"
A pak jde o kombinaci jen těchto 2 dílců. Zde vím, že nevejdou. Ale mohl by být případ, že tam je ještě 3. dílec, který bude menší a vejde se k některému z předchozích dílců PD na desku PD. Nebo 2 menší dílce.
Podívejte se a upřesněte co mám dodělat, nebo nechat být.
]]>Takže zase jsem o něco chytřejší, ale pomohu Vám ještě i s tímto. Nyní musím něco udělat, ale snad nezapomenu. Existuje Partition Numerorum PN. Které řeší všechny různé součty z celku "n".
Příklad PN(5)
5
4 + 1
3 + 2
3 + 1 + 1
2 + 2 + 1
2 + 1 + 1 + 1
1 + 1 + 1 + 1 + 1
Představte si že každá jednice je násobek šířky (600. nebo 900). Nyní tedy by to bylo rozsekání možné 3 metrové délky. Umím výpočet kombinaovat pro rozdělení násobku 4 metrů a najdete třídu. Jen zadáte délky a vyjde vám vše zpětně "n" jako součet desek 4 metry. Postavím to ale až večer nebo ráno. Už jsem něco slíbil takže musím udělat tamtu věc dříve slíbenou.
Zcela určitě udělejte to, co jste slíbil. U mě to nespěchá. Až to bude, tak to bude. A nebo nebude. Zatím mi to funguje. nahodím jen ukázku toho, jak jsem to vyřešil:
P7 =IF(O7>0;1;0) (pokud tam něco je, tak je to vždy 1 kus)
P8 =IF(O7+O8>4090;P7+1;1) (vejde/nevejde na 1 desku)
P9 =IF(O7+O8+O9<4090; 1; IF(P8=2; IF(O7+O9<4090; P7; IF(O8+O9<4090; P8; P8+1));2)) (zjistit jestli se nevejdou všechny 3 kusy na jednu desku, pokud ne zjistit, jestli druhý kus je na samotné desce, pokud ano, tak se zkusit napasovat k jedné, nebo druhé desce jinak být na desce tři, pokud se druhý rozměr vlezl na desku 1, tak sebe dát na desku 2.
No a potom v kolonce, do které se při výpočtu ceny dívám, je =MAX(P7:P8)
]]> Také lze zřetězit dvojice v textovém režimu 01&11&21 tedy 011121 a udělat čísla s pevným počtem míst - třeba 6 aby se ta úvodní nula zobrazovala. Když by šlo o čísla tak například (01)*10000 + (11)*100 + 21*1. Zpětný rozklad 01 = INT(011121/10000), 11 = INT(MOD(011121;10000)/100), a 21 by se dopočítalo rozdílem, nebo stejným postupem.
Textový rozklad na čísla by byl pro 01: Value(MID(011121;1;2)), pro 11: Value(MID(011121;3;2)), pro 21: Value(MID(011121;5;2)). Pozn - na krajích je možné použít funkce LEFT a RIGHT, ale jakmile použijete v prostředku MID tak se vyplatí z pohledu vlastní notace (kopírování + přepis startovní polohy) zachovat MID všude.
Takže dotazem IF(INT(buňka/10) = 0; "zadní deska";IF(INT(buňka/10) = 1; "horní deska";IF(INT(buňka/10) = 2; "pracovní deska";"Chyba"))))
Podobně přesah :
Potom dotazem IF(MOD(buňka;10) = 0; "nic";IF(MOD(buňka;10) = 1; "přesah doleva";IF(MOD(buňka;10) = 2; "přesah doprava";IF(MOD(buňka;10) = 3;"přesah obě strany";"Chyba")))))
------------------------------------------------------
30 - třeba rezervní bez přesahu
31 - třeba rezervní s přesahem doleva
32 - třeba rezervní s přesahem doprava
33 - třeba rezervní s přesahem na obě strany
------------------------------------------------------
Také by to mohly být kombinace 2. třídy z celku 6 těch je 15 takže rezerva by byly jen 3 výrazy. Může to být i písmenky místo čísel ale čísla jdou lépe vyhodnotit číselně.
PS : - Píšu z paměti a seknul jsem chybu tak jsem to opravil - snad to bude chodit.
]]>Takže mi jde jen o to, že mám záložky A až Z (každou pro jednu skříňku, ale to už asi víte, ten dokument jste, myslím viděl při řešení mazání dat) A nyní jsem tam prostě přidal možnost "Pracovní deska ne/1/2/3/4" Prozatím, aby to fungovalo jsem do následného výpisu dílců tak musel přidat celkem 12 řádků (4x Pracovní deska, 4x Stolní deska a 4x zádová deska) kde si to umí přiřadit podle If (1/2/..) a následné zvolí kde je 1 kus a kde 0 a na poslední stránce je pak součet pro každý řádek zvlášť. Ale doufal jsem v hezčí řešení, kdy každá skříňka bude mít pro každou položku jen 1 řádek (nehrozí, aby jedna skříňka měla 2 pracovní desky.
]]> Index také zřejmě zahrnuje problematiku uspořádání zřejmě I jako v jedné přímce, L jako do pravého úhlu, nebo jako U se dvěma pravými úhly. Ale už celkem není zřejmé jestli je kolem skříněk volné místo, nebo jsou u zdi. To L a U může být potom vnější i vnitřní. U vnitřního rohu by vznikaly čtvercové díry u vnějšího by to problém nemusel být.
Je celkem jedno jestli jde o pracovní ponky, kuchyňské linky, nebo třeba rustikální kancelářské nebo nábytkové skříňky pokud nejsou u zdi. V takovém případě ale není nutné uvádět I, L, U. Vystačí jen I jako přímka složená z různých skříněk které se dají poskládat do různých útvarů třeba pravoúhlé Z, otevřeného obdélníku a podobně.
Pokud jsou ale skříňky u zdi problém zejména vnitřního rohu existuje. Vnější může být řešen čtvercovou skříňkou, nebo překladem. Ale když by to mělo plnit ještě estetické účely, měly by existovat skříňky se šikmými stranami (kosodélníky) ve dvou verzích kratší přední, nebo zadní strana. Takže pokud uvádíte rozdíl mezi L a U zřejmě problém šikmo seřízutých skříněk, nebo prozdných vnitřních rohů existuje nejméně v podobě kříňky šířky 600 která má horní desku o 600 delší nežli je podkladová skříňka. Potom totiž hrozí že délka desek je pro L a U jiná nežli pro podkladové skříně. Také jde o možnost, že desky přesahují skříňku.
Přes to indexy lze řešit celkem jednoduše ale nevím jestli byste můj návrh akceptoval. Délka pracovních ploch stačí zadat pomocí "velikosti (mm2, cm2, nebo i m2) plochy a modulo šířky, nebo délky" plus variaci uspořádání třeba ACDA, CCAD a podobně (v podstatě variace s opakováním. Ale šikmé rohy by to dost zkomplikovaly. Systémů může být určitě více.
Nejlépe by bylo poslat typické půdorysy uspořádání skříněk s pracovními deskami, nebo Váš systém indexů s popisem co je co. Zabudovat do indexu šířku aby se dala dovodit není takový problém, ale varianty možností rohů to komplikují.
rád bych tam přidal i počítání pracovní desky. U každé skříňky jsem přidal další kolonky na doplnění údajů té pracovní desky a přidal jsem si tam "indexaci" aneb "políčko B77 má seznam 1/2/3/..." čímž jsem chtěl vyjádřit, že tato skříňka ma i pracovní desku a sčítá se s jinými pracovními deskami se stejným "indexem" (třeba když je kuchyně do L, nebo U)
No a na konci bych byl rád, kdyby mi to umělo vyplivnout PD 1 má délku 1800 mm (protože se jedná o součet skříněk A, B, C, kde je dán index 1) a PD 2 má délku 1200 mm (protože se jedná o součet skříněk D, E, kde je dán index 2)
A výraz SUMIF($A.B77:$Z.B77=1;$A.I70:$Z.I70;0) nebo SUMIFS...
Případně nějaké doplnění šířky. PD 1 může mít 600 mm,PD 2 už 900. Tak aby to umělo si říct "aha ty jsi už PD2, ukaž jaké číslo máš u hodnoty šířky a já ho doplním do tabulky na konci" s tím, že nevím v kterém listu se poprvé vyskytne PD 1, nebo 2,..
předem děkuji.
zatím to řeším přes doplňkové tabulky v každém listu "jsi li PD1, zapiš se do I70, jsi li PD2, zapiš se do I71 a na konci udělám SUM($A.I70:$Z.I70, SUM($A.I71:$Z.I71), ... )
něco podobného bych potřeboval i na pojezdy...
]]>