Autor
|
Thema: swap location (1281 mal gelesen)
|
rattlesnake Mitglied
Beiträge: 47 Registriert: 22.10.2007 Vb .NET CATIA V5R19
|
erstellt am: 04. Nov. 2013 15:50 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich muss mehrmals stundlich im Sketcher Bemaßungen umdrehen (swap location) weiß jemand wie das mit Makro funktioniert? Hab schon Constraint.Side und Constraint.Orientation versucht. Würde sicherlich auch funktionieren wenn Catia nicht jedes mal abschmieren würde. Hat jemand von euch da zufällig einen Tipp was ich noch versuchen kann. Das würde mir echt viel Clickarbeit ersparen. Vielen Dank. ------------------ \\\\|//// \\ _ _ // ( o o ) ================oOOo-(_)-oOOo================== The next time you think you are perfect, try walking on water ========================Oooo=================== oooO ( ) ( ) ) / \ ( (_/ \_) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ptit.tom Mitglied CAD-Berater
Beiträge: 114 Registriert: 11.02.2005 win10, CATIA R19 bis R30
|
erstellt am: 04. Nov. 2013 16:46 <-- editieren / zitieren --> Unities abgeben: Nur für rattlesnake
Hallo, Wenn man die Eigenschaften .Side, .Orientation und .DistanceDirection vor und nach einem Swap Direction vergleicht, gibt es keine Änderung. Ich weiß nicht, ob es par Makro möglich auf dem Swap Location zuzugreifen. Ich würde mit positive/negative Werte arbeiten. Mit einigen Formeln, kann man es sogar ohne Makro machen. Beipiel: ein Parameter MySwitch (Typ string) mit Multivalues: "Plus" / "Minus" und für jedes Offset (hier 123mm) ein Formel:
Code: Offset = (MySwitch -> Search("Plus")*2-1)*123mm
Steht MySwitch auf Plus bekommt man 123mm, sonst -123mm Mmm... Darf man nicht [Diese Nachricht wurde von ptit.tom am 04. Nov. 2013 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. Moderator Manager
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: 05. Nov. 2013 12:33 <-- editieren / zitieren --> Unities abgeben: Nur für rattlesnake
Hallo, IMHO gibt es mit VBA / CATScript keine direkte Möglichkeit dies zu automatisieren. Jedoch habe ich ein Konzept (wenn dies auch ein wenig anspruchsvoller ist). Folgender konzeptioneller Ablauf: 1. Skizze ist geöffnet 2. Anwender selektiert das Maß welcher "geswapt" werden soll 3. Das Script ließt den Wert des Maßes (temporärer Zwischenspeicher) 4. Das Script ließt die beiden Referenzen (Linie, Punkt, etc.) - temporärer Zwischenspeicher 5. Das Script löscht das Maß 6. Das Script verschiebt das gesamte geometrische Element auf die "richtige" Seite 7. Jetzt erzeugt das Script ein neues Maß (Referenzen aus Punkt 4 / Wert aus Punkt 3) Wie gesagt ist nur eine Idee. Ob sich das bei euren Skizzen umsetzen lässt kann ich nicht beurteilen! Gruß Daniel ------------------ 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 |
rattlesnake Mitglied
Beiträge: 47 Registriert: 22.10.2007 Vb .NET CATIA V5R19
|
erstellt am: 06. Nov. 2013 15:49 <-- editieren / zitieren --> Unities abgeben:
Das scheint nicht möglich zu sein. Wenn ich das mache hab ich die Refrenzen. Aber wie bekomme ich die Elemente davon? Code:
Sub CATMain() Dim tConstraint As Constraint Set tConstraint = CATIA.ActiveDocument.Selection.Item(1).Value Dim tElement1 As Object Set tElement1 = tConstraint.GetConstraintElement(1) Dim tElement2 As Object Set tElement2 = tConstraint.GetConstraintElement(2) End Sub
und wenn ich nur versuche Side oder Orientation auszulesen bekomme ich einen Click-Ok-To-Terminate Code:
Sub CATMain() Dim tConstraint As Constraint Set tConstraint = CATIA.ActiveDocument.Selection.Item(1).Value Debug.Print tConstraint.Side End Sub
Gruß ------------------ \\\\|//// \\ _ _ // ( o o ) ================oOOo-(_)-oOOo================== The next time you think you are perfect, try walking on water ========================Oooo=================== oooO ( ) ( ) ) / \ ( (_/ \_) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|