| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO | | |  | BOM Assistant für Stücklistenerstellung , eine App
|
Autor
|
Thema: Zeichenkette in Zahl konvertieren (3143 mal gelesen)
|
samberger Mitglied Konstrukteur / Techniker

 Beiträge: 16 Registriert: 06.06.2003
|
erstellt am: 24. Nov. 2008 16:44 <-- editieren / zitieren --> Unities abgeben:         
Hallo ProE - Gemeinde, ich würde für eine Beziehung folgendes benötigen: aus einem String, Parameter : ZN = "04S" die ersten beiden Zeichen extrahieren ; extract(ZN, 1, 2) => ergibt "04", funktioniert ja noch. Doch wie kann ich diesen String wieder in eine Zahl umwandeln? Wir benötigen diesen Wert als Zahl zum Berechnen eines neuen Parameters!? Im Grunde benötigen wir das Gegenteil von itos! Wer kann mir hier jemand weiterhelfen ? Danke im voraus ! PS : Als Neueinsteiger in Pro - E WF 3.0 noch folgende Frage : Gibt es irgendwo im Netz oder Buchhandel gesammelte, umfangreichere Unterlagen zu Beziehungen und Paramtern als die in der Hilfe von ProE - > doch etwas kryptisch / dürftig ?(welche Parameter es gibt, wie Beziehungen / Funktionen angewendet werden, deren Syntax ..etc.) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Nobody333 Mitglied Dipl. Ing. (FH) (Konstruktion)
  
 Beiträge: 593 Registriert: 06.07.2007 HP Workstation Z400 Intel Xeon W3565 4x3,20GHz 12GB RAM Nvidia Quadro FX1800 Windows 7 x64 Prof. SP1 Creo Parametric 2 (M100) FoundationAdv bzw. Flex3C Startup Tools 2013 MathCad Prime 3
|
erstellt am: 25. Nov. 2008 07:15 <-- editieren / zitieren --> Unities abgeben:          Nur für samberger
Guten Morgen, hier gibt es eine englischsprachige Einführung in die Beziehungen. Es ist dort auch eine (eventuell unvollständige) Auflistung der Funktionen vorhanden. Das was du benötigst, habe ich allerdings nicht gefunden. Zum Nachschlagen des Syntax der Funktionen ist die Seite aber allemal geeignet. ------------------ Gruß Marco Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
katapulski Mitglied Dipl. Ing.
 Beiträge: 5 Registriert: 19.07.2007
|
erstellt am: 27. Nov. 2008 08:26 <-- editieren / zitieren --> Unities abgeben:          Nur für samberger
Moin moin, ... schon sehr unangenehm, wenn man ein Kettenrad fertigen lässt, das nach Dateiname 58Zähne haben müsste und dann hat's nur 57 weil irgend so'n Depp die Zahlen in der Familientabelle nicht verglichen hat und man kein Bock zum Nachzählen hatte. JAja, ich kenne das Problem und wäre an einer guten Lösung auch sehr interessiert. Eine schlechte, weil aufwendige Lösung könnte ich bieten, um ProE das Lesen zu lehren: (Vollversion für zwei digit's siehe Beilage) A_1=extract(rel_model_name(),1,1) A_2=extract(rel_model_name(),2,1) if A_1=="1" B_1=1 else if A_1=="2" B_1=2 else . . endif endif endif C=B_1*10+B_2 (mit copy/paste und Ersetzung in einem Texteditor gar nicht so langwierig, wie man denkt  Falls es nix gescheites gibt, wäre ich auch dankbar für eine Anleitung, wie man eine For i=1 to string_length(rel_model_name())- Schleife in die Beziehungen kriegt, damit das Ganze nicht zu lang wird. bis dann Pro/Sit Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Wyndorps Ehrenmitglied V.I.P. h.c. Ingenieur

 Beiträge: 4586 Registriert: 21.07.2005 Creo 10 Genius Tools 10.0 Windchill 12.0.2.0
|
erstellt am: 27. Nov. 2008 09:34 <-- editieren / zitieren --> Unities abgeben:          Nur für samberger
Warum macht man so etwas? In einem parametrischen CAD-System sind doch die numerischen Daten die Modellbasis. Also ist es durchaus sinnvoll, Textinformationen bzw. Variantennamen aus numerischen Daten zu ermitteln, aber umgekehrt? Gerade das Bsp. mit den Kettenrädern würde ich völlig anders angehen: 1) Modellieren, Parameter und Beziehungen definieren wie bisher 2) FamTab mit steuernden Parametern definieren (hier zz für Zähnezahl, pp für Teilung) 3) FamTab mit EXCEL bearbeiten 4) zus. Spalte nach rechts ergänzen mit ="XXXX_"&B6"_x_"&C6" B6 und C6 sind die Verweise auf die jeweiligen Variantenparameter für pp und zz 5) Ziehen der Zelle für alle Varianten 6) Markieren aller so ermittelten Variantennamen -> Kopieren 7) Markieren des gleichgroßen Bereiches in der ersten Spalte (INSTNAME) 8) Inhalte einfügen -> Werte (Wichtig, da Pro/E mit den berechneten Zellen nichts anfangen kann und diese einfach rausschmeißt) 9) EXCEL-Blatt speichern und schließen Das liest sich jetzt erheblich komplizierter als es in Wirklichkeit ist. Aber auf diese Art ist absolut sichergestellt, dass der Variantenname sich aus den generierenden Parametern ableitet und keine Tippfehler auftreten (außer bei allen Varianten gleichermaßen, aber das fällt dann doch meist sofort auf). Schade ist nur, dass Pro/E die berechneten Zellen nicht mit übernimmt, sondern einfach löscht, aber das ist wohl Pro/Philosophie: Bloß keine MS-Office-Anbindung. Das ist hier aber auch nicht wirklich ein Pro/blem, da man FamTabs normalerweise nicht ständig ändert.
------------------ ---------------- "Ich stimme mit der Mathematik nicht überein. Ich meine, daß die Summe von Nullen eine gefährliche Zahl ist." (Stanislaw Jerzy Lec) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
samberger Mitglied Konstrukteur / Techniker

 Beiträge: 16 Registriert: 06.06.2003
