qumale07 Posté(e) le 17 janvier 2016 Posté(e) le 17 janvier 2016 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
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant