Salut Quieto.
j'ai pas trop de temps, mais bon
Cette macro me permet de faire une Mise en Plan "type" (format A3/paysage/4 vues : face;gauche;coupe; et iso/changement d'échelle (de 1:1 à 1:2)). elle fonctionne, mais le problème est que cela fonctionne uniquement pour un fichier part nommé "Part1" (mis en rouge ds le script), donc lorsque je veux l'appliquer à une autre part, Catia fait ca farouche! même problème pour un product, il appel une pièce et n'est donc pas content.
je met mon script, et si quelqu'un à une solution à mon problème, je suis preneur
Language="VBSCRIPT"
Sub CATMain()
Dim documents1 As Documents
Set documents1 = CATIA.Documents
Dim drawingDocument1 As Document
Set drawingDocument1 = documents1.Add("Drawing" )
drawingDocument1.Standard = catISO
Dim drawingSheets1 As DrawingSheets
Set drawingSheets1 = drawingDocument1.Sheets
Dim drawingSheet1 As DrawingSheet
Set drawingSheet1 = drawingSheets1.Item("Calque.1" )
drawingSheet1.PaperSize = catPaperA3
drawingSheet1.Scale = 1.000000
drawingSheet1.Orientation = catPaperLandscape
Dim windows1 As Windows
Set windows1 = CATIA.Windows
windows1.Arrange catArrangeTiledHorizontal
Dim drawingViews1 As DrawingViews
Set drawingViews1 = drawingSheet1.Views
Dim drawingView1 As DrawingView
Set drawingView1 = drawingViews1.Add("AutomaticNaming" )
drawingView1.x = 210.000000
drawingView1.y = 148.500000
drawingView1.Scale = 1.000000
Dim drawingViewGenerativeLinks1 As DrawingViewGenerativeLinks
Set drawingViewGenerativeLinks1 = drawingView1.GenerativeLinks
Dim drawingViewGenerativeBehavior1 As DrawingViewGenerativeBehavior
Set drawingViewGenerativeBehavior1 = drawingView1.GenerativeBehavior
Dim partDocument1 As Document
Set partDocument1 = documents1.Item("Part1.CATPart" )
Dim product1 As CATBaseDispatch
Set product1 = partDocument1.GetItem("Part1" )
drawingViewGenerativeBehavior1.Document = product1
drawingViewGenerativeBehavior1.DefineFrontView 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000
Dim drawingView2 As DrawingView
Set drawingView2 = drawingViews1.Add("AutomaticNaming" )
drawingView2.x = 320.200012
drawingView2.y = 31.726187
drawingView2.Scale = 1.000000
Dim drawingViewGenerativeLinks2 As DrawingViewGenerativeLinks
Set drawingViewGenerativeLinks2 = drawingView2.GenerativeLinks
Dim drawingViewGenerativeBehavior2 As DrawingViewGenerativeBehavior
Set drawingViewGenerativeBehavior2 = drawingView2.GenerativeBehavior
drawingViewGenerativeBehavior2.Document = product1
drawingViewGenerativeBehavior2.DefineIsometricView -0.408762, 0.912640, 0.001527, -0.394435, -0.178172, 0.901485
Dim drawingView3 As DrawingView
Set drawingView3 = drawingViews1.Add("AutomaticNaming" )
drawingView3.x = 320.200012
drawingView3.y = 148.500000
drawingView3.Scale = 1.000000
Dim drawingViewGenerativeLinks3 As DrawingViewGenerativeLinks
Set drawingViewGenerativeLinks3 = drawingView3.GenerativeLinks
Dim drawingViewGenerativeBehavior3 As DrawingViewGenerativeBehavior
Set drawingViewGenerativeBehavior3 = drawingView3.GenerativeBehavior
drawingViewGenerativeBehavior3.Document = product1
Set drawingViewGenerativeBehavior1 = drawingView1.GenerativeBehavior
drawingViewGenerativeBehavior3.DefineProjectionView drawingViewGenerativeBehavior1, catLeftView
Set drawingViewGenerativeBehavior1 = drawingView1.GenerativeBehavior
drawingViewGenerativeBehavior1.Update
Set drawingViewGenerativeBehavior2 = drawingView2.GenerativeBehavior
drawingViewGenerativeBehavior2.Update
Set drawingViewGenerativeBehavior3 = drawingView3.GenerativeBehavior
drawingViewGenerativeBehavior3.Update
drawingView1.Activate
Dim specsAndGeomWindow1 As Window
Set specsAndGeomWindow1 = CATIA.ActiveWindow
specsAndGeomWindow1.WindowState = catWindowStateMaximized
drawingView1.x = 94.158497
drawingView1.y = 240.650101
drawingView3.x = 299.616596
drawingView3.y = 240.650101
drawingView2.x = 237.685241
drawingView2.y = 88.561504
Set drawingDocument1 = CATIA.ActiveDocument
Set drawingSheets1 = drawingDocument1.Sheets
Set drawingSheet1 = drawingSheets1.ActiveSheet
Set drawingViews1 = drawingSheet1.Views
Set drawingView1 = drawingViews1.ActiveView
Set drawingViewGenerativeBehavior1 = drawingView1.GenerativeBehavior
Dim drawingView4 As DrawingView
Set drawingView4 = drawingViews1.Add("AutomaticNaming" )
Dim drawingViewGenerativeBehavior4 As DrawingViewGenerativeBehavior
Set drawingViewGenerativeBehavior4 = drawingView4.GenerativeBehavior
drawingView4.x = 94.158497
drawingView4.y = 93.020004
Dim double1 As Double
double1 = drawingView1.Scale
drawingView4.Scale = 1.000000
Dim double2 As Double
double2 = drawingView1.Angle
drawingView4.Angle = 0.000000
Dim arrayOfVariantOfDouble1(3)
arrayOfVariantOfDouble1(0) = 44.639172
arrayOfVariantOfDouble1(1) = 0.000000
arrayOfVariantOfDouble1(2) = -39.130501
arrayOfVariantOfDouble1(3) = 0.000000
drawingViewGenerativeBehavior4.DefineSectionView arrayOfVariantOfDouble1, "SectionView", "Offset", 1, drawingViewGenerativeBehavior1
Dim drawingViewGenerativeLinks4 As DrawingViewGenerativeLinks
Set drawingViewGenerativeLinks4 = drawingView4.GenerativeLinks
Set drawingViewGenerativeLinks1 = drawingView1.GenerativeLinks
drawingViewGenerativeLinks1.CopyLinksTo drawingViewGenerativeLinks4
Set drawingViewGenerativeBehavior4 = drawingView4.GenerativeBehavior
drawingViewGenerativeBehavior4.Update
drawingView4.ReferenceView = drawingView1
drawingView4.AlignedWithReferenceView
drawingSheet1.Scale = 0.500000
End Sub
désoler Quieto, mais pour ton problème, étant novice, je ne peux pas t'aider...