Aller au contenu

Emmener les extrémités de linéaires proches d'un point cible


Messages recommandés

Posté(e)

Bonsoir à tous,

 

Comme sur l'illustration de la copie d'écran, je souhaiterais "emmener" les extrémités de linéaires proches d'un point cible.

 

Cdc de la commande strech_lines_same_point.

 

1- Sélection du point cible (bloc, texte/mtexte, cercle, point)

 

2- Sélection des objets Linéaires à modifier

 

3- Traitement.

 

Merci d'avance,

 

Fabrice

post-80-0-84435700-1349340407_thumb.jpg

Posté(e)

Bonjour,

 

Ma proposition à tester voir si cela convient…

(defun c:strech_lines_same_point (/ pt i sel ldxf)
   (cond ((setq pt (trans (getpoint "\nPoint cible: ") 1 0))
        (prompt "\nSélectionner les entités linéaires à rattacher au point cible..")
        (repeat (setq i (sslength (setq sel (ssget '((0 . "LINE,LWPOLYLINE"))))))
          (setq ldxf (entget (ssname sel (setq i (1- i)))))
          (entmod
            (cond ((= (cdr (assoc 0 ldxf)) "LWPOLYLINE")
                   (subst (cons 10 pt)
                          (if (< (distance pt (cdr (assoc 10 ldxf))) (distance pt (cdr (assoc 10 (reverse ldxf)))))
                            (assoc 10 ldxf)
                            (assoc 10 (reverse ldxf))
                          )
                          ldxf
                   )
                  )
                  ((= (cdr (assoc 0 ldxf)) "LINE")
                   (if (< (distance pt (cdr (assoc 10 ldxf))) (distance pt (cdr (assoc 11 ldxf))))
                     (subst (cons 10 pt) (assoc 10 ldxf) ldxf)
                     (subst (cons 11 pt) (assoc 11 ldxf) ldxf)
                   )
                  )
            )
          )
        )
       )
 )
 (princ)
)

 

(Ps : J’ai limité le traitement des objets linéaires aux lignes et polyligne optimisés.. pour ces dernières j’ai considéré seulement les points de départ et de fin, pas les sommets intermédiaires)

Apprendre => Prendre => Rendre

Posté(e)

Merci VDH-Bruno,

 

C'est tip-top ce que je pensais, je vais pouvoir modifier ma base de données canalisations+tampons.

 

Merci beaucoup,

 

Fabrice

 

 

Posté(e)

Heureux que cela conviennent, à noter que je n’ai pas spécialisé spécifiquement la routine pour de la 2D, ce qui veut dire que si le point cible à un Z différent du SCU. Les lignes auront à l’extrémité déplacé un Z indentique au point cible, contrairement aux lwpolylines qui garderont leurs Z de définitions.

 

A+

Apprendre => Prendre => Rendre

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é