Aller au contenu

Messages recommandés

Posté(e)

Bonjour à tous B)

 

Je bute sur un problème relativement simple à mon avis...il dois y avoir quelque chose qui m'échappe

J'ai donc un dessin ou je fais un ssget pour selectionner que les blocs

 

(setq sel (ssget "X" '((0 . "INSERT"))))

 

Donc ensuite j'extrait le premier ename

 

(setq ent (ssname sel n))

 

Pour après avoir la liste des éléments que constituent l'entité

 

(entget ent)

 

Et j'obtient donc:

 

((-1 . <Nom d'entité: 7d8100f0>) (0 . "INSERT") (330 . <Nom d'entité: 
7d806c10>) (5 . "11B6") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") 
(100 . "AcDbBlockReference") (2 . "DISJ01") (10 267.36 237.525 0.0) (41 . 
1.0) (42 . 1.0) (43 . 1.0) (50 . 0.0) (70 . 0) (71 . 0) (44 . 0.0) (45 . 0.0) 
(210 0.0 0.0 1.0))

 

Jusque là tout va bien puisque j'ai bien le code (0 . "INSERT"). Maintenant je souhaite avoir les sous-liste de mon entité avec entnext et donc je fais:

 

(entget (entnext ent))

 

Et j'obtient

 

(-1 . <Nom d'entité: 7d810108>) (0 . "TEXT") (330 . <Nom d'entité: 7d806c10>) 
(5 . "11C1") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . 
"AcDbText") (10 220.806 83.4879 0.0) (40 . 2.0) (1 . "Filerie 2.5² Cu") (50 . 
0.0) (41 . 1.0) (51 . 0.0) (7 . "romans") (71 . 0) (72 . 1) (11 231.949 84.4879 
0.0) (210 0.0 0.0 1.0) (100 . "AcDbText") (73 . 2))

 

Et la je comprends plus rien :blink: . Pourquoi j'obtient un code avec "TEXT" et pas "ATTRIB"? Le pire c'est qu'en faisant la meme manoeuvre mais en passant pas entsel au lieu de ssget je retrouve bien mes petits...

 

Merci pour votre aide car là je seche completement

Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson

Posté(e)

Bonjour,

 

tout simplement parce que le bloc n'a pas d'attribut et que "entnext" te renvoie l'entité suivante dans la base de données du dessin, donc à priori un texte dessiné juste après le bloc.

 

Si tu veux absolument ne sélectionner que les blocs avec attributs, tu ajoutes (cons 66 1) au filtre de ton jeu de sélection

 

 

Olivier

Posté(e)

Merci pour ta reponse

 

Je savais bien que ça devais etre un truc simple :rolleyes: .

Je pensais que mon filtre ne selectionnais que les entités avec le code (0 . "INSERT") car effectivement mon dessin dispose de bloc avec et sans attribut d'ou mon etonnement quand j'ai vu apparaitre (0 . "TEXT"). Je m'attendais plutot a un truc comme nil ou SEQEND en cas d'abscence d'attribut. Pour moi l'entité suivante de la base de donnée devais forcement etre un bloc comme preciser dans mon jeu de selection.

En tout cas je ne connais pas ce code DXF et je te remercie beaucoup de ton aide :(rires forts):

Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité