Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Pro ENGINEER
  Zeichenkette in Zahl konvertieren

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
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


Sehen Sie sich das Profil von samberger an!   Senden Sie eine Private Message an samberger  Schreiben Sie einen Gästebucheintrag für samberger

Beiträge: 16
Registriert: 06.06.2003

erstellt am: 24. Nov. 2008 16:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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)


Sehen Sie sich das Profil von Nobody333 an!   Senden Sie eine Private Message an Nobody333  Schreiben Sie einen Gästebucheintrag für Nobody333

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für samberger 10 Unities + Antwort hilfreich

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.

Sehen Sie sich das Profil von katapulski an!   Senden Sie eine Private Message an katapulski  Schreiben Sie einen Gästebucheintrag für katapulski

Beiträge: 5
Registriert: 19.07.2007

erstellt am: 27. Nov. 2008 08:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für samberger 10 Unities + Antwort hilfreich


ProE_lernt_lesen.txt

 
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



Sehen Sie sich das Profil von Wyndorps an!   Senden Sie eine Private Message an Wyndorps  Schreiben Sie einen Gästebucheintrag für Wyndorps

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für samberger 10 Unities + Antwort hilfreich


Fam_TAB_Autom.zip

 
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


Sehen Sie sich das Profil von samberger an!   Senden Sie eine Private Message an samberger  Schreiben Sie einen Gästebucheintrag für samberger

Beiträge: 16
Registriert: 06.06.2003

erstellt am: 27. Nov. 2008 11:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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



Sehen Sie sich das Profil von Wyndorps an!   Senden Sie eine Private Message an Wyndorps  Schreiben Sie einen Gästebucheintrag für Wyndorps

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für samberger 10 Unities + Antwort hilfreich

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.

    Sehen Sie sich das Profil von katapulski an!   Senden Sie eine Private Message an katapulski  Schreiben Sie einen Gästebucheintrag für katapulski

    Beiträge: 5
    Registriert: 19.07.2007

    erstellt am: 27. Nov. 2008 11:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für samberger 10 Unities + Antwort hilfreich

    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


    Sehen Sie sich das Profil von flavus an!   Senden Sie eine Private Message an flavus  Schreiben Sie einen Gästebucheintrag für flavus

    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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für samberger 10 Unities + Antwort hilfreich

    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



    Sehen Sie sich das Profil von Wyndorps an!   Senden Sie eine Private Message an Wyndorps  Schreiben Sie einen Gästebucheintrag für Wyndorps

    Beiträge: 4586
    Registriert: 21.07.2005

    erstellt am: 27. Nov. 2008 12:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für samberger 10 Unities + Antwort hilfreich

    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 >>)

    Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

    nächster neuerer Beitrag | nächster älterer Beitrag
    Antwort erstellen


    Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

    Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

    Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

    (c)2024 CAD.de | Impressum | Datenschutz