| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
| |
 | Wichtige Änderung bei Lizenzverlängerungen von PTC, eine Pressemitteilung
|
Autor
|
Thema: Stücklistenaufbau individuelle Positionsnummer (174 / mal gelesen)
|
CMGT Mitglied

 Beiträge: 14 Registriert: 06.12.2024
|
erstellt am: 13. Jun. 2025 09:23 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich möchte gerne eine Stückliste aufbauen und die Positionen mit eigenen Positionsnummer vergeben und sortieren. Zur besseren Übersicht in den Exceltabellen verwenden wir intern die Positionsnummern 101-500 für Fertigungsteile 501-700 für Normteile und 701-999 für Zukaufteile. - Die Positionsnummern starten aber nur von 1, mit Tricks aus dem Forum könnte man zwei Nullen anhängen (1 => 001), aber das wäre für meinen Fall nicht zielführend. - Die Positionsnummer als Parameter hinzuzufügen wird nur bedingt funktionieren. Norm- und Zukaufteile verwenden wir mehrmals in verschiedenen Baugruppen um große Datenmengen zu vermeiden. Da würden wir irgendwann einen Konflikt haben (ein gleicher Sensor in vier verschiedenen Baugruppen). Mein Gedanke war, dass ich eine Zelle in der Tabelle habe die ich händisch befüllen kann. Ich kann hier meine Zelle dafür als "Kommentar" ausweisen. Diese Zelle wird in der gleichen Zeile von einem anderen Feld übernommen -> laut Bild Zelle B11 = B1 (Pos. vorne händisch eingegeben wird von Pos. hinten übernommen). Und ich sortiere nach "vorwärts" nach Zelle B11. Die Ballons sollen dann von Feld B11 aus erstellt werden. Dazu wäre wohl etwas nötig wie B1 = B11 = Parameter X. Ich weiß aber nicht, wie und ob es geht der Tabelle zu sagen, dass Zelle X den Inhalt von Zelle Y hat. Momentan sortiere ich nach der Zeichnungsnummer und nach dem Lieferanten. Da die Zeichnungsnummer mit Zahlen und Norm- und Zukaufteile mit Buchstaben beginnen ergibt das schon eine gute Reihung; Fertigungsteile oben und Norm- und Zukaufteile unten. Was noch nicht passt kann ich mit "Index korrigieren" selbst richtig stellen. Hier habe ich aber das Problem, dass ich die Ballons und die Positionsnummer jeweils gleichzeitig händisch nachtragen muss. Daher will ich unbedingt eine sinnvolle Verknüpfung zwischen Ballon und selbst erstellter Positionsnummer herstellen.
Ich weiß, es ist etwas viel beschrieben, aber es sieht so aus, also ob ich kurz vor der Lösung stehe. Vielen Dank [Diese Nachricht wurde von CMGT am 16. Jun. 2025 editiert.] [Diese Nachricht wurde von CMGT am 16. Jun. 2025 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
arni1 Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 4013 Registriert: 17.12.2002 Pro/E seit Version 11 Creo6 HP Z210 Intel Xeon 3.3GHz; 20 GB RAM NVIDIA Quadro 2000 HP ZR30w Win10 64bit
|
erstellt am: 13. Jun. 2025 11:29 <-- editieren / zitieren --> Unities abgeben:          Nur für CMGT
Das kann Creo! Vorraussetzung ist, daß alle Teile/Baugruppen einen Parameter mit der Klassifizierung haben, also 1 für Fertigungsteile; 5 für Normteile und 7 für Zukaufteile In der Stücklistentabelle unter Beziehungen einen neuen Parameter für die neue Positionsnummer erzeugen. Mit Beziehung den Klassifizierungsparameter der Teile und rpt_index verknüpfen. Den neuen Parameter in der Stücklistentabelle anzeigen lassen und einen benutzerdefinierten Stücklistenballon mit diesem Parameter erzeugen. Die zweite und dritte Zahl der Positionsnummer würde ich der aufsteigend rekursiv so lassen, Index kann aber auch korrigiert werden. Gruß Arni Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CMGT Mitglied

 Beiträge: 14 Registriert: 06.12.2024
|
erstellt am: 13. Jun. 2025 11:53 <-- editieren / zitieren --> Unities abgeben:         
Hallo, danke für die schnelle Antwort. Ich habe das der Reihe nach gemacht. Ich habe allen Teilen der Baugruppe eine Klassifizierung gegeben -> Teilart 1, 5 oder 7. Danach bin ich auf die Tabelle gegangen -> Beziehungen -> und hier habe ich den neuen Parameter "Positionsnummer" angelegt. Kannst du mir hier noch aushelfen aushelfen mit dem Schritt den du beschrieben hast: "Mit Beziehung den Klassifizierungsparameter der Teile und rpt_index verknüpfen." Ich weiß nämlich nicht wie ich das richtig verknüpfe. Beim letzten Schritt kann ich dann vermutlich unter asm.mbr.USER-Defined meinen Parameter "Positionsnummer" eingeben. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
arni1 Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 4013 Registriert: 17.12.2002 Pro/E seit Version 11 Creo6 HP Z210 Intel Xeon 3.3GHz; 20 GB RAM NVIDIA Quadro 2000 HP ZR30w Win10 64bit
|
erstellt am: 13. Jun. 2025 13:07 <-- editieren / zitieren --> Unities abgeben:          Nur für CMGT
Tabellenbeziehungen: if rpt_index <10 positionsnummer=asm_mbr_teilart+"0"+itos(rpt_index) endif if rpt_index>10&rpt_index <100 positionsnummer=asm_mbr_teilart+itos(rpt_index) endif Spaltenkopf & im benutzerdefinierten Stücklistenballon: &rpt.rel.positionsnummer Gruß Arni Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CMGT Mitglied

 Beiträge: 14 Registriert: 06.12.2024
|
erstellt am: 16. Jun. 2025 08:10 <-- editieren / zitieren --> Unities abgeben:         
Hallo, leider funktioniert es bei mir noch nicht. Ich habe den Text in die Tabellenbeziehungen eingefügt. (für weniger Schreibarbeit wurde der Paramter "Positionsnummer" zu "Pos") Dann habe ich in der Tabelle eine Spalte mit dem rpt_index drinnen. Dieser zählt schon einmal richtig. (Ich glaube dieser Parameter wird nicht nötig sein, aber zur Überprüfung habe ich ihn hinzugefügt.) Am Ende der Tabelle dann der benutzerdefinierte Parameter "&rpt.rel.Pos". Leider wird mir in dieser Zelle nichts angezeigt. Die Verknüpfung zu den Ballons funktioniert auch. Ich habe alles mehrmals kontrolliert, aber ich finde nichts, was die richtige Ausführung verhindern sollte. Vielleicht liegt der Fehler in einem kleinen Detail, dass ich übersehen habe. Ich habe zum Beispiel meinen Parameter "Teilart" als Zeichenfolge ausgeführt. Muss ich hier auf reele Zahl oder Ganzzahl umstellen? Ich habe das jeweils für 2 Teile probiert, aber es wurde trotzdem nichts in der Tabelle angezeigt. Oder muss ich beim Parameter "POS" im Wert noch irgendwas eingeben? Um es einfacher zu machen habe ich eine kleine Testbaugruppe erstellt. Dort habe ich alle Parameter gleich vergeben. Eine Zeichnung ist auch vorhanden mit der Tabelle, welche die gleichen Parameter laut den Anweisungen beinhaltet. Vielleicht kannst du mir sagen, was hier noch fehlt. Es fühlt sich so an, als ob nur mehr irgendwo ein Haken zu setzen ist und alles funktioniert. Danke dir Arni Gruß Anton [Diese Nachricht wurde von CMGT am 16. Jun. 2025 editiert.]
[Diese Nachricht wurde von CMGT am 16. Jun. 2025 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
arni1 Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 4013 Registriert: 17.12.2002 Pro/E seit Version 11 Creo6 HP Z210 Intel Xeon 3.3GHz; 20 GB RAM NVIDIA Quadro 2000 HP ZR30w Win10 64bit
|
erstellt am: 16. Jun. 2025 11:47 <-- editieren / zitieren --> Unities abgeben:          Nur für CMGT
Es fehlt nur eine Kleinigkeit: Im Beziehungsmenu der Stücklistentabelle muß der Teilparameter TEILART bekannt sein! Das geschieht automatisch, wenn in der Tabelle dieser Parameter auch angezeigt wird oder man ergänzt diesen Parameter ASM_MBR_TEILART Gruß Arni Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CMGT Mitglied

 Beiträge: 14 Registriert: 06.12.2024
|
erstellt am: 16. Jun. 2025 12:12 <-- editieren / zitieren --> Unities abgeben:         
Hallo Arni, du bist ja ein richtiger Teufelskerl! danke soweit, es hat sehr gut funktioniert! Jetzt kommt leider das Aber. Wie im Bild zu sehen wird der Index gezählt. Komme ich nach 6 Teilen zu meinem Normteil springe ich auf die 200, aber der Index wird nicht neu gestartet. (Als Test habe ich 100, 200 und 300 für Fertigungs- Norm- und Zukaufteile verwendet) D.h., dass ich anstatt von 106 auf 201, auf 207 springe. Das gleiche passiert beim nächsten Sprung zu den Zukaufteilen. Logischerweise macht der Index auch nichts anderes. Um das Problem zu lösen wird es wohl etwas komplizierter. Gibt es eine Möglichkeit über die Beziehungen zu kommunizieren, dass ab dem Nummernwechsel wieder von 1 gezählt wird? Die einzig andere Möglichkeit sehe ich darin zwei neue Stücklisten (eine Norm- und eine Zukaufteilestückliste) zu erstellen. Wobei ich mir da auch nicht sicher bin, ob der Index richtig zählen wird. Gruß Anton Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Experiment1 Mitglied CAD-/ Windchill Admin // F&E
 
 Beiträge: 127 Registriert: 01.04.2021 Creo Parametric 8.0.5.0 (ehemals Creo 4 M100) Windchill PDMLink 12.0.2.6 (ehemals 11.0 M030) Virtueller CAD-Desktop (Citrix + NVidia Grid M60-2Q)
|
erstellt am: 17. Jun. 2025 08:37 <-- editieren / zitieren --> Unities abgeben:          Nur für CMGT
Hallo Anton, du kannst mit ein paar Hilfsparametern die Positionen neu starten lassen. Hier das, was ich in den Wiederholbereichsbeziehungen eingetragen habe:
Code: if asm_mbr_ftyp ==1 FT1 = rpt_index Pos2 = rpt_index endifif asm_mbr_ftyp == 2 FT2 = rpt_index Pos2 = rpt_index - FT1 endif if asm_mbr_ftyp == 5 Pos2= rpt_index - FT2 endif if Pos2 < 10 Pos = itos(asm_mbr_ftyp) + "0" + itos(Pos2) endif if Pos2>= 10 & Pos2<100 Pos = itos(asm_mbr_ftyp) + itos (Pos2) endif
FTyp ist die Unterscheidung zwischen Fertig-, Norm- und Zukaufteile. Pos2 ist quasi als Ersatz für rpt.index. FT1, FT2,... sind Hilfsparameter.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CMGT Mitglied

 Beiträge: 14 Registriert: 06.12.2024
|
erstellt am: 17. Jun. 2025 11:33 <-- editieren / zitieren --> Unities abgeben:         
Hallo, es funktioniert!!! Vielen Dank!!! Ich habe eine Stunde herumprobiert und der entscheidende Fehler den ich hatte war, dass mein Parameter "Teilart" im Einzelteil als Typ "Zeichenfolge" hatte. Ich habe das auf "Ganzzahl" umgestellt und jetzt funktioniert es. Abschließende Fragen habe ich noch. 1. Muss ich FT1 und FT2 überhaupt vergeben beim neu Einfügen, oder nur beim erstmaligen Erstellen der Stücklistenvorlage? Nach meinen ersten Versuchen brauche ich nichts mehr zu tun. Diese Parameter ändern sich automatisch mit. 2. FT3. Wofür wird das überhaupt gebraucht. Das ist ein toter Parameter der sich nicht mehr mitändert. War das nur gedacht, falls ich noch mehr unterschiedliche Typen einfügen möchte? 3. Muss ich in der Tabelle alle Parameter der Beziehungen einfügen, damit es funktioniert? Die Tabelle muss irgendwo die Referenz herbekommen. In meinem Fall habe ich asm.mbr.teilart in der Tabelle eingefügt und es wird mir dann in den Parametern angezeigt. Wenn die Tabelle nämlich funktioniert würde ich sie schlank halten. Also nur die fertige Positionsnummer anzeigen. In späterer Folge würde ich das nämlich gerne automatisiert rausspielen. Wofür ist dieser Parameter, denn er wird nie verwendet. Ich habe abschließend noch 3 Sortierungen reingegeben. &asm.mbr.teilart Forward &asm.mbr.Lieferant Forward &asm.mbr.name Forward - Zuerst wird die Teileart sortiert, damit Fertigungs- Norm- und Zukaufteile von 1 -> 5 -> 7 sortiert sind. - Danach Lieferant, damit die Zukaufteile nach Lieferant zusammengefasst sortiert werden; Firma A -> Firma B -> Firma C. - Zuletzt Nach Namen. Die Fertigungsteile sind noch nicht sortiert, haben aber in meinem Fall keinen Lieferanten. Dadurch werden diese sortiert und gleichzeitig die Zukaufteile die bereits nach Lieferanten sortiert sind Alphabetisch sortiert werden. Vielen Dank nochmal! Beste Grüße Anton [Diese Nachricht wurde von CMGT am 17. Jun. 2025 editiert.] [Diese Nachricht wurde von CMGT am 17. Jun. 2025 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Experiment1 Mitglied CAD-/ Windchill Admin // F&E
 
 Beiträge: 127 Registriert: 01.04.2021 Creo Parametric 8.0.5.0 (ehemals Creo 4 M100) Windchill PDMLink 12.0.2.6 (ehemals 11.0 M030) Virtueller CAD-Desktop (Citrix + NVidia Grid M60-2Q)
|
erstellt am: 17. Jun. 2025 13:52 <-- editieren / zitieren --> Unities abgeben:          Nur für CMGT
Hallo Anton, ja, du hast mit allen deinen Punkten recht!
Ich hatte von vornerein den Parameter für die "Teilart" auf Ganzzahl, deswegen ist der Fehler bei mir nicht aufgetreten. 1. FT1 und FT2 ("Fertigungs-Typ 1/2") musst du nur einmal in den Beziehungen des Wiederholbereichs anlegen. Wenn du die Tabelle speicherst werden alle Konfigurationen gesichert. Die Werte, die hier stehen sind die letzten Werte, bei den die Funktion aufgerufen wurde. Werden aber bei jeder Änderung am Wiederholbereich neu berechnet. Ich hab's jetzt nicht ausgetestet, aber vom Gefühl her würde ich sagen, dass eine entsprechende Sortierung "&asm.mbr.Teilart Forward" (oder in meinem Beispiel: "&asm.mbr.FTyp Forward") zwingend notwendig ist. Aber hast du ja auch schon erkannt. 2. FT3 kann weg. Im Grunde sind ja die Stufen alle Copy/Paste. Nur bei der letzten Stufe ist kein temporärer Parameter notwendig. Aber falls mal Dualteile oder sowas hinzukommen... :P 3. In den Wiederholbereich-Parametern brauchst du nur die Parameter, die du in den Beziehungen verwendest. Arni hat ja auch schon erwähnt, dass Parameter von außerhalb (asm_mbr_<ParameterName> ) hinzugefügt werden sollten. Wenn du andere Parameter verwendest, kannst du die nicht benutzten rauswerfen. Wobei ich zwischenzeitlich mal 'nen Parameter verloren hatte und der dann anschließend als LOSTSYMBOL in den Beziehungen stand. Viel Spaß noch  Thomas Edit: Ach, und in der STüLi auf der Zeichnung müssen die ganzen Hilfsparameter natürlich nicht stehen. Da würde am Ende dann nur &rpt.rel.pos stehen. Die existieren dann im Hintergrund einfach weiter. [Diese Nachricht wurde von Experiment1 am 17. Jun. 2025 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CMGT Mitglied

 Beiträge: 14 Registriert: 06.12.2024
|
erstellt am: 17. Jun. 2025 15:22 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich hab das einfach mal so probiert und eine neue Teilart "0" für Baugruppen eingeführt. Analog zu deinen vorherigen Beziehungen habe ich meine Tabelle erweitert. Das funktioniert auch einwandfrei. Hier zählt er von 01 an rauf und auch bei der Position 10 an zählt er richtig weiter. Vermutlich kann man auch diese 0 vor dem 1er wegbekommen, aber das stört mich nicht. Ich werde meine Stückliste noch schlanker gestalten. Danke nochmals für die Hilfe, ich habe keine Erfahrung wie man solche if-Bedingungen, itos, usw. schreibt und dein fertiger Code hat super gepasst. Schöne Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |