Message 1 of 3
EXCEL VBA pour extraire les données des objets d'un dessin de AUTOCADMAP
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Bonjour,
je pilote AUTOCAD MAP depuis EXCEL, je sais déjà faire plein de manipulation, mais je n'arrive pas à récupérer les données objets des polylignes de mon dessin, pour les mettre dans un onglet de EXCEL, voici le début de mon code, est-ce que quelqu'un pourrait m'aider:
Merci pour votre aide
Sub INFO() Dim ORD As ODRecord Dim BlocRef As AcadBlockReference Dim poly As AcadLWPolyline Dim ligne As AcadLine On Error Resume Next Set AcadObj = GetObject(, "AutoCAD.Application") If Err.Number <> 0 Then Set AcadObj = CreateObject("AutoCAD.Application") NombreDessinAutocad = -1 Else acadDoc.Close End If Excel.Application.Visible = True Fichier = Application.GetOpenFilename("Autocad files (*.dwg), *.dwg") If Fichier <> "" Then AcadObj.Visible = True 'maximiser la fenêtre autocad AcadObj.WindowState = 3 Set acadDoc = AcadObj.Documents.Open(Fichier) End If ' selection des éléments du dessin If acadDoc.SelectionSets.Count < 1 Then Set sset = acadDoc.SelectionSets.Add("jeu") Else Set sset = acadDoc.SelectionSets.Item(0) End If If sset.Count < 1 Then ' si la zone de sélection contient des objets Set toto = acadDoc.ModelSpace Else ' sinon prend tout le dessin Set toto = sset End If For Each AcadObj In toto With AcadObj If .EntityName = "AcDbBlockReference" Then Set BLOK = AcadObj kk = 1 Else If .EntityName = "AcDbPolyline" Then Set poly = AcadObj Set ORD = poly.GetODRecords kk = 1 Else If .EntityName = "AcDbLine" Then Set ligne = AcadObj kk = 1 End If End If End If End With Next End Sub