(gile) Posté(e) le 15 novembre Posté(e) le 15 novembre L'astuce c'est d'avoir un décalage en X (ici 0.15) qui soit un multiple du décalage en Y (ici 0.015). On peut aussi le faire avec une largeur de 15 cm et le même décalage en Y de 1.5 cm. *Ardoises 0, -0.0212132034,0, 0.12727923,0.10606601, 0.0424264069,-0.21213205 225, 0,0, 0.165,-0.015, 0.15,-1.65 315, 0,0, 0.165,0.015, 0.15,-1.65 1 Citer Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
(gile) Posté(e) le 16 novembre Posté(e) le 16 novembre Puisqu'il est question de LISP dans le titre du sujet, je n'ai pas pu résister. Voici un LISP qui génère un motif de hachure pour des ardoises en losange en spécifiant la longueur des segments longs (d). (defun ardoisePat (d / z a b c) (setq z (getvar 'dimzin) a (/ d 9.) b (* a (sqrt 2.)) c (* d (sqrt 0.5)) ) (setvar 'dimzin 8) (princ (strcat "0, " (rtos (* -1 b) 2 12) ",0, " (rtos (+ c b) 2 12) "," (rtos c 2 12) ", " (rtos (* 2 b) 2 12) "," (rtos (* -2 c) 2 12) "\n225, 0,0, " (rtos (* 10 a) 2 12) "," (rtos (- a) 2 12) ", " (rtos d 2 12) "," (rtos (* -10. d) 2 12) "\n315, 0,0, " (rtos (* 10 a) 2 12) "," (rtos a 2 12) ", " (rtos d 2 12) "," (rtos (* -10. d) 2 12) ) ) (setvar 'dimzin z) (princ) ) À lancer en ligne de commande (ou dans l'éditeur Visual LISP). Commande: (ardoisepat 0.14) 0, -0.021998877637,0, 0.120993827003,0.098994949366, 0.043997755274,-0.197989898732 225, 0,0, 0.155555555556,-0.015555555556, 0.14,-1.4 315, 0,0, 0.155555555556,0.015555555556, 0.14,-1.4 1 1 Citer Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
(gile) Posté(e) le 17 novembre Posté(e) le 17 novembre Une autre version avec un argument supplémentaire : le rapport entre le décalage en X et en Y (fixé à 10 dans le code ci dessus) pour permettre de jouer sur le rapport entre le segment long et le segment court (chanfrein). ;; Décrit un motif de hachueres "ardoises losange" ;; ;; Arguments ;; d : longueur des segments longs (REAL) ;; r : rapport entre le décalage en X et en Y du segment long (INT) ;| Commande: (ardoisepat 0.32 20) 0, -0.023818333682,0, 0.250092503662,0.22627416998, 0.047636667364,-0.452548339959 225, 0,0, 0.336842105263,-0.016842105263, 0.32,-6.4 315, 0,0, 0.336842105263,0.016842105263, 0.32,-6.4 |; (defun ardoisePat (d r / z a b c) (setq z (getvar 'dimzin) a (/ d (- r 1.)) b (* a (sqrt 2.)) c (* d (sqrt 0.5)) ) (setvar 'dimzin 8) (princ (strcat "0, " (rtos (* -1 b) 2 12) ",0, " (rtos (+ c b) 2 12) "," (rtos c 2 12) ", " (rtos (* 2 b) 2 12) "," (rtos (* -2 c) 2 12) "\n225, 0,0, " (rtos (* r a) 2 12) "," (rtos (- a) 2 12) ", " (rtos d 2 12) "," (rtos (* (- r) d) 2 12) "\n315, 0,0, " (rtos (* r a) 2 12) "," (rtos a 2 12) ", " (rtos d 2 12) "," (rtos (* (- r) d) 2 12) ) ) (setvar 'dimzin z) (princ) ) 2 Citer Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Otarie Posté(e) le 17 novembre Auteur Posté(e) le 17 novembre Il y a 6 heures, (gile) a dit : Une autre version avec un argument supplémentaire : le rapport entre le décalage en X et en Y (fixé à 10 dans le code ci dessus) pour permettre de jouer sur le rapport entre le segment long et le segment court (chanfrein). ;; Décrit un motif de hachueres "ardoises losange" ;; ;; Arguments ;; d : longueur des segments longs (REAL) ;; r : rapport entre le décalage en X et en Y du segment long (INT) ;| Commande: (ardoisepat 0.32 20) 0, -0.023818333682,0, 0.250092503662,0.22627416998, 0.047636667364,-0.452548339959 225, 0,0, 0.336842105263,-0.016842105263, 0.32,-6.4 315, 0,0, 0.336842105263,0.016842105263, 0.32,-6.4 |; (defun ardoisePat (d r / z a b c) (setq z (getvar 'dimzin) a (/ d (- r 1.)) b (* a (sqrt 2.)) c (* d (sqrt 0.5)) ) (setvar 'dimzin 8) (princ (strcat "0, " (rtos (* -1 b) 2 12) ",0, " (rtos (+ c b) 2 12) "," (rtos c 2 12) ", " (rtos (* 2 b) 2 12) "," (rtos (* -2 c) 2 12) "\n225, 0,0, " (rtos (* r a) 2 12) "," (rtos (- a) 2 12) ", " (rtos d 2 12) "," (rtos (* (- r) d) 2 12) "\n315, 0,0, " (rtos (* r a) 2 12) "," (rtos a 2 12) ", " (rtos d 2 12) "," (rtos (* (- r) d) 2 12) ) ) (setvar 'dimzin z) (princ) ) Super @(gile), c'est parfait ! Merci beaucoup ! Citer
Messages recommandés