| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. |
| |
| KISTERS 3DViewStation: Mehr CAD Lizenzen durch 3D-Viewer ersetzen und Geld sparen, eine Pressemitteilung
|
Autor
|
Thema: Bemassungen im Sketcher auf Reference setzen? (3289 mal gelesen)
|
laepper Mitglied Konstrukteuer
Beiträge: 11 Registriert: 17.08.2011
|
erstellt am: 25. Aug. 2011 09:16 <-- editieren / zitieren --> Unities abgeben:
Hallo CAD-Gemeinde, habe ich die Möglichkeit im Sketcher z.B. 10 Bemaßungen die ich zuvor erstellt habe, mit einem Mal auf Reference zu setzen, für den Fall das ich später etwas zurückändern möchte? Danke schon mal im voraus 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: 25. Aug. 2011 10:05 <-- editieren / zitieren --> Unities abgeben: Nur für laepper
Hallo laepper, eine CATIA-Funktion "out of the box" kenne ich so nicht. Mit einem kleinen Makro könnte man aber das erreichen (Vorraussetzung vor dem Start: Sketch ist aktiv und darin die Bedingungen, die es zu ändern gilt, sind vorselektiert): Sub CATMain() Dim productDocument1 As ProductDocument Set productDocument1 = CATIA.ActiveDocument Dim selection1 As Selection Set selection1 = productDocument1.Selection Dim MyConstraint1 As Constraint
For I = 1 To selection1.Count
Set MyConstraint1 = selection1.Item(I).Value MyConstraint1.Mode = catCstModeDrivenDimension Next End Sub Änderst du das Makro in der drittletzten Zeile auf
MyConstraint1.Mode =catCstModeDrivingDimension ab, werden dieses Masse wieder steuernd. Du könntest den Code als CATScript sichern und dann per Doppelklick aus dem Explorer starten. In der Anlage das Script "als Referenz" dazu.
------------------ Grüße aus dem Thurgau Thomas +++++++++++++++++++++++++++++++++ CATIA - eine Laune der Natur ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mörchen Ehrenmitglied V.I.P. h.c. CAD-Trainerin (CATIA V5)
Beiträge: 3830 Registriert: 14.03.2007 Release 19 SP2
|
erstellt am: 25. Aug. 2011 10:17 <-- editieren / zitieren --> Unities abgeben: Nur für laepper
Hallo laepper, ob man Referenzmaße aufeinmal machen kann, weiß ich nicht, aber Du kannst sie alle markieren und aufeinmal im Kontextmenü inaktivieren. Das hätte fast den gleichen Effekt: sie zählen nicht mit, sind aber noch da. Allerdings verändern sie ihre Werte nicht. ------------------ Gruß Mörchen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
laepper Mitglied Konstrukteuer
Beiträge: 11 Registriert: 17.08.2011
|
erstellt am: 25. Aug. 2011 10:22 <-- editieren / zitieren --> Unities abgeben:
Ich glaube die erste Lösung ist ein bisschen kompliziert, da man immer hin und her schalten muss. Die Lösung von Möhrchen finde ich etwas besser, da ich sogar noch sehen kann wie die Maße einmal gewesen sind. 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: 25. Aug. 2011 10:28 <-- editieren / zitieren --> Unities abgeben: Nur für laepper
Hallo laepper, ja, wenn dir Inaktivieren/Aktivieren dasselbe bringt ist es OK so. Nur inaktivierte Masse stehen auch im Wert still, wenn sich die Geometrie verschiebt. (EDIT: Sehe gerade das Mörchen das auch schon geschrieben hat) Referenz-Masse dagegen zeigen dir den aktuellen Wert wieder an nach der Verschiebung der Geometrie. Grundsätzlich könnte man jedes CATScript auch als Icon in eine Toolbar aktivierbar machen. Dann wäre es nur noch ein Mausklick wie auf jedes andere Kommando in V5 und wieder "einfacher" ;-) ------------------ Grüße aus dem Thurgau Thomas +++++++++++++++++++++++++++++++++ CATIA - eine Laune der Natur ... [Diese Nachricht wurde von tberger am 25. Aug. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
moppesle Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 3425 Registriert: 28.05.2009 CATIA V5 R19 SP9 WIN 7 64bit
|
erstellt am: 25. Aug. 2011 13:45 <-- editieren / zitieren --> Unities abgeben: Nur für laepper
|
tberger Mitglied Application Manager CATIA V5 / V6
Beiträge: 1385 Registriert: 13.01.2007
|
erstellt am: 25. Aug. 2011 15:33 <-- editieren / zitieren --> Unities abgeben: Nur für laepper
Ja, klar geht das. Z.B. im oberen Makro lautet es dann: Sub CATMain() Dim productDocument1 As ProductDocument Set productDocument1 = CATIA.ActiveDocument Dim selection1 As Selection Set selection1 = productDocument1.Selection Dim MyConstraint1 As Constraint For I = 1 To selection1.Count
Set MyConstraint1 = selection1.Item(I).Value If MyConstraint.Mode = catCstModeDrivenDimension Then MyConstraint1.Mode = catCstModeDrivingDimension End If Next End Sub Wenn du generell alle Bedingungen aller Skizze so prüfen willst, dass könnte man das über eine Suche in der Skizze ablaufen lassen und die Selektion vom Makro damit füllen lassen:
selection1.Search "CATSketchSearch.MfConstraint,all" Diese Zeile müsste dann vor der For I = ... - Anweisung eingefügt werden um alle Skizzen zu prüfen bzw. selection1.Search "CATSketchSearch.MfConstraint,in" um im selben Sketch zu bleiben und sich mit der Suche darauf zu beschränken. ------------------ Grüße aus dem Thurgau Thomas +++++++++++++++++++++++++++++++++ CATIA - eine Laune der Natur ...
[Diese Nachricht wurde von tberger am 25. Aug. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
moppesle Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 3425 Registriert: 28.05.2009 CATIA V5 R19 SP9 WIN 7 64bit
|
erstellt am: 26. Aug. 2011 08:00 <-- editieren / zitieren --> Unities abgeben: Nur für laepper
|
tberger Mitglied Application Manager CATIA V5 / V6
Beiträge: 1385 Registriert: 13.01.2007
|
erstellt am: 26. Aug. 2011 08:08 <-- editieren / zitieren --> Unities abgeben: Nur für laepper
Da fehlte nur eine "1" direkt nach MyConstraint - Tippfehler meinerseits ... EDIT: so - jetzt der Code nochmal: Sub CATMain() Dim productDocument1 As ProductDocument Set productDocument1 = CATIA.ActiveDocument Dim selection1 As Selection Set selection1 = productDocument1.Selection Dim MyConstraint1 As Constraint For I = 1 To selection1.Count
Set MyConstraint1 = selection1.Item(I).Value If MyConstraint1.Mode = catCstModeDrivenDimension Then MyConstraint1.Mode = catCstModeDrivingDimension End If Next End Sub ------------------ Grüße aus dem Thurgau Thomas +++++++++++++++++++++++++++++++++ CATIA - eine Laune der Natur ... [Diese Nachricht wurde von tberger am 26. Aug. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
moppesle Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 3425 Registriert: 28.05.2009 CATIA V5 R19 SP9 WIN 7 64bit
|
erstellt am: 26. Aug. 2011 08:24 <-- editieren / zitieren --> Unities abgeben: Nur für laepper
Hallo Thomas, Makro funzt jetzt, aber nur beim umstellen von Normalbemnaßung auf Referenzbemaßung. Umgekehrt funzt es nicht. kann ich da nicht noch eine if-Schleife anhängen? etwa so: If MyConstraint1.Mode = catCstModeDrivenDimension Then MyConstraint1.Mode = catCstModeDrivingDimension End If If MyConstraint1.Mode = catCstModeDrivingDimension Then MyConstraint1.Mode = catCstModeDrivenDimension End If hab leider nicht viel Programmierkenntnisse Gruß Uwe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 26. Aug. 2011 11:20 <-- editieren / zitieren --> Unities abgeben: Nur für laepper
Servus Du dafts dafür nicht zwei if-Abfragen nacheinander verwendet, sonst wird jeder Constraint zunächst auf Normalbemaßung und danach wieer auf Referenzbemaßung umgeschaltet: Code: Sub CATMain()Dim productDocument1 As Document Set productDocument1 = CATIA.ActiveDocument Dim selection1 As Selection Set selection1 = productDocument1.Selection Dim MyConstraint As Constraint For i = 1 To selection1.Count Set MyConstraint = selection1.Item2(i).Value If MyConstraint.Mode = catCstModeDrivenDimension Then MyConstraint.Mode = catCstModeDrivingDimension Else MyConstraint.Mode = catCstModeDrivenDimension End If Next End Sub
Gruß Bernd------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
moppesle Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 3425 Registriert: 28.05.2009 CATIA V5 R19 SP9 WIN 7 64bit
|
erstellt am: 26. Aug. 2011 11:55 <-- editieren / zitieren --> Unities abgeben: Nur für laepper
|