Aller au contenu

Selection danspolyligne


La Lozère

Messages recommandés

Bonjour,

Connaissez-vous une méthode pour sélectionner tout les objets se trouvant à l'intérieur d'une polyligne fermé? Sachant que cette polyligne a plusieurs centaines de sommets.

 

Merci.

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Lien vers le commentaire
Partager sur d’autres sites

Il me semblait bien qu'en natif, il n'y a rien.

Donc oui, si quelqu'un à un petit lisp qui fait ça, je prends!!!

De mon coté, je vais regarder si il y a quelque chose qui existe.

Merci.

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

ci-dessous un lisp qui permet de faire ce que tu recherches.

 

(vl-load-com)

;; Select window poly
(defun c:SelWP (/)
 (SelPoly "_WP")
 (princ)
)

;; Select crossing poly
(defun c:SelCP (/)
 (SelPoly "_CP")
 (princ)
)

;; Select objects inside a polyline
(defun SelPoly (WC / pSS ss ss1 n m en)
 (if (and
       (progn
         (prompt "\nSelect polylines to form WPoly borders: ")
         (setq pSS (ssget '((0 . "LWPOLYLINE"))))
       )
       (setq n (sslength pSS))
       (setq ss (ssadd))
     )
   (while (> (setq n (1- n)) -1)
     (if (and
           (setq ss1 (ssget WC (mapcar 'cdr (vl-remove-if-not '(lambda (item) (= (car item) 10)) (entget (ssname pSS n))))))
           (setq m (sslength ss1))
         )
       (while (> (setq m (1- m)) -1)
         (setq en (ssname ss1 m))
         (if (not (ssmemb en pSS)) (ssadd en ss))
       )
     )
     (setq ss1 nil)
     (gc)
   )
 )
 (if (and ss (> (sslength ss) 0))
   (sssetfirst nil ss)
 )
)

 

Il faut taper la commande: SelCP pour effectuer une selection par polyligne.

 

Cordialement,

 

Laurent

 

Ps: le lisp n'est pas de moi (by irneb)

Lien vers le commentaire
Partager sur d’autres sites

coucou

 

moi aussi j'ai recherché dans les routines que j'avais sous le coude

et j'ai trouvé mais Lovecraft a répondu avant moi

par contre j'en suis l'auteur

mais la mienne ne fonctionne pas avec les arcs de polyligne

ou plutôt elle fonctionne mais traite les cordes des arcs.

 

je suis définitivement trop lent !

 

amicalement

Lien vers le commentaire
Partager sur d’autres sites

Super.

 

Juste pour info: Existe-t-il la commande inverse. c.a.d. que je ne voudrais sélectionner que les objets se trouvant à l'extérieur de la polyligne. Avec comme hypothèse que j'ai 400 objets à l'extérieur et 200000 à l'intérieur.

Je sais que c'est possible en combinant votre lisp avec les options de sélection "tout" puis "retirer" et "précédent", mais on est obliger de passer par une sélection de tout les objets. Ce qui peut être long.

 

Sinon, merci.

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Sur cette page, on trouveras le LISP Special_Selections.lsp dans lequel sont définies (entre autres) les commandes SSOF et SSOC pour sélectionner les objets à l'intérieur d'une polyligne (y compris avec arcs), d'un cercle, d'une ellipse, etc. (SSOF fait une sélection par fenêtre, SSOC par capture), ainsi que la commande INV_SEL qui inverse un jeu de sélection (pas d'autre moyen que de sélectionner tout le dessin pour constituer le jeu de sélection inverse).

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...

Je complète la demande, qui me concerne, les objets à sélectionner touchant les polygones étant des faces 3D.

 

Est ce possible ?

Cordialement

 

Lionel PERRIN | Ingénieur/Consultant Formateur expert Infrastructure - Géomédia

 

Civil 3D/Covadis/Autopiste/Infraworks 360 - VRD/Infrastructure routière ferroviaire Bus TRAM

Lien vers le commentaire
Partager sur d’autres sites

As-tu covadis???

 

Si oui, il y a la commande : Covadis2D/Topologie Polygone/Découpage de zône(clipping)

Cela crée un fichier nouveau contenant tout ce qu'il y a à l’intérieur d'un contour

Attention cela supprime du fichier source toute les données coupées, donc faire un U dés que le coupage à eu lieu pour revenir à l'état d'origine (ou fermer le plan sans enregistrer).

Cela marche yc pour les MNT, mais il existe la commande Covadis 3D/Analyse du relief/Découpage de MNT(clipping)

qui ne coupe que du MNT contour extérieur ou intérieur au choix.

 

Deux fonction que j'utilise beaucoup.

A+

« Aide-toi, le ciel t'aidera »

Lien vers le commentaire
Partager sur d’autres sites

  • 6 mois après...

pour ma demande on vient de me montrer une commande map 3D / ouils / Ajustement ou coupure au limite.

 

Je sélectionne mon contours et il supprime tout ce qui touche le contour.... B)

  • Upvote 1

Cordialement

 

Lionel PERRIN | Ingénieur/Consultant Formateur expert Infrastructure - Géomédia

 

Civil 3D/Covadis/Autopiste/Infraworks 360 - VRD/Infrastructure routière ferroviaire Bus TRAM

Lien vers le commentaire
Partager sur d’autres sites

+1 pour map 3D, avec les requêtes ont peu charger partiellement n'importe quelle entité d'un dessin suivant à peu près n'importe quel critère, par exemple par calque, ou par couleur, ou selon un contour, ou par type d'entité.... le tout avec des OU et des AND. Bref de quoi extraire exactement ce que l'on veut sans même avoir à ouvrir le dessin (très pratique pour les fichiers monstrueux ou pour traiter plusieurs fichiers à la fois).

 

Dans l'explorateur de carte il faut associer le ou les dessins dont on veux extraire quelque-chose puis créer la requête (la c'est un peu moins innée mais il suffit de prendre le coups).

 

Attention à dissocier vos fichiers sources après exécution de la requête sinon lorsque vous allez modifier une entité il vous demandera systématiquement si vous voulez mettre à jour le dessin source.

 

Cela vaut vraiment la peine de perdre 2 heures à essayer ça, car après cela peu servir dans de multiples cas, car en plus on peu appliquer des modifications aux entités lors de leur importation (par exemple positionner un bloc au Z de son attribut)

 

Une petite merveille quoi!

Lien vers le commentaire
Partager sur d’autres sites

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é