Morgen,
also Grundablauf ist folgender:
Alle Bestandseisen liegen in Teilbildern, welche als Name in den beiden ersten Zeichen "-1" beinhalten. Dies ermöglicht die Stäbe als negative zu definieren, weil bereits vorhanden und diese somit nicht mehr bestellt werden müssen.
Alle neuen Eisen gern auch mit identischer Positionsnummer liegen auf Teilbildern mit " 1" mit Leerzeichen 1 und werden dadurch positiv gesetzt.
Für den Fall, dass Pos 1 alt 100 Eisen hatte, neu jedoch nur 80 benötigt, erhält man eine negative Zahl für die Differenz es müssen also keine weiteren Eisen dieser Position bestellt werden. Kann man ja konstruktiv einlegen, um keinen Abfall zu haben. Positive Differenzen müssen neu oder zusätzlich bestellt werden.
Bei negativen Differenzen, vgl. erstes Bild, wird die Gesamtlänge und die Masse dieser Position zu 0.00 gesetzt. Für den anderen Fall, bekommt die Position ihre Gesamtlänge und die Masse entsprechend der erforderlichen Stabanzahl.
BIS HIERHER PASST ALLES!!!!!!!!!
Lediglich die unten aufgeführte Gesamtsumme über alle Positionen will mir nicht gelingen.
Im vorliegenden Fall, müsste nur die Position 3 mit 16.6 kg bestellt werden. Nur schaffe ich es nicht dem beklopften Allplan dies klar zu machen. Werden finde ich Konstrukte für „DO-Schleifen“ noch kann ich über die Endsummen der Einzelpositionen auf addieren.
Unten ist noch eine Tabelle beigefügt. Diese zeigt den Ablauf von Allplan. Die ersten beiden Positionen werden zweimal aufgeführt, weil auf zwei Teilbilden (alt/neu). Letztere Position gibt es nur einmal, nur neu.
Was möchte ich als Gesamtsumme, 16,6 kg.
Erklärung:
Zeile 1, Spalte 5, Position 1, vorhanden 78 Eisen, Gewicht 81.81 kg
Zeile 2, Spalte 5, Position 1, vorhanden 52 Eisen, Gewicht 54.54 kg -> neu weniger als benötigt, nicht zu bestellen, denn 26 Eisen zu viel, siehe obere Tabelle
Zeile 3, Spalte 5, Position 2, vorhanden 12 Eisen, Gewicht 20.58 kg
Zeile 4, Spalte 5, Position 2, vorhanden 8 Eisen, Gewicht 13.72 kg -> neu weniger als benötigt, nicht zu bestellen, denn 4 Eisen zu viel, siehe obere Tabelle
Zeile 5, Spalte 5, Position 3, vorhanden 13 Eisen, Gewicht 16.60 kg -> komplett zu bestellen, denn diese 13 Eisen gab es vorher gar nicht, siehe obere Tabelle
Jetzt benötigen wir nur noch eine Befehlsfolge für die Summe über die letzte Spalte....
Vielleicht kann man Allplan mit den Funktion Child oder Parent dazu überreden, für die Gesamtsumme erst jede Position einzeln zu prüfen und bei negativer Zahl eine Null setzen.
Ablauf könnte so einfach sein:
Gesamtsumme=0 <- außerhalb der Schleife
For each, Positon, check ->
If, Anzahl(-|Anzahl_alt|+|Anzahl_neu|).gt.0, then,
Gesamtsumme=Gesamtsumme+Anzahl*Einzelgewicht
fertig....