Bonjour
Après quelques années à observer de loin le monde de la création de LISP, j'ai enfin pris le temps de me lancer et de tenter de créer mes propres outils
Après quelques heures, j'ai fini par réussir une première ébauche relativement fonctionnelle, mais loin d'être optimale.
Ma Lisp a pour objectif de sélectionner une polyligne et un diamètre, pour y appliquer un raccord du rayon demandé, et d’exécuter deux décalages afin de représenter l'épaisseur d'un réseaux de plomberie.
(Ci-dessous un exemple de la modification que je souhaite réaliser grâce à la commande)
Voici le résultat
(defun c:dev ()
(prompt "\nEntrer le réseau à dévoyer\n")
(setq l1 (entsel))
(prompt "\nEntrer le rayon du réseau\n")
(setq d1 (getreal))
(prompt "\nEntrer le centreseau\n")
(setq p (getpoint))
(setq x (car p))
(setq y (cadr p))
(setq z (caddr p))
(setq x2 (+ x 111))
(setq y2 (+ y 100))
(setq x3 (- x 111))
(setq y3 (- y 100))
(setq t1 (list x2 y2 z))
(setq t2 (list x3 y3 z))
(command
"raccord" "r" (* d1 2) ""
"raccord" "polyligne" l1
"_offset" d1 l1 t1 ""
"_offset" d1 l1 t2 ""
)
(princ)
)
Mon décalage fonction dans le principe, mais je ne pense pas que le bidouillage réaliser pour y parvenir soit bon. Auriez vous une idée sur la manière de choisir proprement la direction de mon décalage ?
Ma Lisp a aussi pour but de raccourcir la polyligne d'origine a chacune de ses deux extrémités, mais je n'ai pas encore réussi à trouver la manière d'y parvenir.
Merci à tout ceux qui sauront m'apporter leur aide.