Autor
|
Thema: per Makro Eigenschaften im Drawing ändern (2959 mal gelesen)
|
Tiberius Mitglied
Beiträge: 414 Registriert: 19.02.2002
|
erstellt am: 05. Aug. 2011 22:11 <-- editieren / zitieren --> Unities abgeben:
Hallo, angenommen ich habe eine View X und will darin die eine oder andere Eigenschaft per Makro umschalten. Z.B. Ansicht sperren oder nicht sperren jetzt nur als Beispiel. Per hand gehe ich ja auf die View und mach nen Rechtsklick und mach die Einstellung. Wie kann ich auf die Ein-/Ausschaltoptionen zugreifen? Habe hier leider mit der Suchfunktion nichts gefunden. Gruß Tiberius Edit: hab was gefunden, denke es hat sich somit erledigt [Diese Nachricht wurde von Tiberius am 05. Aug. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
meisterlumpi Mitglied
Beiträge: 118 Registriert: 15.04.2011 Intel Core2 Quad Q6600 2.40 GHz | 4 GB RAM | Win7x64
|
erstellt am: 06. Aug. 2011 07:21 <-- editieren / zitieren --> Unities abgeben: Nur für Tiberius
Hallo definiert man seine Ansicht mit Code:
Dim drawingDocument1 As DrawingDocument Set drawingDocument1 = CATIA.ActiveDocumentDim drawingSheets1 As DrawingSheets Set drawingSheets1 = drawingDocument1.Sheets Dim drawingSheet1 As DrawingSheet Set drawingSheet1 = drawingSheets1.Item("Blatt .1") Dim drawingViews1 As DrawingViews Set drawingViews1 = drawingSheet1.Views Dim drawingView1 As DrawingView Set drawingView1 = drawingViews1.Item("Vorderansicht")
kann man diese sperren mit Code: drawingView1.LockStatus = True
wieder entsperren
Code: drawingView1.LockStatus = False
3D Farben aus Modell übernehmen anschalten:
Code: drawingView1.GenerativeBehavior.ColorInheritanceMode = cat3DColorInheritanceModeOn
ausschalten:
Code: drawingView1.GenerativeBehavior.ColorInheritanceMode = cat3DColorInheritanceModeOff
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Studentla Mitglied Konstrukteur
Beiträge: 19 Registriert: 13.01.2004 Catia V5 - R18
|
erstellt am: 08. Aug. 2011 21:29 <-- editieren / zitieren --> Unities abgeben: Nur für Tiberius
Hallo, hab das Thema hier durch Zufall gefunden und neme die Infos auch gerne mit. Dankeschön dafür! Habe noch eine etwas speziellere Frage zum Thema Makros im V5-Drawing. Im Formenbau werden Passmaße üblicherweiße mit *,00 gekennzeichnet. Ich erledige das durch Umstellen von Num.Dim auf Ans.Dim; also immer die Maus quer über den ganzenBildschirm schubbsen. Das hätte ich gerne in einem Shortcut. Der Makrorekorder bleibt leer, leider. Wie müsste der Code aussehen, das ich in der aktuellen Auswahl (das Maß ist ja beim hinklicken noch selektiert)von Num.Dim auf Ans.Dim umschalten kann? Ich komme da leider nicht weiter... Gruß, Daniel
------------------ Die geistige Umnachtung zählt zu meinen persönlichen Highlights und im "Dumm aus der Wäsche Gucken" macht mir so schnell keiner was vor. Meine Taktlosigkeit eckt stets an. Möglich machen das sowohl die 2 Maggiflaschen, als auch der Teller bunter Knete in meinem Kopf. Das unkontrollierte Aneinanderschlagen der Synapsen ist mein Antrieb. Ich bin einer der Gottes eigenen Prototypen, die niemals in Serie gehen werden. Was auch immer das bedeuten mag... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
meisterlumpi Mitglied
Beiträge: 118 Registriert: 15.04.2011 Intel Core2 Quad Q6600 2.40 GHz | 4 GB RAM | Win7x64
|
erstellt am: 09. Aug. 2011 09:05 <-- editieren / zitieren --> Unities abgeben: Nur für Tiberius
Hallo generell kann man von VBA bei Zeichnungen nicht all zuviel erwarten. Kann auch nicht sagen, ob das mit VBA überhaupt möglich ist. Wenn dann wahrscheinlich über die Dimension Parameters und die muss man über den Namen ansprechen. Unten ein beispiel für die gemessene Länge. Wie der richtige Befehl lautet um das Maß umzustellen steht vielleicht in den catia sprachfiles (%InstallDir%\intel_a\resources\msgcatalog\%Sprache%).
Code: Sub CATMain()Dim drawingDocument1 As DrawingDocument Set drawingDocument1 = CATIA.ActiveDocument Dim selection1 As Selection Set selection1 = drawingDocument1.Selection Dim drawingDimension1 As DrawingDimension On Error Resume Next Set drawingDimension1 = selection1.Item(1).Value If Err.Number <> 0 Then MsgBox "falsche auswahl" End End If On Error GoTo 0 Dim DimensionParameters As Parameters Set DimensionParameters = drawingDimension1.Parameters Dim DimValueParameter As Parameter 'Set DimValueParameter = DimensionParameters.Item("Measured length") '<- engl. CATIA Set DimValueParameter = DimensionParameters.Item("Gemessene Länge") MsgBox DimValueParameter.ValueAsString End Sub
Gruß
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tiberius Mitglied
Beiträge: 414 Registriert: 19.02.2002
|
erstellt am: 09. Aug. 2011 14:22 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich hatte ja das Problem alleine in Griff bekommen, aber trotzdem Danke für die zusätzlichen Infos. Ein Phänomen hab ich allerdings noch nur da staun ich grad etwas. Angenommen ich hab eine View X bei der ich den Ansichtsrahmen abschalten möchte, dann erreiche ich das ja durch Code: Set MyView = MySheet.Views.Item(Blabla) MyView.FrameVisualization = False
Soweit, so gut - der Ansichtsrahmen verschwindet. Wenn ich ihn aber jetzt wieder sichtbar schalte mit: Code: Set MyView = MySheet.Views.Item(Blabla) MyView.FrameVisualization = True
Auch hier erscheint der Ansichtsrahmen auf dem Sheet. Klicke ich jetzt aber mit der Maus auf den Rahmen und lasse mir die Eigenschaften anzeigen dann ist nach wie vor die Option "Ansichtsrahmen anzeigen" nicht selektiert?!?!?!?!? Auch ein ForceUpdate über das Sheet brachte keine Besserung. Mir ist auch aufgefallen, dass ich die Views die nicht sichtbar waren auszählen konnte und die sichtbar geschaltetet nicht. Ausgezählt hab ich testweise mit: Code: For A = 1 to MySheet.Views.Count If MyView.FrameVisualization = False then B = B + 1 Next msgbox B
Analog hab ich das False durch ein True ersetzt und da findet er nichts obwohl definitiv Frames von Views sichtbar (der Haken in den Eigenschaften war gesetzt) waren. Die auf False gesetzten zählt er richtig aus. Woran liegt das bzw. wie stelle ich das ab? Gruß Tiberius [Diese Nachricht wurde von Tiberius am 09. Aug. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
meisterlumpi Mitglied
Beiträge: 118 Registriert: 15.04.2011 Intel Core2 Quad Q6600 2.40 GHz | 4 GB RAM | Win7x64
|
erstellt am: 09. Aug. 2011 15:35 <-- editieren / zitieren --> Unities abgeben: Nur für Tiberius
|
Tiberius Mitglied
Beiträge: 414 Registriert: 19.02.2002
|
erstellt am: 10. Aug. 2011 08:09 <-- editieren / zitieren --> Unities abgeben:
|