Autor
|
Thema: Fehlermeldung beim ändern eines Punktes im Raum (954 mal gelesen)
|
cChris Mitglied Konstrukteur
Beiträge: 53 Registriert: 27.09.2010 CATIA V5 R19 Microsoft Windows XP; Professionalx64 Edition; Version 2003; SP 2; Intel Core2 Duo CPU E8600 3.33Ghz; 7.98Gb RAM CATScript
|
erstellt am: 29. Sep. 2010 16:08 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, folgendes Problem: Ich soll ein Programm schreiben, dass eine Fehlermeldung herausgibt wenn ein Punkt aus einem aktiven Programm geändert wird und nicht in einem 50mm Raster ist. Ist der Punkt in einem 50mm Raster läuft das Programm ohne eine Meldung weiter. 1. Muss das Makro anspringen wenn ein Punkt geändert wird, wird also kein Punkt geändert bleibt das Makro außen vor. 2. Wenn der Punkt geändert wird, muss dieser in einem Raster von 50mm sein, ansonsten kommt eine Fehlermeldung. Zur Vereinfachung, es handelt sich um eine Vorrichtung und die Spanner können nur in einem Abstand von 50mm montiert werden (Baukastensystem). Der Spanner ist über den Punkt definiert und ändert man die Position des Punktes, ändert sich, nach dem aktualisieren, die Position des ganzen Spanners. Schon mal vielen Dank im Voraus.
Mit freundlichen Grüßen, cChris
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tberger Mitglied Application Manager CATIA V5 / V6
Beiträge: 1385 Registriert: 13.01.2007 WIN 7 64bit V5R21SP3HF49 3DX/V6 R2016x
|
erstellt am: 30. Sep. 2010 06:53 <-- editieren / zitieren --> Unities abgeben: Nur für cChris
Hallo cChris, ic habe eine ganze Zeit mit der Erstellung von Templates für Prüflehren und Schweissbaugruppen verbracht. Dabei wurden auch verschiedene Spanner eingesetzt, die auf Lochplatten gesetzt werden mussten. Ich habe dazu in einem Skelettpart die Punkte der Spanner definiert und diese über Reactions gesteuert (auf Raster gesetzt). Eine Reaction braucht ein auslösendes Ereignis. Du kannst darin z.B. die x und y-Koordinaten der Punkte als auslösendes Ereignis setzen. In der Reaction dann die Koordinaten mit Round() - Funktionen auf 50er Schritte setzen und ggf. noch MEssages absetzen. So brauchte ich kein externes Programm, das im Hintergrund von V5 laufen musste, die "Intelligenz" wird dem Part (Skelett) mitgegeben und egal wo es verabut ist weiss es, dass es nur im Raster Koordinaten zulässt. ------------------ Grüße aus dem Thurgau Thomas +++++++++++++++++++++++++++++++++ CATIA - eine Laune der Natur ... www.tobeplus.de tberger@tobeplus.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cChris Mitglied Konstrukteur
Beiträge: 53 Registriert: 27.09.2010 CATIA V5 R19 Microsoft Windows XP; Professionalx64 Edition; Version 2003; SP 2; Intel Core2 Duo CPU E8600 3.33Ghz; 7.98Gb RAM CATScript
|
erstellt am: 30. Sep. 2010 14:34 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, erst mal herzlichen Dank für die schnelle Antwort. Ich weiß nicht ob dein Lösungsweg mein Problem behebt. Das Problem ist, dass das Product schon existiert und nicht neu Aufgebaut wird. Zur Zeit ist es so, dass der Nutzer die Koordinaten nach belieben ändern kann. Das Macro soll den Nutzer aber soweit einschränken, dass dies nicht mehr möglich ist und nur noch Koordinaten im 50mm Raster eingeben kann. Im Moment reicht es mir völlig aus, wenn eine Fehlermeldung den Nutzer darauf hinweist, dass die soeben eingegeben Daten nicht im 50mm Raster sind und im optimal Fall die Koordinaten auf ein 50mm Raster ändert. ------------------------------------------ Mit freundlichen Grüßen, cChris
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tberger Mitglied Application Manager CATIA V5 / V6
Beiträge: 1385 Registriert: 13.01.2007 WIN 7 64bit V5R21SP3HF49 3DX/V6 R2016x
|
erstellt am: 30. Sep. 2010 14:49 <-- editieren / zitieren --> Unities abgeben: Nur für cChris
Hallo Chris, auch das geht mit einer Reaction bzw. mit einem Check (ebenfalls aus der KWA Workbench. es ist egal, ob das Product schon aufgebaut ist oder nicht. Du müsstest lediglich eine neue Version davon erstellen (also einmal öffnen, bearbeiten, sichern im Skelett-Teil bzw. da wo du die Koordinateneingaben zulässt) - du fügst ja eine Reaction bzw. Check hinzu (sofern es deine Lizenzem erlauben - du brauchst eine KWA-Lizenz). Mit einer Reaction könntest du die Eingabewerte der Koordinaten auch korrigieren (eben in den 50er Schritten), beim Check würde die Meldung losschiessen wenn die 50er Schritte (die im Check mit round(.../50)*50 geprüft werden) verletzt sind. Ein Makro ständig im Hintergrund laufen zu lassen finde ich eine schlechte Idee.
------------------ Grüße aus dem Thurgau Thomas +++++++++++++++++++++++++++++++++ CATIA - eine Laune der Natur ... www.tobeplus.de tberger@tobeplus.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cChris Mitglied Konstrukteur
Beiträge: 53 Registriert: 27.09.2010 CATIA V5 R19 Microsoft Windows XP; Professionalx64 Edition; Version 2003; SP 2; Intel Core2 Duo CPU E8600 3.33Ghz; 7.98Gb RAM CATScript
|
erstellt am: 30. Sep. 2010 16:39 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, danke für den Lösungsweg. Allerdings muss man dazu ins KWA wechseln bzw. braucht die KWA-Lizenz und das macht das ganze umständlich. Gibt es für mein Problem auch einen Lösungsweg, wo man im Part Design oder in der Product Structure bleiben kann und dort prüft ob die eingegebenen Koordinaten im 50mm Raster sind? ------------------------------------------ Mit freundlichen Grüßen,
cChris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
roccat Mitglied Konstrukteur
Beiträge: 172 Registriert: 19.02.2010 WinXP/Win7 Office XP/2007 Catia V5 R16-R19, VB6.0, VBA, BASCOM-AVR VB .Net 2010
|
erstellt am: 30. Sep. 2010 19:13 <-- editieren / zitieren --> Unities abgeben: Nur für cChris
Hallo Thomas, muß es unbedingt ein Makro sein? Du kannst bei den Parametern die deine Punkte steuern auch die Eigenschaft "Step" auf 50 setzen und bei Bedarf auch eine "Range" definieren. mfG Mario
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
zoltan.bekesi Mitglied
Beiträge: 321 Registriert: 22.10.2006 Job: CATIA V5R19 / XP 32bit MS Office 2003 Microstation V8 2004 Edition DELL Precision M6300
|
erstellt am: 30. Sep. 2010 21:34 <-- editieren / zitieren --> Unities abgeben: Nur für cChris
Hallo cChris, mit einen Makro wird dein Vorhaben leider nicht funktionieren können, da CATIA für Makros (VBA, VBScript, CATScript) den Ereignis "Modell geändert" nicht weitergibt. Den Ereignis die du hier verwenden möchtest steht dir als Auslösen nur in den schon genannten Fällen von Check/Reaction zur Verfügung. Was du höchstenst machen kannst ist, dass der Benutzer auf einen Knopf drücken muss und somit die Kontrolle veranlasst. Gruß, Zoltan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tberger Mitglied Application Manager CATIA V5 / V6
Beiträge: 1385 Registriert: 13.01.2007 WIN 7 64bit V5R21SP3HF49 3DX/V6 R2016x
|
erstellt am: 01. Okt. 2010 06:06 <-- editieren / zitieren --> Unities abgeben: Nur für cChris
Hallo cChris, nochmal: Du (!) würdest einmal (!) in deinem Skelett diese Regel / den Check definieren und wie oben beschrieben braucht man dafür die KWA oder PKT-Lizenz. Dann ist deine Vorlage / deine Baugruppe, die der User benützt entsprechend vorbereitet. Wenn du eine entsprechende Lizenz hast kann ich dir nur zu diesem Weg raten. Du baust damit eine gewisse Sicherheit ein und leitest den Designer in die gewünschte Richtung. Der User muss nicht (!) in eine andere Workbench wechseln. Er wird da wo die Koordinaten zugänglich sind (im Punkt selbst, in einem damit verknüpften Parameter der in einem Part oder in der Baugruppe liegt) die Änderung der Koordinaten durchführen. Für ihn ändert sich von der Handhabung erst mal nichts. Wenn er aber deine Prüfkriterien verletzt wird er entweder eine Nachricht bekommen, dass er in 50er Schritten Eingaben tätigen soll oder die Eingabe wird sogar auf oder abgerundet. Das habe ich drei Jahre lang bei Ford gemacht und diese Templates laufen immer noch, mehr kann ich dazu nicht sagen. Das was roccat schreibt (aber er meint dich und nicht mich) ist auch möglich, war bei meinen Templates aber nicht praktikabel. Beim Einfügen aus einem ProductKnowledgeTemplate (PKT) in eine Baugruppe hatte zur Folge, dass bei Parametern die Ranges und Steps verloren gingen (Stand R18SP4). Vielleicht ist es schon behoben, kann ich nicht sagen. Wenn du aber nur deine bestehende Baugruppe in deinem Skelettpart öffnest und die Parameter damit bearbeitest, sodass der User gar keine anderen als die gewünschten Werte angeben kann, ist das vielleicht dein praktikabler Weg. ------------------ Grüße aus dem Thurgau Thomas +++++++++++++++++++++++++++++++++ CATIA - eine Laune der Natur ... www.tobeplus.de tberger@tobeplus.de [Diese Nachricht wurde von tberger am 01. Okt. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |