Pour utiliser un fichier dwg existant il y a différentes possibilités :
- Le fichier est déjà ouvert
1 2 3 4 5 6 7 8
| Sub Trace_Rectangle()
Dim docAcad As AcadDocument
Dim objPoly As AcadLWPolyline
Dim Pts(1 To 10) As Double
Set docAcad = AutoCAD.Documents("NomDuFichier.dwg")
'reste du code
'... |
- Autocad est ouvert mais pas le fichier
1 2 3 4 5 6 7 8
| Sub Trace_Rectangle()
Dim docAcad As AcadDocument
Dim objPoly As AcadLWPolyline
Dim Pts(1 To 10) As Double
Set docAcad = AutoCAD.Documents.Open("Lecteur:\Chemin_Complet\NomDuFichier.dwg")
'reste du code
'... |
- Autocad n'est pas ouvert et forcément...le fichier non plus
1 2 3 4 5 6 7 8 9 10 11
| Sub Trace_Rectangle()
Dim appAcad As AcadApplication
Dim docAcad As AcadDocument
Dim objPoly As AcadLWPolyline
Dim Pts(1 To 10) As Double
Set appAcad = New AcadApplication
appAcad.Visible = True
Set docAcad = appAcad.Documents.Open("Lecteur:\Chemin_Complet\NomDuFichier.dwg")
'reste du code
'... |
La différence entre AcadPolyline et AcadLWPolyline est que la première est une polyline 3D et la seconde une polyline 2D sans l'élévation Z
Concernant la méthode suivante :
Set objPoly = docAcad.ModelSpace.AddLightWeightPolyline(Pts)
Le fait d'instancier un objet (objPoly) lors de la création de la polyline permettra plus facilement de manipuler les propriétés de cette polyline, par exemple :
1 2 3 4 5 6 7
| Set objPoly = docAcad.ModelSpace.AddLightWeightPolyline(Pts)
With objPoly
.Lineweight = acLnWt070
.Layer = "TonLayer"
.LineType = "DASHDOT"
MsgBox .Area
End With |
Partager