• Ce forum est la traduction générée par la machine de www.cad3d.it/forum1 - la communauté italienne du design. Plusieurs termes ne sont pas traduits correctement.

Sélectionnez des textes numériques inclus dans une gamme

Kypes

Guest
Bonjour tout le monde, est-ce que l'un d'entre vous est au courant de tout lisp qui vous permet de sélectionner plusieurs textes numériques dans un dessin qui sont inclus dans une gamme donnée?
 
Une gamme de quoi ?

Voulez-vous dire une zone d'espace ou une plage numérique dans laquelle chercher tous les textes du dessin ?
 
preuve questo:
Code:
(défun c:selnum (/ intervalloinf intervallosup gru num2 numo)
(setq intervalloinf(getreal "\intervallo inférieure: ")
intervallosup(getreal "\intervallo superiore: ")
gru(ssget '((0 . "text"))
num2(ssadd)
)

(répétition (indice de setq(longueur gru))
(setq numero(ssname gru (setq index(1- index))))

(si (et (>= (atof (vla-get-textstring (vlax-ename->vla-object numero))) intervallongf)
(<= (atof (vla-get-textstring (vlax-ename->vla-objet numero))) intervallosup)
)
(supprimer le chiffre num2)
)

)

(ssetfirst zéro num2)
(principal)
)
 
hi confutatis, merci beaucoup pour la réponse, en fait le lisp fonctionne, mais à partir d'un problème si la plage est composée de nombres avec décimales, par exemple si j'impose comme intervalle inférieur 8.5 et le haut 12.5 la sélection n'est pas correcte, c'est-à-dire si elle est présente 12.8 dans les nombres sélectionnés inclut également 12.8 dans la plage que vous pourriez résoudre?
 
Je ne sais pas quoi te dire, ça ne me fait pas cette erreur. Pouvez-vous envoyer un dessin avec les numéros incriminés, peut-être ?
 
Vous avez raison, maintenant j'ai réalisé que malheureusement dans les fichiers où je dois utiliser ce lisp les nombres que je dois analyser ont comme séparateur décimal la virgule et je pense que pour cela il n'y a pas de solution. . . .
 
résolu: Biggrin:!!!! dans la pratique pour moi, il était nécessaire que ce lisp identifier l'index de la foule d'une série de bureaux dont je connaissais déjà la surface, mais qui a déclaré comme un séparateur décimal la virgule. J'ai résolu le problème en créant les polylignes fermées des salles de bureau avec la commande contours, puis j'ai utilisé le lisp arearon qui m'a rendu les surfaces des salles en un seul coup (avec le point comme séparateur décimal) et puis grâce au lisp de confutatis "selnum" j'ai remplacé les surfaces tombantes dans les intervalles que j'étais intéressé par les index de foule.
Merci beaucoup à confutatis pour votre disponibilité!: doigt:
 
résolu: Biggrin:!!!! dans la pratique pour moi, il était nécessaire que ce lisp identifier l'index de la foule d'une série de bureaux dont je connaissais déjà la surface, mais qui a déclaré comme un séparateur décimal la virgule. J'ai résolu le problème en créant les polylignes fermées des salles de bureau avec la commande contours, puis j'ai utilisé le lisp arearon qui m'a rendu les surfaces des salles en un seul coup (avec le point comme séparateur décimal) et puis grâce au lisp de confutatis "selnum" j'ai remplacé les surfaces tombantes dans les intervalles que j'étais intéressé par les index de foule.
Merci beaucoup à confutatis pour votre disponibilité!: doigt:
Bonjour, J'exhume ce vieux post pour demander si vous pouvez me passer le lisp arearon, je ne peux pas le trouver :
 

Statistiques du forum

Sujets
58 521
Messages
499 056
Membres
104 110
Dernier membre
ChristianR

Membres en ligne

Aucun membre en ligne actuellement.
Retour
Haut