Bonjour, pour mon boulot j'ai une macro qui me permet de faire une mise en plan automatique. Celle ci permet également de faire une vue dépliée (pièce faite avec sheetmetal) de ma pièce. Jusqu'à aujourd’hui cette vue dépliée utilisée un des trois plans XY, YZ, ZX. Je voudrais remplacer ce choix par la sélection d'une face ou d'un plan pour créer ma vue. Dans la macro ci-dessous je parviens à les sélectionner mais dans ce cas la face choisie est toujours projetée suivant la face qui a servie à l'esquisse (du moins il me semble). C'est à dire que je n'arrive pas à projeter suivant la face de dessous par exemple. Contrairement à l'icône Catia dans la mise en plan qui va créer la vue suivant la face sélectionnée dans le 3D. Quelqu'un peut-il me dire ce qu'il manque à mon programme pour obtenir la même chose. Merci par avance.
Public mydraw As DrawingDocument, mysheet, myview, myplandoc As Document
Public Document As PartDocument
Sub CATMain()
'macro qui demande de sélectionner une face ou un plan
'recupération des coordonnées des 2 axes
'creation de la vue dans draw
Dim Status
Dim BiDimFeature
Dim selection1 'As Selection
Set mydraw = CATIA.ActiveDocument
Set mysheet = mydraw.Sheets.Item(1)
Set myview = mysheet.Views.Item(3)
Set myplandoc = myview.GenerativeBehavior.Document.Parent
Plan_projection.Show
Unload Plan_projection
myplandoc.Activate
Set selection1 = myplandoc.Selection
Dim InputObjectType(1)
InputObjectType(0) = "Plane"
InputObjectType(1) = "PlanarFace"
selection1.Clear
Status = selection1.SelectElement2(InputObjectType, "Selectionner le plan de projection", True)
If (Status = "Cancel") Then Exit Sub
Set BiDimFeature = selection1.Item(1).Value
' Dim AutomationType
Dim v1(2), v2(2)
BiDimFeature.GetFirstAxis v1
BiDimFeature.GetSecondAxis v2
MsgBox v1(0) & ";" & v1(1) & ";" & v1(2) & "+" & v2(0) & ";" & v2(1) & ";" & v2(2)
mydraw.Activate
Dim DrawingFrontView, DrawingViewGenerativeBehavior As DrawingViewGenerativeBehavior
Set DrawingFrontView = mysheet.Views.Add("Front View")
Set DrawingViewGenerativeBehavior = DrawingFrontView.GenerativeBehavior
DrawingViewGenerativeBehavior.Document = myplandoc.Product
DrawingViewGenerativeBehavior.DefineFrontView v1(0), v1(1), v1(2), v2(0), v2(1), v2(2)
DrawingFrontView.X = 300
DrawingFrontView.Y = 150
DrawingViewGenerativeBehavior.Update
selection1.Clear
End Sub