Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  CATIA V5 Programmierung
  Einlesen von Parametern

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 CATIA & Co.
  
Schnell, effizient und günstig: Mit der Kisters 3DViewStation 3D Arbeits- und Reparaturanleitungen einfach erstellen und pflegen, eine Pressemitteilung
Autor Thema:  Einlesen von Parametern (1023 mal gelesen)
Ske
Mitglied


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

Beiträge: 4
Registriert: 07.02.2008

erstellt am: 19. Aug. 2008 19: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

Hallo Leute,

ich sitze jetzt schon etwas länger vor einem Problem, das ich nicht in den Griff bekomme! Ich hoffe, dass mir hier einer weiterhelfen kann!

Das Problem gestaltet sich wie folgt:

Ich habe ein CAD-Modell mit einer menge Parametern. Um diese einfach und Übersichtlich ändern zu können, habe ich eine Userform gebastelt.
Man Startet also für Parameteränderungen das Makro. Das Makro lädt die aktuellen Werte der Parameter in die Userform. Wenn Werte nicht geändert werden, wird bei Parametern mit Dezimalzahlen die Komma stelle nicht mehr erkannt.
Das komische an der Sache ist, dass bei der Ersteingabe, bei der die Parameter noch keinen Wert zugewiesen haben, die Dezimalzahlen erkannt werden. Das Problem tritt erst auf, nachdem man Änderungen vorgenommen hat.

hier mal eine Auszug aus meinem Quelltext: Es wird der Parameter Wert aus der Userform ausgelesen und in den Parameter im Strukturbaum geschrieben.

_________________________________________________________
Dim length1 As Length
Set length1 = parameters1.Item(Dok_Name & "\Input_Parameter\#Input_Fugenbreite")
length1.Value = Startfenster.CB_Fugenbreite.Value
'###### kotfluegel ##
Dim Length45 As Length
Set Length45 = parameters1.Item(Dok_Name & "\Input_Parameter\#Input_Blechstaerke_Kotfluegel")
Length45.Value = Startfenster.CB_Blechstaerke_Kotfluegel.Value
Dim length2 As Length
Set length2 = parameters1.Item(Dok_Name & "\Input_Parameter\#Input_Blechstaerke_Kotfluegel_Innenblech")
length2.Value = Startfenster.CB_Blechstaerke_Kotluegel_Innenblech.Value
Dim length3 As Length
Set length3 = parameters1.Item(Dok_Name & "\Input_Parameter\#Input_Klebespalt_Kotfluegel_Boerdel")
length3.Value = Startfenster.CB_Kotfluegel_Klebespalt.Value
___________________________________________________________________
wenn jemand eine Lösung hat wäre mir das eine sehr große Hilfe!

Vielen Dank im Voraus 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 12054
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 19. Aug. 2008 19:47    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 Ske 10 Unities + Antwort hilfreich

Servus
Welchen Variablentyp haben die Variablen (zB Startfenster.CB_Fugenbreite.Value) im Userform?
Vielleicht würde es helfe beim schreiben der Parameter die Routine "ValuateFromString" zu verwenden (siehe Doku)

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Ske
Mitglied


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

Beiträge: 4
Registriert: 07.02.2008

erstellt am: 20. Aug. 2008 00:46    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 Bernd,

danke für deinen Tip, allerdings muss ich gestehen, das ich nich ganz schlau daraus werde. Die Variablen(z.B.Startfenster.CB_Fugenbreite.Value) sind bei Startfenster= der Name der Userform und CB_Fugenbreite= der Name der Textbox.
Der in der unter der "F1" beschriebenen Verwendung kann ich nicht wirklich entnehmen wie diese Routine anzuwenden ist. Aber der gedanke, dass es an der Textbox liegen könnte ist vielleicht gar nicht so falsch, nur frage ich mich dann wieso es bei der Ersteingaben funktioniert?

Gruß,
Sönke
   

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 12054
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 20. Aug. 2008 08: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 Nur für Ske 10 Unities + Antwort hilfreich

Servus
Warum es einmal funktioniert und danach nicht, keine Ahnung.
Die Variable der Textbox sollte ein String sein, deshalb sollte dieser "Wert" in einen richtige Zahl (zB double) konvertiert werden. (über den "normalen" VB-Befehl)
Ich vermute das der befehl "ValuateFromString" so lauten sollte:
length1.Value = ValuateFromString(Startfenster.CB_Fugenbreite.Value)

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Ske
Mitglied


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

Beiträge: 4
Registriert: 07.02.2008

erstellt am: 20. Aug. 2008 16: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

Hallo Bernd,

habe jetzt ziemlich lange rumprobiert und bin leider immer noch nicht zu einem Ergebnis gekommen. length1.Value = ValuateFromString(Startfenster.CB_Fugenbreite.Value) funktioniert leider so auch nicht aber es liegt eindeutig daran, dass die zahl nicht als zahl erkannt wird. ich habe inzwischen heraus gefunden, dass die Parameterwerte nicht beispielsweise mit dem Wert "4,5" eingelesen werden, sondern mit "4.5". In diesem Fall ist der Punkt anscheinend das Problem. Wenn ich den Punkt in ein Komma ändere hat sich das Problem erledigt. Allerdings sind es wirklich viele Parameter und ich habe keine lust im Quelltext jeden Parameterwert mit einer "Punktsuche" zu belegen, die mir den Punkt gegen ein Komma austauscht. Oder gibt es da eine einfachere Methode wie ich die "Zahlen" wieder in Zahlen konvertiert bekomme? das mit Double habe ich auch schon probiert, hat aber ebenfalls nicht funktioniert.....! aber evtl. habe ich das auch an der Falschen stelle versucht.

Gruß,
Sönke

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 12054
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 20. Aug. 2008 17:13    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 Ske 10 Unities + Antwort hilfreich

Servus
Mit "CDbl" kannst du einen String inein Double konvertieren.
Mit "Replace" könntest du das Komma durch einen PPunkt ersetzen. Zum Beispiel:
Code:
length1.Value = CDbl ( Replace(Startfenster.CB_Fugenbreite.Value,".", ",") )

Alternativ könntest du ja eine Funktion erstellen die die Typkonvertierung und das Replace ausführt (somit nur einmal zu schreiben)

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Ske
Mitglied


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

Beiträge: 4
Registriert: 07.02.2008

erstellt am: 20. Aug. 2008 18:35    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

jo, jetzt hat es geklaptt!!! vielen vielen DANK!!!!!!       

Gruß,
Sönke

[Diese Nachricht wurde von Ske am 20. Aug. 2008 editiert.]

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)2025 CAD.de | Impressum | Datenschutz