frmaniako Posté(e) le 5 janvier 2005 Posté(e) le 5 janvier 2005 Salut à tous,Je cherche un moyen de récupérer, en VBA, les données d'un dessin fait sous autocad(2D)Par exemple, j'ai un carré et j'aimerais connaitre les coordonnées des 4 points du carré.Est ce possible, Merci pour votre aide, A+
Serge Posté(e) le 6 janvier 2005 Posté(e) le 6 janvier 2005 frmaniako, La question est vague. D'abord, tu doit obtenir un objet. Ceci peut être obtenu en scannant le dessin ou en le demandant comme suit: ' Create the selection set Dim ssetObj As AcadSelectionSet Set ssetObj = ThisDrawing.SelectionSets.Add("SSET1") ' Add entities to a selection set by prompting user to select on the screen ssetObj.SelectOnScreen Ensuite tu boucles dans la sélection. Que veux tu savoir ? Les sommets d'une polyligne, l'étendue de l'objet ? Pour ce dernier cas, va voir du coté de l'exemple Example_GetBoundingBox dnas le fichier d'aide. Serge
frmaniako Posté(e) le 10 janvier 2005 Auteur Posté(e) le 10 janvier 2005 Salut,J'aimerais savoir comment tu boucle sur la selection. En fait moi ce que je veux faire c'est créer un code VB qui va analyser toutes les formes contenues dans un fichier autocad. Par exemple je fait un trait.Je veux que mon code VB retrouve ce trait avec ses coordonnées sans que je le sélectionne. ++
Serge Posté(e) le 10 janvier 2005 Posté(e) le 10 janvier 2005 frmaniako, Alors tu n'as pas besoin d'une sélection. Voici unepiste de solution. À toi de composer avec le reste. Sub toto3() Dim anyEntity As AcadEntity Dim ligne As AcadLine For Each anyEntity In ThisDrawing.ModelSpace ' Are these objects hidden? If anyEntity.ObjectName = "AcDbLine" Then Set ligne = anyEntity Debug.Print "Ligne: (" & ligne.StartPoint(0) & "," & ligne.StartPoint(1) & ") à (" _ & ligne.EndPoint(0) & "," & ligne.EndPoint(1) & ")" End If Next End Sub Serge
frmaniako Posté(e) le 12 janvier 2005 Auteur Posté(e) le 12 janvier 2005 Salut,J'ai esayé ton code qui fonctionne bien avec des lignes et des cercles mais pour le rectangle il me renvoi une erreur.Voici mon code. If anyEntity.ObjectName = "AcDbPolyline" Then Set rectangle = anyEntity <<<<<<-- erreur MsgBox "test"End If Sais tu comment identifier un rectangle Merci pour ton aide
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