Aller au contenu

[Résolu] Dessiner des lignes avec "recouvrement"


DenisHen

Messages recommandés

@lecrabe  C'était une formation rapide en Lisp, il y a 4 ou 5 ans, environ à LA CHAPELLE SAINT LUC, à coté de TROYES.

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Salut, j'étais persuadé que c'était toi, désolé.
Non, ce n'était pas Christian...

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

Lien vers le commentaire
Partager sur d’autres sites

Il y a 16 heures, Luna a dit :

Donc si tu le souhaites, tu peux modifier directement la fonction (polymake) comme suit par exemple :

(defun polymake (plist / ent)
  (setq ent
    (entmakex
      (append
        (list
          '(0 . "LWPOLYLINE")
          '(100 . "AcDbEntity")
          '(100 . "AcDbPolyline")
          (cons 90 (length plist))
        )
        (mapcar '(lambda (p) (cons 10 p)) plist)
      )
    )
  )
  (vlax-ldata-put ent "MetreHaHo" MetreHaHo)
)

Si je peux me permettre, il vaut mieux laisser la fonction 'polymake' le plus générique possible,donc sans l'expression (vlax-put-ldata ...) et utiliser sa valeur de retour :
 

(setq ent (polymake ptlist))
(vlax-ldata-put ent "MetroHaHo" MetroHaHo)

ou, directement :

(vlax-ldata-put (polymake ptlist) "MetroHaHo" MetroHaHo)

 

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

Lien vers le commentaire
Partager sur d’autres sites

Il y a 14 heures, DenisHen a dit :

Coucou @Luna, je voulais juste ajouter des "(vlax-ldata à toutes les polylignes créées...
Mais ton code me donne beaucoup de réflexion...

Je suis assez perplexe, je pensais mes explications suffisamment claires et j'ai simplifié au maximum certaines choses...notamment (polymake). Donc si tu as la moindre modification sur les polylignes nouvellement crées, il te suffit de modifier (polymake). Or (polymake) ne fait pas appel à de la récursivité ou bien des (mapcar) et (lambda). C'est un simple (entmakex) dont je te suggère d'aller voir ce que cela retourne et tu verras que ce que tu cherches à faire n'est franchement pas plus compliqué que ce que j'ai envoyé plus tôt (ajout du (setq) devant (entmakex)) et ensuite tu fais toutes modifs désirées...
Je reconnais que par correspondance le message peut parfois ne pas passer correctement, mais en théorie j'ai vraiment fait au plus simple pour justement te simplifier la vie sur certains domaines. S'il y a des modifications de valeurs entre chaque création de polyligne, alors vui je veux bien reconnaître que cela n'est pas forcément très simple mais pour cela, il suffit de m'expliquer ce que tu souhaites, en totalité, et je pourrais t'aiguiller voire modifier le programme pour toi.

C'est vraiment très gentil de me considérer ainsi mais, la relève est loin d'être assurée >w< mais connaissances sont encore assez maigrichonnes et ma bibliothèque de fonctions/commandes n'en ai encore qu'à ses débuts ^-^ Mais chat me réchauffe le cœur de voir que mes interventions sont appréciées :3

Bisous,
Luna

Lien vers le commentaire
Partager sur d’autres sites

@(gile), je suis parfaitement d'accord avec toi ! Personnellement je ne toucherai aucunement à (polymake) sauf que contrairement à moi, @DenisHen semble avoir des difficultés sur la compréhension de mon programme donc pour lui éviter de devoir modifier la fonction récursive, j'ai préféré lui suggérer la modification de (polymake) qui est plus simple en terme de compréhension. Mais vui clairement, c'est plus naturel de conserver (polymake) avec le retour du nom d'entité pour faire les ajouts en utilisant le retour de la fonction (en plus avec les (progn), cela ne devrait pas poser de soucis pour rajouter des expressions)...

Bref @DenisHen, fait au plus simple pour toi, on ne jugera pas ! Et lorsque tu te sentiras suffisamment à l'aise tu pourras commencer à faire les choses plus proprement 😉

Bisous,
Luna

Lien vers le commentaire
Partager sur d’autres sites

@Luna, merci à toi, j'ai modifié (polymake) car je ne sais effectivement pas faire autrement.
Merci encore à toi.
Denis.

Windows 11 / AutoCAD 2024

Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net).
Davantage d'avantages, avantagent davantage (Bobby Lapointe).
La connaissance s'accroît quand on la partage (Socrate).
Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)

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é