Pages: 1
- Sujet précédent - Supprimer des polylignes inferieur a une certaine longueur - Sujet suivant
#1 Fri 27 September 2013 09:05
- Dylan
- Participant occasionnel
- Date d'inscription: 14 Jan 2013
- Messages: 19
Supprimer des polylignes inferieur a une certaine longueur
Bonjour a tous,
je dispose d'un lisp qui supprime toute les polylignes égal à 0 et je voudrais savoir comment le modifier pour qu'il supprime des polylignes de plus grandes longueurs (environ 0.5 ou un peu plus). ou si l'un d'entre vous dispose d'un lisp correspondent
si quelqu'un peut m'aider sa serait sympa
merci d'avance
voila le lisp de base:
(defun c:supplz (/ ss n obj)
(vl-load-com)
(if (setq ss (ssget "_X" '((0 . "LINE,LWPOLYLINE,POINT"))))
(repeat (setq n (sslength ss))
(setq obj (vlax-ename->vla-object (ssname ss (setq n (1- n)))))
(if (or
(= (vla-get-ObjectName obj) "AcDbPoint")
(= 0
(vlax-curve-getDistAtParam
obj
(vlax-curve-getEndParam obj)
)
)
)
(vla-delete obj)
)
)
)
(princ)
)
Hors ligne
#2 Fri 27 September 2013 10:03
Re: Supprimer des polylignes inferieur a une certaine longueur
Salut, ci dessous la modif:
(defun c:supplz (/ ss n obj)
(setq ma-longueur-maxi (getreal "\nLongueur maximum?"))
(vl-load-com)
(if (setq ss (ssget "_X" '((0 . "LINE,LWPOLYLINE,POINT"))))
(repeat (setq n (sslength ss))
(setq obj (vlax-ename->vla-object (ssname ss (setq n (1- n)))))
(if (or
(= (vla-get-ObjectName obj) "AcDbPoint")
(> ma-longueur-maxi
(vlax-curve-getDistAtParam
obj
(vlax-curve-getEndParam obj)
)
)
)
(vla-delete obj)
)
)
)
(princ)
)
Hors ligne
#3 Fri 27 September 2013 10:18
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4786
Re: Supprimer des polylignes inferieur a une certaine longueur
Bonjour Dylan
Qq questions / remarques :
- La selection rapide d'AutoCAD permet de faire la meme chose mais pour un seul type d'objet a la fois
- Pourquoi l'entite POINT dans la liste des objets a traiter : no comprendo !
A la rigueur j'aurais plutot vu l'entite ARC !
Bye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#4 Fri 27 September 2013 10:21
- Dylan
- Participant occasionnel
- Date d'inscription: 14 Jan 2013
- Messages: 19
Re: Supprimer des polylignes inferieur a une certaine longueur
Un grand merci à toi . il faut vraiment que je me penche sur la création et la modification de lisp
Hors ligne
#5 Fri 27 September 2013 11:35
- Dylan
- Participant occasionnel
- Date d'inscription: 14 Jan 2013
- Messages: 19
Re: Supprimer des polylignes inferieur a une certaine longueur
Salut Pat,
dans les fichiers que je doit rendre a mon client il ne doit pas y avoir de points d'où cette entité .
mais pour l'arc c'est une bonne idée je n'y avais pas pensé.
pour info c'est pour de la création de réseaux fibre optique et comme nous devons faire beaucoup de coupure sur nos différentes infrastructures (tranchée, fourreaux, câbles , ...) il y a bien souvent des petites polylignes qui reste
bye
Hors ligne
#6 Fri 27 September 2013 12:02
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4786
Re: Supprimer des polylignes inferieur a une certaine longueur
Hello
OK et donc toujours avec la Selection Rapide ...
Choisir dans les types d'Objet : POINT
puis dans l'Ascenseur "Operateur", choisir : "Tout Selectionner" (Option que peu de gens ont remarque !?)
ainsi on aura TOUS les Points pour eventuellement les supprimer !
GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#7 Fri 27 September 2013 12:19
- Dylan
- Participant occasionnel
- Date d'inscription: 14 Jan 2013
- Messages: 19
Re: Supprimer des polylignes inferieur a une certaine longueur
en effet je n'y avais jamais fait attention.
merci
Hors ligne
#8 Fri 27 September 2013 16:02
Re: Supprimer des polylignes inferieur a une certaine longueur
Salut Patrice,
J'ai créé PowerClic quand _qselect n'existait pas (comme les commandes du menu contextuel ajouter la sélection ou sélectionner similaire)
malgré sa rugosité, PowerClic reste infiniment + performant que qselect pour sélectionner rapidement par filtre.
Surtout qu'on peut affiner sa sélection par un plug-in
par exemple, pour ce cas, on a le plug-in select_by_length
PowerClic n'existe pas pour la V2014 (il s’arrête à la 2013), il reste assez aventureux à installer (surtout sous W64), mais il est gratuit.
J'ai mis des infos la dessus sur mon blog.
Hors ligne
#9 Fri 27 September 2013 18:24
- FLORIS
- Participant actif
- Date d'inscription: 23 Sep 2012
- Messages: 72
Re: Supprimer des polylignes inferieur a une certaine longueur
Bonsoir
Pour le ménage, il y a aussi la commande MAPCLEAN qui fait le même genre de travail.
FLORIS
Hors ligne
Pages: 1
- Sujet précédent - Supprimer des polylignes inferieur a une certaine longueur - Sujet suivant