Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Allgemein
  Parameterwert runden

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
Autor Thema:  Parameterwert runden (9537 mal gelesen)
John-117
Mitglied
Technischer Zeichner


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

Beiträge: 20
Registriert: 01.04.2010

CATIA V5 R19-R24

erstellt am: 09. Apr. 2010 08: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

Hallo,

wir haben eine automatische Stückliste erstellt (in Catia V5 R16) und sind mal wieder auf ein kleines Problem gestoßen:

In der Stückliste tauchen auch die Angaben Abmaße (Länge, Breite, Höhe) auf.
Diese werden über Parameter gesteuert.

Und zwar mache ich bei dem Teil eine Messung und sage dann, dass der entsprechende Parameter den gleichen Wert haben soll wie die Messung.
Und eben dieser Parameter steuert dann die Längen-, Breiten- oder Höhenangabe in meiner Stückliste.

Nur wenn ich ein Teil mit einer unebenen Kontur (bei einem Druckgusswerkzeug z.B. der Formeinsatz) habe, dann kann es sein, dass der Wert für die Höhe mehrere Stellen nach dem Komma hat.

z.B.: "10,3940239"

Jetzt wollte ich die Formel für den Parameter so umschreiben, dass dieser gemessene Wert auf 2 Stellen nach dem Komma gerundet wird.
Weil manchmal hat man da 12 Stellen nach dem Komma oder mehr und das sollte nicht unbedingt sein.
Nur weis ich leider nicht wie ich das runden kann... 

Ich hoffe ihr könnt mir da helfen.

mfg John

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

rough-tec
Mitglied
Konstrukteur


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

Beiträge: 387
Registriert: 19.04.2007

V5R16 SP5
V5R17 SP3
V5R19 SP3
NX5 *grr*
WIN XP Prof SP3
DELL - NVIDIA Quadro 4000
12GB RAM 64bit

erstellt am: 09. Apr. 2010 08:33    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 John-117 10 Unities + Antwort hilfreich

Hallo John

Bei mir sieht das zum Beispiel so aus:

"RealZahl" = round(MeasureBetween.1\Length ,"mm",0) *1000

------------------
Viele Grüsse aus dem Süden
Rough
________________________________________________
Zu Risiken und Nebenwirkungen.. fragen Sie Ihren Admin oder schalten Sie den Rechner aus.
XING

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

DMaier
Mitglied
Key-User CAD/PLM/ERP


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

Beiträge: 182
Registriert: 09.04.2008

Catia V5 R2015 SP5
Anbindung an SAP ECC 6.0 und PartSolutions 8.1.08
Win7

erstellt am: 09. Apr. 2010 08:52    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 John-117 10 Unities + Antwort hilfreich

Wobei bei 2 Nachkommastellen hier
round(MeasureBetween.1\Length ,"mm",2) *1000
stehen müsste 

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

AMG_C30
Mitglied
NC-Programmierer


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

Beiträge: 411
Registriert: 14.12.2003

erstellt am: 09. Apr. 2010 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 John-117 10 Unities + Antwort hilfreich


Messwert.JPG


Warnung.JPG

 
Hallo,

ich habe mal versucht das Runden nachzuvollziehen, mir gelingt es allerdings nicht auf zwei Nachkommastellen zu runden, außerdem gibt Catia eine Warnung aus mit der ich nicht viel anfangen kann.
Bitte um Aufklärung!

------------------
Gruß Uwe

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 09. Apr. 2010 10:18    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 John-117 10 Unities + Antwort hilfreich

Hallo Uwe,

eine Reale Zahl ist eine Gleitkommazahl OHNE Einheit. Deshalb musst du die Einheit nach dem Runden "wegkürzen". Um die zu bewerkstelligen brauchst du folgenden Code:

Code:
round(MeasureEdge.1\Length,"mm",2)*(1/1mm)

Hier die Erklärung:


  • round: Rundet eine Zahl in der angegebenen Einheit, auf die angegebenen Stellen
  • MeasureEdge.1\Length: Ist der Parameter der Messung die beibehalten wurde (das hier ist eine LÄNGE)
  • "mm": gibt die Einheit der Zahl an die gerundet werden soll (in dem Fall eine Länge)
  • 2: Anzahl der Nachkommastellen auf die gerundet wird
  • (1/1mm): Hier wird gekürzt da die realle Zahl eine Gleitkommazahl OHNE Einheit verlangt

Den letzten Punkt würdest du z.B. nicht brauchen wenn du erst einen Parameter des Typs Länge erzeigst und anschließend die Rundung durchführst.

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

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

John-117
Mitglied
Technischer Zeichner


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

Beiträge: 20
Registriert: 01.04.2010

CATIA V5 R19-R24

erstellt am: 09. Apr. 2010 11: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


Fehler-001.JPG

 
Hallo,

ich habe mal die Formel hier verwendet:

Code:
round(Messung zwischen.1\Länge,"mm",2)*(1/1mm)

Nur kam dabei folgende Feherlmeldung (siehe Bild im Anhang)
Der Parameter jedenfalls ist eine Reelle Zahl.

Weis jemand woran das liegen könnte???

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: 11849
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 09. Apr. 2010 11: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 John-117 10 Unities + Antwort hilfreich

Servus
Gibt es bei dir die Messung zwischen (entsprechend Anpassen)?
Wenn ja müsste das in ' stehen (Sonderzeichen) (zB 'Messung zwischen\Länge')

Gruß
Bernd

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

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

John-117
Mitglied
Technischer Zeichner


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

Beiträge: 20
Registriert: 01.04.2010

CATIA V5 R19-R24

erstellt am: 09. Apr. 2010 11:20    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

Ja doch das stand schon in Sonderzeichen, daran liegt es nicht.

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

John-117
Mitglied
Technischer Zeichner


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

Beiträge: 20
Registriert: 01.04.2010

CATIA V5 R19-R24

erstellt am: 09. Apr. 2010 12:00    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


Loesung.JPG

 
Ich habe eine Lösung gefunden!!!

(siehe Bild im Anhang)

Man muss es wie folgt schreiben:
Das "ToString" hatte noch gefehlt.

Code:
ToString(round('Messung zwischen.1'\Länge,"mm",2)*1000)

Dann lässt sich der Wert im Parameter auf 2 Stellen nach dem Komma runden. 

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 09. Apr. 2010 12: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 Nur für John-117 10 Unities + Antwort hilfreich

Hallo John,

also noch einmal. Wenn du einen Parameter hast dem du einen Wert zuweisen willst dann MUSS der Wert exakt dem Datentyp des Parameters entsprechen dem du den Wert zuweisen willst.

Du hast jetzt einen Parameter des Typs String (=Zeichenfolge) definiert. D.h. du musst den Wert von Real nach String konvertieren und das machst du mit "toString". Das ist aber nicht gut den mit einem String (=Textparameter) lässt sich nicht OHNE Konvertierung rechnen. Achte mal darauf das du einen neuen Parameter des Typs "real" (=Ganzzahl) erzeugst und dann nimm meine Formel her (die funktioniert :lol .

Mit diesem Parameter (des Typs real) kannst du dann auch OHNE Konvertierung rechnen.

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

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