| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
Autor
|
Thema: Teil des Dateinamens als Parameter übernehmen (3918 mal gelesen)
|
ArtKon Mitglied Dipl.-Ing. (FH) Maschinenbau
Beiträge: 33 Registriert: 09.05.2011 Creo6
|
erstellt am: 24. Jan. 2013 16:37 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute, folgende Frage: Ist es möglich einen Teil des Dateinamens als Parameter zu übernehmen? Beispiel: Mein Dateiname setzt sich folgendermaßen zusammen VVVV-ZZZZZ_IndXX wobei die V's; Z's und X's Platzhalter für Zahlen sind. Nun würde ich gern einen Parameter erzeugen der nur VVVV-ZZZZZ (die eigentliche Zeichnungsnummer) enthält und einen weiteren der XX (den Index) enthält.
------------------ Viele Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Börga Mitglied Dipl.-Ing. Maschinenbau/Konstruktionstechnik
Beiträge: 629 Registriert: 09.07.2003 SolidWorks Premium 2014 x64 Edition SP2.0 SolidWorks Enterprise PDM Intel® Xeon® W3565 8 GB RAM NVIDEA Quadro 4000 Windows 7 Professional
|
erstellt am: 24. Jan. 2013 16:51 <-- editieren / zitieren --> Unities abgeben: Nur für ArtKon
Hallo, Erzeuge einen Parameter "Zeichnungsnummer" vom Typ "Zeichenkette" und schreibe folgende Formel in die Beziehungen: Zeichnungsnummer=extract(rel_model_name(),1,10) Diese zerlegt den Dateinamen in eine Zeichenkette und übernimmt ab der ersten Stelle zehn Stellen. ------------------ Gruß Christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ArtKon Mitglied Dipl.-Ing. (FH) Maschinenbau
Beiträge: 33 Registriert: 09.05.2011 Creo6
|
erstellt am: 30. Jan. 2013 13:16 <-- editieren / zitieren --> Unities abgeben:
|
ArtKon Mitglied Dipl.-Ing. (FH) Maschinenbau
Beiträge: 33 Registriert: 09.05.2011 Creo6
|
erstellt am: 30. Jan. 2013 13:37 <-- editieren / zitieren --> Unities abgeben:
Hallo Christian, für die Zeichnungsnummer funktioniert das super, aber für den Index krieg ich das irgendwie nicht hin. Ich hab deine Formel folgendermaßen editiert: Index=extract(rel_model_name(),11,12) funzt aber nicht. ------------------ Viele Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
U_Suess Moderator CAD-Admin / manchmal Konstrukteur
Beiträge: 10560 Registriert: 14.11.2001 CREO 4 M120 (+Geniustool für Creo 6.0.2) PDMLink 11.0 M030 NTSI Contender E64 SC8 mit NVIDIA Quadro P4000 Intel Core i7-10700KF / 3,80 GHz 64GB DDR4-RAM / 2933 MHz Win 10 Prof. 64Bit (20H2)
|
erstellt am: 30. Jan. 2013 13:44 <-- editieren / zitieren --> Unities abgeben: Nur für ArtKon
|
Börga Mitglied Dipl.-Ing. Maschinenbau/Konstruktionstechnik
Beiträge: 629 Registriert: 09.07.2003 SolidWorks Premium 2014 x64 Edition SP2.0 SolidWorks Enterprise PDM Intel® Xeon® W3565 8 GB RAM NVIDEA Quadro 4000 Windows 7 Professional
|
erstellt am: 30. Jan. 2013 13:45 <-- editieren / zitieren --> Unities abgeben: Nur für ArtKon
Zitat: Original erstellt von ArtKon: ...Ich hab deine Formel folgendermaßen editiert: Index=extract(rel_model_name(),11,12) funzt aber nicht...
Die Funktion müsste dann wie folgt lauten: Index=extract(rel_model_name(),15,2) Das sind dann ab der 15. Stelle zwei Stellen. 1 V 2 V 3 V 4 V 5 - 6 Z 7 Z 8 Z 9 Z 10 Z 11 _ 12 I 13 n 14 d 15 X 16 X ------------------ Gruß Christian
[Diese Nachricht wurde von Börga am 30. Jan. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
U_Suess Moderator CAD-Admin / manchmal Konstrukteur
Beiträge: 10560 Registriert: 14.11.2001 CREO 4 M120 (+Geniustool für Creo 6.0.2) PDMLink 11.0 M030 NTSI Contender E64 SC8 mit NVIDIA Quadro P4000 Intel Core i7-10700KF / 3,80 GHz 64GB DDR4-RAM / 2933 MHz Win 10 Prof. 64Bit (20H2)
|
erstellt am: 30. Jan. 2013 13:50 <-- editieren / zitieren --> Unities abgeben: Nur für ArtKon
|
peterpan2002 Mitglied
Beiträge: 250 Registriert: 07.05.2004 Creo 2 M240
|
erstellt am: 30. Jan. 2013 13:52 <-- editieren / zitieren --> Unities abgeben: Nur für ArtKon
Es funktioniert nicht, weil das dritte Argument nicht die "Endposition" definiert sondern die Länge. Aus der Hilfe: extract(string, position, length) Ist param = abcdef, so gilt: new = extract(param,2,3)—new ist bcd Grüße Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
peterpan2002 Mitglied
Beiträge: 250 Registriert: 07.05.2004 Creo 2 M240
|
erstellt am: 30. Jan. 2013 13:54 <-- editieren / zitieren --> Unities abgeben: Nur für ArtKon
|
ArtKon Mitglied Dipl.-Ing. (FH) Maschinenbau
Beiträge: 33 Registriert: 09.05.2011 Creo6
|
erstellt am: 30. Jan. 2013 13:55 <-- editieren / zitieren --> Unities abgeben:
|
Baninab Mitglied
Beiträge: 11 Registriert: 10.02.2019 Creo 4.0 M090
|
erstellt am: 10. Feb. 2019 13:44 <-- editieren / zitieren --> Unities abgeben: Nur für ArtKon
Hallo Leute, ich hab so ein ähnliches Problem. Mein Dateiname besteht immer aus 10 Zahlen, einem Unterstrich und dann einer Buchstabenkombination den den Teil beschreibt. Die Buchstaben Anzahl ist dabei immer unterschiedlich. Nun würde ich gerne dazu Beziehungen erstellen die mir aus dem Dateinamen zwei Parameter ableiten. Folgendes Beispiel: Dateiname: 0312030010_Montageplatte Parameter1: Ref.Number=031.2.03.001.0 Parameter2: Denomination=Montageplatte Ich hab versucht das vorhergehende Beispiel auch hier umzusetzen. Denomination=extract(rel_model_name(),12,13) ... jedoch scheitere ich hierbei an der unterschiedlichen Zeichenzahl nach dem Unterstrich. Wie könnt ich das lösen? Bei Parameter1 schaff ich die integration der Punkte nicht. Benötigen würd ich das, um eine Tabelle auf der Zeichnung erstellen zu lassen u dann die Stücklisten Ballons anzeigen zu lassen. Kann mir hierbei ev. von euich wer unter die Arme greifen? Besten Dank vorab sG Baninab Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
grisu486 Mitglied Senior Technical Consultant MCAD
Beiträge: 574 Registriert: 14.11.2005
|
erstellt am: 10. Feb. 2019 21:14 <-- editieren / zitieren --> Unities abgeben: Nur für ArtKon
Viele Wege führen nach Rom. Wenn man es über Beziehungen lösen möchte, dann könnte man es so machen ... Code: /* Erfassung des Dateinamens DateiName=rel_model_name()/* Erfassen der Laenge des Dateinemes NameLaenge=string_length(Dateiname) /* Herausfinden, an welcher Stelle der Unterstrich liegt Position=search(DateiName, "_") /* Erfassen des Textes ab Unterstrich bis Ende Denomination=extract(DateiName, Position + 1, (NameLaenge - Position)) /* Zusammensetzen der einzelnen Teilstücke mit Punkten dazwischen /* Muss ueber zwei Zeilen geschrieben werden, weil es fuer eine Zeile zu lang ist Ref_Number=extract(DateiName, 1, 3) + "." + extract(DateiName, 4, 1) + "." + extract(DateiName, 5, 2) Ref_Number=Ref_Number + "." + extract(DateiName, 7, 3 ) + "." + extract(DateiName, 10,1)
Oder so ähnlich ... ------------------ Viele Grüße Uwe Mahner Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Baninab Mitglied
Beiträge: 11 Registriert: 10.02.2019 Creo 4.0 M090
|
erstellt am: 11. Feb. 2019 13:54 <-- editieren / zitieren --> Unities abgeben: Nur für ArtKon
|