Aller au contenu

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


fabcad

Messages recommandés

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

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é