|
erstellt am: 27. Nov. 2008 11:01 <-- editieren / zitieren --> Unities abgeben:         
Herzlichen Dank für Eure Beiträge, einen ähnlichen Ansatz wie katapulski habe ich dann auch verfolgt und eingebaut. Zur Frage warum man so etwas braucht : im konkreten Fall sind es Schablonen, die im ersten Fall 04ST1xx, 06ST1xx usw. heißen, das selbe Teil jedoch auch für den Fall 56NT1xx, 54NT1xx verwendet werden kann/soll. Wir vermerken dies einfach mit einer Notiz auf dem Teil 04ST1x. Die Beziehung, die den Parameter "04S" ausliest, wie oben beschrieben, in eine Zahl umwandelt, von 60 abzieht und wieder als String für das selbe/andere Teil mit der Endung "N" zur Verfügung stellt - in diesem Fall "56NT1xx". Wenn Parameter zur Verfügung stehen, jetzt mal unabhängig davon ob diese nummerisch oder als String vorliegen, möchte ich diese auch unabhängig von ihrer Art, vollständig oder als Teil(-string) verwenden können. (Bin das so von Autocad / Autolisp gewohnt ) ------------------ [Diese Nachricht wurde von samberger am 27. Nov. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Wyndorps Ehrenmitglied V.I.P. h.c. Ingenieur

 Beiträge: 4586 Registriert: 21.07.2005 Creo 10 Genius Tools 10.0 Windchill 12.0.2.0
|
erstellt am: 27. Nov. 2008 11:27 <-- editieren / zitieren --> Unities abgeben:          Nur für samberger
Also verstanden habe ich die Notwendigkeit dieser Vorgehensweise immer noch nicht. Warum definiert man einen Textparameter, der über eine Kombination von 2 Ziffern + 2 Textzeichen + ... ein Modell steuern soll? Mein Ansatz wäre genau anders herum: a) ein numerischer Parameter (NN) steuert die numerische Größe (if NN==4 ...) b) und ein Textparameter (TT) steuert bzw. definiert das, was damit verbunden ist (if tt=="NT" ...). c) die Notizausgabe setzt sich aus den beiden steuernden Parametern zusammen (&NN &TT) Das Ganze lässt sich in beliebiger Nutzertechnik fehlerfrei anwenden:
Abfrage der Parameter im Inputbereich von Pro/program Eingabe der Parameter über Parametermanager Anwendung über UDF mit Abfrage (dann besser als symbolisierte Maßzahlen) Anwendung zur Variantensteuerung über FamTab (siehe vorherigen Beitrag) ...Die Andersherumvariante des Herauslösens von numerischen Parametern aus einer Textvariable birgt meiner Ansicht nach erheblich mehr Gefahren und Einschränkungen. Einen Vorteil kann ich dagegen noch nicht erkennen. ------------------ ---------------- "Ich stimme mit der Mathematik nicht überein. Ich meine, daß die Summe von Nullen eine gefährliche Zahl ist." (Stanislaw Jerzy Lec) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
katapulski Mitglied Dipl. Ing.
 Beiträge: 5 Registriert: 19.07.2007
|
erstellt am: 27. Nov. 2008 11:43 <-- editieren / zitieren --> Unities abgeben:          Nur für samberger
Lieber Wyndorps, mit Deinem Beispiel lassen sich neue Varianten kreieren, die solange taugen, bis jemand die Werte in den steuernden Spalten ändert - mutwillig oder versehentlich. Wer sollte das machen? - frag meine Vorgänger, die haben das tausendfach getan und die Teile sind in den Maschinen wer weis wo verbaut ; Intralink Fehlanzeige. (ich schätze die haben einfach die eingebauten Varianten geändert um den Stress mit dem Umbenennen zu umgehen) Generell ist ein Dateiname, der Informationen zum Inhalt der Datei enthält nur solange sinnvoll, wie der Inhalt dem Teil entspricht. Bei deinem Beispiel ist diese Information (wie auch bei jeder Normschraube o.ä.) doppelt und unabhängig voneinander vorhanden. Wird der Dateiname aber zur Steuerung des Teil verwendet, so ist sie nur einmal vorhanden und die Möglichkeit Fehler zu produzieren ist geringer. Deshalb ist das besser. mfG, Katapulski Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
flavus Mitglied Techniker+Familienerhalter
   
 Beiträge: 1378 Registriert: 09.04.2005 ATI 3450 Win7/64 Creo2.0 produktiv Windchill 10.0 nimmermehr :-(
|
erstellt am: 27. Nov. 2008 11:57 <-- editieren / zitieren --> Unities abgeben:          Nur für samberger
Es geht ja auch nicht um den Vorteil, sondern (leider wieder einmal) um eine vorgeprägte Arbeitsweise (bin das so von ... gewohnt). Und möglicherweise existieren schon zu viele Modelle mit dieser Namenskonvention und Vorgehensweise. Dies nachträglich umzustellen und zu implementieren wäre wohl auch für spekan-batch etwas zu viel und daher immer noch mit enormer Handarbeit verbunden (--> Praktikant??) Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Wyndorps Ehrenmitglied V.I.P. h.c. Ingenieur

 Beiträge: 4586 Registriert: 21.07.2005
|
erstellt am: 27. Nov. 2008 12:15 <-- editieren / zitieren --> Unities abgeben:          Nur für samberger
Ich fange langsam an zu verstehen: Ihr steuert also die Modelldefinition über den Dateinamen! Aus Kettenrad 14x3.prt mit Teilung 3mm und 14 Zähnen wird durch Kopieren auf 21x5.prt ein neues Modell mit 21 Zähnen und Teilung 5mm, ohne Eingriff (Öffnen) in das Modell? Zugegeben, das hat etwas, funktioniert aber nur in äußerst eng begrenzten Aufgabenbereichen. Wenn jemand mit Zugriff auf die Dateinamen ein Modell 102x8.prt kreiert, ergibt sich ein Modell mit 10 Zähnen und Teilung 2mm. Auch hier hätte ich selbst ohne Intralink den von mir beschriebenen Weg über Familientabellen gewählt und das generische Modell im Bibliotheksverzeichnis (ohne normale Schreibrechte durch den Nutzer!) abgelegt. Neue Varianten müssen dann gewollt und geprüft (mit temmporärer Freigabe) angelegt werden. Ansonsten kann der Geometriewechsel nur durch Ersetzen durch andere Varianten erfolgen. Da stimmt dann auch wieder die Bezeichnung. Ich weiß aber selber, dass in vielen KMU ein Konstrukteur die Administration "en passent" ohne Schulung, Freiräume und Weisungsbefugnis gegenüber den "lieben" Kollegen machen muss, was dann schnell zu solchen (in meinen Augen katastrophalen) Zuständen führt, wie bei Ihnen tausendfach passiert. Also dann: Viel Erfolg. ------------------ ---------------- "Ich stimme mit der Mathematik nicht überein. Ich meine, daß die Summe von Nullen eine gefährliche Zahl ist." (Stanislaw Jerzy Lec) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |