| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
| |
| INNEO zeigt Neuerungen zu den ISO-GPS Normen auf, eine Pressemitteilung
|
Autor
|
Thema: Zeichnungstabelle - Filter - Zeichenanzahl (1890 / mal gelesen)
|
Toni ERPunkt Mitglied technischer Zeichner
Beiträge: 4 Registriert: 11.09.2017 PTC Creo 2.0 M220
|
erstellt am: 11. Sep. 2017 15:21 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute, ich habe folgende Problematik beim filtern meiner Stücklistentabelle: Ausgangssituation: Es wird eine Tabelle verwendet, welche Modellparameter wie Pos.Nr. ; Bezeichnung ect. ausliest und darstellt. Der Parameter für die Pos.Nr. liegt als Zeichenkette vor und beinhaltet zwei- und vierstellige Zahlen (z.B. 10;20;1020;5020 usw.). In meiner Tabelle möchte ich jedoch nur die vierstelligen Positionen angezeigt bekommen. Was ich bisher versucht habe: - die überflüssigen Pos.Nr. mittels != "wegzufiltern" was jedoch aufgrund der Anzahl zu aufwendig ist. - mit dem Ausdruck string_length() experimentiert. Das ist aber sicher daran gescheitert, das ich den Syntax nicht gut genug beherrsche (Fehler in Zeile xy...). - den Filter == #### bzw. 10##; 50## ausprobiert. Was ich mir von Euch erhoffe: Gibt es eine elegante Möglichkeit die angezeigten Stücklistenparameter nach Zeichenanzahl zu filtern? Vielen Dank im Voraus! MFG Toni R. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RoNö Mitglied CAD-User
Beiträge: 254 Registriert: 09.10.2003 Windows 10, Windchill Pro/Intralink 11.0 M020 ,SUT 2018, Citrixumgebung ,Creo 8.4
|
erstellt am: 11. Sep. 2017 15:45 <-- editieren / zitieren --> Unities abgeben: Nur für Toni ERPunkt
Wie wäre es denn, wenn Du ganz einfach nach Positionszahlen &asm.mbr.cparam.POS > 1000 filterst? POS ist bei uns der Positionsparameter, den müsstest Du auf Deine Umgebung anpassen. Dann werden nur alle Positionsnummern größer als 1000 angezeigt. [Diese Nachricht wurde von RoNö am 11. Sep. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Toni ERPunkt Mitglied technischer Zeichner
Beiträge: 4 Registriert: 11.09.2017 PTC Creo 2.0 M220
|
erstellt am: 11. Sep. 2017 15:56 <-- editieren / zitieren --> Unities abgeben:
Das hab ich ganz vergessen oben mit aufzulisten. Das habe ich ebenfalls probiert. &asm.mbr.cparam.STL_POS > 999 Leider ist die Tabelle dann leer. Ich vermute das wird am Parametertyp "Zeichenkette" liegen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
EWcadmin Moderator Konstrukteur (Dipl.-Ing. Maschinenbau), CAD-/PDM-Admin.
Beiträge: 3254 Registriert: 27.10.2005 Creo Parametric 9.0.6.0 Windchill 12.0.2.18 Lenovo Thinkpad P16 Gen 1 mit 32GB RAM NVIDIA RTX A3000 12GB Windows 10 Enterprise
|
erstellt am: 12. Sep. 2017 07:20 <-- editieren / zitieren --> Unities abgeben: Nur für Toni ERPunkt
Zitat: Original erstellt von Toni ERPunkt: ...Ich vermute das wird am Parametertyp "Zeichenkette" liegen.
Da wirst Du wohl mit Recht haben. Wie soll Creo denn auch wissen, das abc größer ist als zyx? Bei einem als Zeichenkette eingerichteten Parameter kannst Du vielleicht was über die Anzahl der Zeichen des Parameters machen. Ich weiß aber nicht, ob sich das auch als Filterregel festlegen lässt. Also am Besten einen neuen Parameter anlegen (Ganzzahl) und dann nach diesem filtern lassen. Je nach dem wie viele Objekte Du hast, wird das natürlich viel Arbeit kosten. Aber da gibt es auch was von Ratioph..... äähmmm Inneo, was Dir dabei helfen kann. ------------------ Grüße aus OWL, Thomas ProE macht Spaß - viel ProE macht viel Spaß ! (Zitat, frei nach meinem ProE-Beibringer) Neu auf CAD.de? Diese Infos werden Dir den Einstieg erleichtern: Willkommen auf CAD.de Auch sehr hilfreich für ProE-/Creo-Neulinge: ProE konfigurieren Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Toni ERPunkt Mitglied technischer Zeichner
Beiträge: 4 Registriert: 11.09.2017 PTC Creo 2.0 M220
|
erstellt am: 12. Sep. 2017 08:59 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von EWcadmin:
Bei einem als Zeichenkette eingerichteten Parameter kannst Du vielleicht was über die Anzahl der Zeichen des Parameters machen.
Guten Morgen, diesen Ansatz wollte ich mit der Funktion string_length nachgehen. ein einfacher Vergleich ala: string_length(&asm.mbr.cparam.STL_POS) >= 4 bringt jedoch nicht das gewünschte Ergebnis. Dein Vorschlag mit dem Parameter anlegen würde sicher funktionieren, fällt jedoch aufgrund der Teileanzahl leider flach . Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
arni1 Ehrenmitglied V.I.P. h.c.
Beiträge: 3985 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: 12. Sep. 2017 10:56 <-- editieren / zitieren --> Unities abgeben: Nur für Toni ERPunkt
Mit einer Kombination aus Beziehung im Wiederholbereich der Tabelle und einem Filter geht's Beziehung im Wiederholbereich der Tabelle: stlpos=string_length(asm.mbr.cparam.stl_pos)
Tabellenfilter: &rpt.rel.stlpos == 4 Der zusätzliche Tabellenparameter stlpos muß nicht als Spalte in der Tabelle angezeigt werden. Gruß Arni
[Diese Nachricht wurde von arni1 am 12. Sep. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Toni ERPunkt Mitglied technischer Zeichner
Beiträge: 4 Registriert: 11.09.2017 PTC Creo 2.0 M220
|
erstellt am: 12. Sep. 2017 16:49 <-- editieren / zitieren --> Unities abgeben:
Hi Leute, ich denke ich bin mittlerweile auf eine praktikable Lösung gestoßen. @Arni: dein Ansatz ging in die richtige Richtung, hat jedoch bei mir eine leere Tabelle erzeugt (ob das jetzt an unseren betriebsinternen Tabellen und deren Standardbeziehungen liegt, habe ich nicht näher untersucht). Für alle interessierten hier das Kochrezept: 1. Erzeugen zweier Tabellenparameter Auswertung_zeichenzahl4 Abfrage_zeichenzahl 2. Auswerten der Zeichenlänge mittels Tabellenbeziehung if exists ("asm_mbr_cparam_stl_pos") Abfrage_zeichenzahl = string_length(asm_mbr_cparam_stl_pos) If Abfrage_zeichenzahl == 4 Auswertung_zeichenzahl4 = "JA" else Auswertung_zeichenzahl4 = "NEIN" endif endif 3. Filter setzen &rpt.rel.Auswertung_Zeichenzahl4 == JA Danke für alle Antworten...das Thema wäre soweit erledigt! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |