Aller au contenu

Milieu entre deux ligne


Messages recommandés

Invité samuelM
Posté(e)

Bonjour,

 

Voici un programme pour réaliser le milieu entre deux polyligne.

 

je voudrai me modifier afin que je puisse avoir le milieu à l'intérieur d'une polyligne (si c'est possible).

pouvez vous m'aider?

Merci

 

 
(defun c:MidPline (/ pl1 pl2 elst1 elst2 pts1 pts2 pts3)
 (if (and
       (setq pl1 (car (entsel "\nSélectionnez la première polyligne: ")))
       (setq elst1 (entget pl1))
       (= "LWPOLYLINE" (cdr (assoc 0 elst1)))
       (setq pl2 (car (entsel "\nSélectionnez la seconde polyligne: ")))
       (setq elst2 (entget pl2))
       (= "LWPOLYLINE" (cdr (assoc 0 elst2)))
       (not (equal pl1 pl2))
     )
   (progn
     (setq pts1 (massoc 10 elst1)
           pts2 (massoc 10 elst2)
           pts3 (mapcar 'midpoint pts1 pts2)
     )
     (entmake
       (append
         (list
           '(0 . "LWPOLYLINE")
           '(100 . "AcDbEntity")
           '(100 . "AcDbPolyline")
           (cons 90 (length pts3))
           (assoc 70 elst1)
           (assoc 210 elst1)
         )
         (mapcar '(lambda (p) (cons 10 p)) pts3)
       )
     )
   )
 )
 (princ)
)

(defun massoc (code alst)
 (if (setq alst (member (assoc code alst) alst))
   (cons (cdar alst) (massoc code (cdr alst)))
 )
)

(defun midpoint (p1 p2)
 (mapcar '(lambda (x1 x2) (/ (+ x1 x2) 2.)) p1 p2)
)

Posté(e)

Salut !

Je ne comprends rien :-)

Mais pour l'instant, ça marche....

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

hello

 

"le milieu a l'interieur d'une polyligne" fermée

doit etre son centre de gravité

 

et le programme "midpline" trace la polyligne mediane des deux autres polylignes

ca riena voir

 

mais un programme de recherche de centre de gravité doit déja existé sur cad xp

 

 

a+

 

phil

 

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Posté(e)

Salut,

 

Malheureusement, le "milieu" d'une polyligne n'est pas forcément à l'intérieur

de celle-ci. En prenant l'exemple d'un croissant, ton milieu sera à l'extérieur.

 

 

Tous pour lisp, Lisp pour tous!

Avec Revit, cela ne vas trop vite...

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é