• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Aanpassingen bestaande zaaglijst

Status
Niet open voor verdere reacties.

mike564

Gebruiker
Lid geworden
11 dec 2015
Berichten
83
Beste helpers,

Een tijdje terug ben ik op dit forum een mooie oplossing tegen gekomen voor een zaaglijst, geproduceerd door gast0660/Philiep.

http://www.helpmij.nl/forum/showthread.php/889993-Zaaglijst?highlight=zaaglijst

Ik was hier dan ook zeer tevreden mee, mede doordat ik hier zelf een mooi overzicht bij kon maken.
Echter, wanneer de berekening wat complexer wordt, lijkt het de aantallen te gaan manipuleren, of geeft het een verkeerde optimalisatie (ook in de originele versie van Philiep).
Dit gebeurt 9 van de 10 keer ook niet (bij minder variabelen of minder volume), waardoor het alsnog een mooi programma is,
maar ik was toch benieuwd of iemand mij hier op weg kon helpen om de berekening binnen VBA te optimaliseren.

Bijgaand 2 voorbeelden waar het mis gaat.

Alvast bedankt:thumb:

Mike

Bekijk bijlage Zaaglijst voorbeeld.xlsb
Bekijk bijlage Zaaglijst voorbeeld2.xlsb
 
Laatst bewerkt:
Mike, ik snap het niet helemaal.
ik zie staan standeaard lengte 6000 maar, ik zie nergens iets over breedtes.

hoe moet ik me dat voorstellen ?

als je een sheet bijhoud met alle opdrachten dan kun je zien wat de meest voorkomende maten zijn.
en als je dat weet hou je daar gekening mee in je rest materiaal.
je kan zorgen dat de maten van je resten niet allemaal zo klein mogelijk is.
maar af en toe eerder een nieuwe plaat pakken. ipv weer een stuk van een halve meter weg gooien.
 
Laatst bewerkt:
De standaard lengte van het materiaal is 6 meter.
Heb dus niets met de breedte van doen.
 
Het gaat hier inderdaad puur om lengtematen, met breedte hebben wij niet van doen. (althans, daar is dit bestand niet voor bedoeld)
Voor meer info hoor ik het natuurlijk graag!
 
Wanneer je verstek zaagt, dan kun je bij de instellingen aangeven wat het verlies is, hier is de breedte natuurlijk wel een afhankelijke.
Wanneer je hier voor zagen in verstek kiest, houdt hij dus eigenlijk alleen rekening met meer verlies per zaagsnede.
 
Iemand enig idee hoe ik het minder foutgevoelig zou kunnen maken?
Zo wat ik kan zien is er niks mis met de berekening, maar ligt de foutgevoeligheid in het genereren en combineren van de gegevens (lengte en aantallen).
 
mike, ik zit net te kijken of ik er iets mee kan, maar ik heb nog een paar vraagjes.
waar vind ik in jouw bestand de breedte van de zaag en,
moet er ook geëindigd worden met een zaagsnede? (voor het geval dat de berekening niets over laat om het einde van het laatste glaslatje schoon te zagen)?

ps hoe nauwkeurig is die 6000 van je glaslatten wat is de minimum maat van die 6000
oh ja, moet er ook begonnen worden met het schoon zagen van die 6000?
 
Laatst bewerkt:
Sylvester,

Waar vind ik in jouw bestand de breedte van de zaag ; bedoel je hiermee het verlies per zaagsnede? Dat staat onder het gereedschaps icoontje (5mm)

Moet er ook geëindigd worden met een zaagsnede? ; als er op een lengte precies gecombineerd zou kunnen worden, dan zou het uiteinde alsnog moeten worden schoongezaagd, glaslatten worden namelijk eerst gemoffeld waardoor de uiteinden een laklaagje hebben.

oh ja, moet er ook begonnen worden met het schoon zagen van die 6000; zie vorige vraag. Dit is ook al in de berekening verwerkt, als verlies kopkanten (zie gereedschapsicoontje, staat nu op 2mm)

ps hoe nauwkeurig is die 6000 van je glaslatten wat is de minimum maat van die 6000; 6000 is de absolute minimum maat.

In ieder geval bedankt dat je een poging durft te doen
 
hallo mike, er zijn te veel mogelijkheden om de perfecte oplossing te maken maar hier een (beetje suffe ) poging om tot een acceptabele oplossing te komen.

kijk eens of deze macro een beetje klopt. zie grijze cellen in blad "Optimalisatie" met bijbehorende knop:
ik ben benieuwd of je een betere oplossing kan bedenken.
wil je zelf kijken of deze macro wel klopt? ik hoor graag.
 

Bijlagen

  • Zaaglijst_nieuw 1.xlsb
    576,7 KB · Weergaven: 79
mike, blad1 heb ik als klad gebruikt om controles uit tevoeren

blad1 is nu niet meer in beeld er gebeurd daar niets meer.

als je wil kan ik de hoofd tabel in blad1 zetten dat controleert makkerlijker.

ik hoor het wel
 
Ik heb het net even vluchtig kunnen bekijken en het lijkt wel te kloppen.
Straks/vanmiddag heb ik tijd om het nader te bekijken en kan ik het meteen vergelijken met mijn handmatige optimalisatie.
Wat betreft jou voorstel: ja graag! dat controleert inderdaad makkelijker!
 
bij deze de oorspronkelijke tabel in blad1

ps in de oorspronkelijke tabel staan de gewenste lengtes met de zaagsnede er bij opgeteld. (dat rekent makkelijker )
 

Bijlagen

  • Zaaglijst_nieuw met controle blad1.xlsb
    576,8 KB · Weergaven: 55
Laatst bewerkt:
ps in de "oorspronkelijke" tabel staan de gewenste lengtes met de zaagsnede er bij opgeteld. (dat rekent makkelijker voor mij)

als je wil kan dat aangepast worden.
 
Ik heb de situatie eens handmatig laten optimaliseren (zoals de collega in kwestie dat normaal gesproken ook doet) en die komt op het onderstaande uit (rest is wat ruimer genomen).
Optimalisatie handmatig.JPG

Jouw versie geeft in dit voorbeeld dus een hele mooie optimalisatie!

Echter, nu wilde ik het ook eens gaan testen met een willekeurig voorbeeld, maar dan krijg ik steeds een foutmelding.
Dit gebeurt overigens elke keer wanneer ik ook maar iets aanpas t.o.v. het oorspronkelijke voorbeeld. (zie bijlage hieronder).
Bekijk bijlage Zaaglijst test1.xlsb

Wat betreft de opgetelde zaagsnedes, wanneer het niet teveel moeite is, dan is het voor de controle wel fijner dat de maatvoering zonder de zaagsnede erbij opgeteld is.
 
mike, wat knap helemaal met de hand

versie 3 :

ps ik hoop dat iemand een met een andere truck een betere verdeling vind.
 

Bijlagen

  • Zaaglijst test3.xlsb
    581,6 KB · Weergaven: 58
Laatst bewerkt:
Sylvester, ik vind wat jij hebt gecreëerd dan weer heel erg knap:d

Ik heb het bestand/de code even aangepast zodat het in het geheel een iets werkbaarder en overzichtelijker tool is geworden.
Wat ik heb aangepast, heb ik als commentaar erachter gezet (niet veel bijzonders, ben een ontzettende rookie).
Helaas kan ik er nu even niet meer tijd in te steken en heb de code daardoor nog niet kunnen "uitdagen".

Dit is voor nu in ieder geval mijn aangepaste versie. Ik hoop dat zo ook andere leden er wat aan hebben :)
Heel erg bedankt voor de hulp Sylvester!
 

Bijlagen

  • Zaaglijst nieuw.xlsb
    82,5 KB · Weergaven: 57
Laatst bewerkt:
mooi gedaan mike :thumb: nu die -5 nog uit het controle blad weg krijgen.
Code:
    For L = 4 To 4 + List.Count
moet:
Code:
    For L = 4 To 3 + List.Count
worden
 
Top, heb het aangepast :thumb:
Zodra ik wat meer tijd heb, wil ik het controle blad ook nog wat pimpen, zodat deze ook wat meer overzicht geeft.

Graag hoor ik natuurlijk of anderen over het geheel ook nog ideeën of opvattingen hebben!
 
mike564,

Goede middag, Ik heb de zaaglijst voor me zelf even gebruikt.
Volgens mij is het niet juist, denk ik.
Ik heb 8 x 900 mm en 8 x 530 mm nodig, het materiaal is 2700 mm lang en 20 mm breed.
De zaagsnede is 2 mm en moet op 45 graden gezaagd worden.
Als je nu naar het plaatje kijkt tel ik maar 5 stuks en 4 stuks.
Er komt uit dat ik maar 5 lengtes nodig heb.
Is het programma nog niet helemaal af?
 

Bijlagen

  • Kopie van Zaaglijst.xlsb
    81,9 KB · Weergaven: 52
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan