| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
Autor
|
Thema: Beziehungen in Wiederholbereich (1726 mal gelesen)
|
tomahi Mitglied Konstrukteur
Beiträge: 15 Registriert: 01.03.2005 Win XP SP2 WF2 M020 Xeon 2x2,8GHz Quadro4 980XGL
|
erstellt am: 23. Jan. 2006 11:08 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen. Ich habe eben in der Suche einiges gefunden was mir weitergeholfen hat, aber leider noch nicht komplett zum Ziel führt. Ich habe eine Stückliste. Die Teile in der Stückliste haben der Einfachheit halber zwei Parameter. Bei allen Normteilen ist der Parameter "A" mit der Bezeichnung belegt und Parameter "B" ist leer. Bei allen Fertigungsteilen ist Parameter "B" mit der Zeichnungsnummer belegt und Parameter "A" leer. Jetzt will ich eine Spalte in meiner Stückliste, die je nachdem entweder die Bezeichnung oder die Zeichnungsnummer ausgibt. Hierfür habe ich in der Stückliste folgende Beziehung eingegeben: if asm_mbr_parameter_A == "" beschr = asm_mbr_parameter_B else beschr = asm_mbr_parameter_A endif Das hat auch bestens funktioniert wenn ich in meiner Stückliste beide Parameter einzeln in Spalten aufgeführt habe. Sobald ich aber beide Spalten lösche und nur noch die rpt.rel.beschr - Spalte habe, wird meine Beziehung gelöscht und die Spalte bleibt logischer Weise leer. Kennt das jemand, kann man dagegen was tun, habe ich irgendwas übersehen, kann ich vielleicht die Spalten nur ausblenden (als Workaround) Klar könnte ich jetzt auch die Parameter alle auf Parameter A schieben, aber ich will nicht jedes Normteil anfassen. Das ist mir zu viel. Wäre super wenn mir da einer weiterhelfen könnte. Vielen Dank, Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der berater Mitglied Anwendungsberater
Beiträge: 323 Registriert: 07.12.2000
|
erstellt am: 23. Jan. 2006 11:43 <-- editieren / zitieren --> Unities abgeben: Nur für tomahi
|
tomahi Mitglied Konstrukteur
Beiträge: 15 Registriert: 01.03.2005 Win XP SP2 WF2 M020 Xeon 2x2,8GHz Quadro4 980XGL
|
erstellt am: 23. Jan. 2006 12:11 <-- editieren / zitieren --> Unities abgeben:
OK. Das habe ich momentan auch gemacht, aber meiner Meinung nach ist das ein Workaround. Das muss doch auch anders gehen. Wenn ich z.B. einen Parameter überschreiben will (ein anderes Forumsmitglied wollte mal bei einem bestimmten Teil "siehe Tabelle" einfügen) geht die Möglichkeit nicht mehr. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
contraengineer Mitglied Maschinenbauer
Beiträge: 6 Registriert: 27.03.2014 HP Z420 Intel Xeon E5-1620 v2 @3,7GHz 32 GB Ram AMD FirePro W7000 (leider) Windows7 SP1 (64bit) ProE WF3 (M250) mit Intralink 3.4 Creo3 (M070) mit Windchill PDM-Link10.2 M030-CPS11 Solidworks 2012 SP5 mit EPDM
|
erstellt am: 06. Apr. 2016 21:19 <-- editieren / zitieren --> Unities abgeben: Nur für tomahi
Hallo, ich möchte diesen alten Thread mal ausgraben, da ich ein kleines Problem mit einer etwas ausgefeilteren Variante habe: In manchen Teilen oder Baugruppen gibt es bei uns einen Parameter, der auf die korrekte Zeichnung verweist (wenn abweichend zur Identnummer). Dieser soll in meiner Stückliste in der Spalte Zeichnung erscheinen. Nun kann der Parameter jedoch unterschiedlich heißen (ist eben so gewachsen): dokument, zeichnungsnummer, zeichnung, drawing, drawing_no, drawing_number oder document. Um alle diese Möglichkeiten zu erfassen, habe ich im Wiederholbereich meiner Stückliste Beziehungen angelegt (leider krieg ich keine txt und keine tbl-Datei hochgeladen):
Code:
q1 = exists("asm_mbr_dokument") q2 = exists("asm_mbr_zeichnungsnummer") q3 = exists("asm_mbr_zeichnung") q4 = exists("asm_mbr_drawing") q5 = exists("asm_mbr_drawing_no") q6 = exists("asm_mbr_drawing_number") q7 = exists("asm_mbr_document")comp_drw = "" if q7 /* comp_drw = comp_drw + "document" comp_drw = comp_drw + asm_mbr_document if q6 | q5 | q4 | q3 | q2 | q1 comp_drw = comp_drw + " / " endif endif if q6 /* comp_drw = comp_drw + "drawing_number" comp_drw = comp_drw + asm_mbr_drawing_number if q5 | q4 | q3 | q2 | q1 comp_drw = comp_drw + " / " endif endif if q5 /* comp_drw = comp_drw + "drawing_no" comp_drw = comp_drw + asm_mbr_drawing_no if q4 | q3 | q2 | q1 comp_drw = comp_drw + " / " endif endif if q4 /* comp_drw = comp_drw + "drawing" comp_drw = comp_drw + asm_mbr_drawing if q3 | q2 | q1 comp_drw = comp_drw + " / " endif endif if q3 /* comp_drw = comp_drw + "zeichnung" comp_drw = comp_drw + asm_mbr_zeichnung if q2 | q1 comp_drw = comp_drw + " / " endif endif if q2 /* comp_drw = comp_drw + "zeichnungsnummer" comp_drw = comp_drw + asm_mbr_zeichnungsnummer if q1 comp_drw = comp_drw + " / " endif endif if q1 /* comp_drw = comp_drw + "dokument" comp_drw = comp_drw + asm_mbr_dokument endif
In der Stückliste ziehe ich dann Code: &rpt.rel.comp_drw
an. Nun mein Problem: Das klappt nur für die Parameter Zeichnung und Zeichnungsnummer. Alles andere wird auch bei Vorhandensein nicht wiedergegeben. Ich habe schon versucht die Oder-Verknüpfungen Mittels Klammern in Zweiergruppen zu zerlegen -- ohne erfolg. Wenn ich in ganz normalen Teilebeziehungen eine ähnliche Abfrage erzeuge, arbeitet diese richt. Warum funktioniert das im Wiederholbereich nur so halb? Viele Grüße Contraengineer Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der berater Mitglied Anwendungsberater
Beiträge: 323 Registriert: 07.12.2000
|
erstellt am: 07. Apr. 2016 06:21 <-- editieren / zitieren --> Unities abgeben: Nur für tomahi
10 jahre ist das schon wieder her - wie die zeit vergeht an deinen beziehungen konnte ich keine fehler erkennen. kann es vielleicht sein, dass du bei der existenzprüfung der parameter ein paar fehlerhafte teile dabei hast? vielleicht existiert der eine oder andere parameter ja und hat keinen wert oder ein leerzeichen oder einen bindestrich? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
contraengineer Mitglied Maschinenbauer
Beiträge: 6 Registriert: 27.03.2014 HP Z420 Intel Xeon E5-1620 v2 @3,7GHz 32 GB Ram AMD FirePro W7000 (leider) Windows7 SP1 (64bit) ProE WF3 (M250) mit Intralink 3.4 Creo3 (M070) mit Windchill PDM-Link10.2 M030-CPS11 Solidworks 2012 SP5 mit EPDM
|
erstellt am: 08. Apr. 2016 12:31 <-- editieren / zitieren --> Unities abgeben: Nur für tomahi
Naja, wenn ein Parameter existiert bzw. ein Bindestrich ist, würde eben der Bindestrich ausgegeben. Das Problem ist: wenn bspw. der Parameter [i]drawing[\i] im Teil vorhanden und mit 123 belegt ist, erscheint eben dieses 123 nicht in meiner Stückliste. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |