Hallo
ich hab noch nie mit Userforms gearbeitet und stehe grade vor einem Problem. Es ist wahrscheinlich sehr einfach aber ich komme nicht drauf.
ich habe hier mein Modul
Sub Makro2()
Set oDrawing = CATIA.ActiveDocument
Dim oSheet As DrawingSheet
Set oSheet = oDrawing.Sheets.Item(4)
oSheet.Activate
Dim Eingabea As String
Eingabea = "...XX-XXX_XXXXXX\"
Boxb = InputBox("Geben Sie den Pfad ein, in der die Parts abgespeichert sind.", "Pfadeingabe", Eingabea)
If Boxb = "" Then
Exit Sub
Else
Dim ADoce As Document
'oDatei =
Set ADoce = CATIA.Documents.Open(Boxb & "31-38D_781287_________00_409_WINKEL.CATPart")
Set oPart = CATIA.ActiveDocument
oPart.Activate
Set specsAndGeomWindow1 = CATIA.ActiveWindow
Set viewer3D1 = specsAndGeomWindow1.ActiveViewer
viewer3D1.Reframe
Set Viewpoint3D1 = viewer3D1.Viewpoint3D
CATIA.StartCommand ("Multi-View")
EA.Show
Hier möchte ich dann eine Ebene abfragen yx zx oder yz. Dafür die Userform EA
Public Sub yxEbene_Click()
Set oPart = CATIA.Windows.Item(2)
Set oDrawing = CATIA.Windows.Item(1)
oDrawing.Activate
Dim oSheet As DrawingSheet
Set oSheet = CATIA.Windows.Item(1).Sheets.Item(4)
oSheet.Activate
Dim oFrontView As DrawingView
Set oFrontView = oSheet.Views.Add("")
' Retrieve it generative behavior
Dim oFrontViewGB As DrawingViewGenerativeBehavior
Set oFrontViewGB = oFrontView.GenerativeBehavior
' Das Part das gezeichnet werden soll wird deklariert
oFrontViewGB.Document = oPart
oFrontViewGB.DefineFrontView 1, 0, 0, 0, 0, -1
' Die Ansicht wird nun in der Zeichnung positioniert
oFrontView.X = 300
oFrontView.Y = 150
' Die Anischt wird aktualisiert
oFrontViewGB.Update
'Die Ansicht wird aktiviert
oFrontView.Activate
'Eine zweite Anischt wird erzeugt
Set drawingViewGenerativeBehavior1 = oFrontViewGB
' Die Ansicht heißt "Top View" und ist die Draufsicht
Set DrawingView2 = oSheet.Views.Add("")
Set drawingViewGenerativeBehavior2 = DrawingView2.GenerativeBehavior
drawingViewGenerativeBehavior2.DefineProjectionView drawingViewGenerativeBehavior1, catTopView
Set drawingViewGenerativeLinks1 = DrawingView2.GenerativeLinks
Set drawingViewGenerativeLinks2 = oFrontView.GenerativeLinks
drawingViewGenerativeLinks2.CopyLinksTo drawingViewGenerativeLinks1
' Die Draufsicht wird in der Zeichnung positioniert
DrawingView2.X = 300
DrawingView2.Y = -95
Dim double1
double1 = oFrontView.Scale
Set drawingViewGenerativeBehavior2 = DrawingView2.GenerativeBehavior
' Die Draufsicht wird aktualisiert
drawingViewGenerativeBehavior2.Update
DrawingView2.ReferenceView = oFrontView
DrawingView2.AlignedWithReferenceView
CATIA.StartCommand ("Multi-View")
'Hier soll die Userform beendet werden und das Makro soll nun zurück in Makro2 an die Stelle gehen, wo ich die userform EA
aufgerufen habe
Call Makro2
End Sub
Hier beginnt Makro 2
oDrawing.Activate
oSheet.Activate
End If
End Sub
Das ist glaub ich die komplizierte Variante
kann man vielleicht auch den Zahlencode der FETT ist als Variable aus der userform lesen und dann das ganze was in der userform steht in das makro2 schreiben weil das Programm brauch ich für 3 Ebenen.
Lg steffi
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP