MathPerrin Posté(e) le 9 janvier 2012 Posté(e) le 9 janvier 2012 Bonjour à tous, Je suis bloqué sur une sélection avec les codes DXF, impossible de récupérer tous les objets avec un type de ligne différent de BYLAYER. Le code DXF 6 qui correspond aux types de lignes n'existent pas sur une entité lorsque l'on est en BYLAYER. Quelqu'un peut-il m'aider à faire une sélection de tous les objets avec un type de ligne différent de BYLAYER !? exemple : 'Création d'une sélection dans le dessin : ObjSelect = oDoc.SelectionSets.Add("SelectLineType") 'Code DXF -4 pour les filtre de sélection (<>, >, <, =) intGpCode(0) = -4 varDataValue(0) = "<>" 'Code DXF 6 pour le type de ligne. intGpCode(1) = 6 varDataValue(1) = "0" 'Réalisation de la sélection ObjSelect.Select(TeighaX.AcSelect.acSelectionSetAll, , , intGpCode, varDataValue) MsgBox(ObjSelect.Count.ToString) '0
bazoul Posté(e) le 9 janvier 2012 Posté(e) le 9 janvier 2012 Bonjour, Je suis reparti de ce que tu avais posté,a toi de voir si cela te convient: Dim intGpCode(2) As Integer Dim varDataValue(2) As Variant Dim ObjSelect As AcadSelectionSet Dim i As Integer Dim CurrentObj As AcadEntity 'Création d'une sélection dans le dessin : Set ObjSelect = ThisDrawing.SelectionSets.Add("SelectLineType") 'Code DXF -4 pour les filtre de sélection (<>, >, <, =) intGpCode(0) = -4 varDataValue(0) = "<NOT" 'Code DXF 6 pour le type de ligne. intGpCode(1) = 6 varDataValue(1) = "ByLayer" intGpCode(2) = -4 varDataValue(2) = "NOT>" 'Réalisation de la sélection ObjSelect.Select acSelectionSetAll, , , intGpCode, varDataValue 'Partie vérification MsgBox (ObjSelect.Count) '0 For i = 0 To ObjSelect.Count - 1 Set CurrentObj = Nothing Set CurrentObj = ObjSelect.Item(i) Next i ObjSelect.Delete Cordialement,
MathPerrin Posté(e) le 9 janvier 2012 Auteur Posté(e) le 9 janvier 2012 Merci beaucoup pour la réponse mais cela ne fonctionne pas chez moi. Il me retourne systématiquement tous les objets de mon dessin !
bazoul Posté(e) le 10 janvier 2012 Posté(e) le 10 janvier 2012 Bonjour, Je viens de tester sur autocad 2009 SP3 32bits avec en cas de figure: Dans le modelspace :-Une ligne DUCALQUE-Un cercle Acad_ISO-Une polyligne CACHE2-Une polyligne DUCALQUE Dans le paperspace :-Une ligne Continious Le retour de la fonction est 3entités soit les deux éléments dans le modelspace + 1 élément du paperspace. Tu travailles avec quelle version d'autocad?Language?Service pack? 32 ou 64bits Cordialement,
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