Bonjour,
J'utilise AutoCAD 2007 (version complète) et j'aurais voulu avoir quelques informations.
J'ai des fichiers AutoCAD avec un dessin et plusieurs présentations sachant que pour chaque présentation il peut y avoir plusieurs vues différentes du dessin.
J'applique par code VBA une translation du dessin à un certain endroit.
Le problème c'est que du coup les présentations n'affichent pas le nouvel endroit où se trouve l'objet.
Je voulais donc savoir s'il étais possible d'appliquer la même translation à tous les vues de chaque présentation.
J'ai déjà quelques pistes, il ne me manque plus que le déplacement de la vue :
Dim BaCadObj As Object
Dim ObjDessin As Object
Dim Layout As AcadLayout
On Error Resume Next
'Application.16 pour AutoCAD 2004, Application.17 pour AutoCAD 2007
Set BaCadObj = GetObject(, "AutoCAD.Application.17")
If Err Then
Err.Clear
Set BaCadObj = CreateObject("AutoCAD.Application.17")
If Err Then
MsgBox Err.Description
Exit Sub
End If
End If
Set ObjDessin = BaCadObj.ActiveDocument
BaCadObj.Visible = True
BaCadObj.WindowState = xlMaximized
' Parcourt de toutes les présentations
For i = 0 To ObjDessin.Layouts.count - 1
Set Layout = ObjDessin.Layouts.Item(i)
If Layout.Name "Model" Then
' Active la présentation dans la fenetre
ThisDrawing.ActiveLayout = Layout
' Déplacement à effectuer
Dim point1(0 To 2) As Double
Dim point2(0 To 2) As Double
point1(0) = 0: point1(1) = 0: point1(2) = 0
point2(0) = 2: point2(1) = 0: point2(2) = 0
' DEPLACEMENT DE LA VUE...
End If
Next
Merci d'avance !
Luke