How to Draw a Dodecahedron in Autocad

orientation 3 :

main function :

(defun c:geodesic-icosidodeca ( / PP1 PP2 PP3 PP4 PP5 PP6 PP7 PP8 PP9 PP10 PP11 PP12 ALLFACES DODECAF1 DODECAF10 DODECAF11 DODECAF12 DODECAF2 DODECAF3 DODECAF4 DODECAF5 DODECAF6 DODECAF7 DODECAF8 DODECAF9 ICOSAF1 ICOSAF10 ICOSAF11 ICOSAF12 ICOSAF13 ICOSAF14 ICOSAF15 ICOSAF16 ICOSAF17 ICOSAF18 ICOSAF19 ICOSAF2 ICOSAF20 ICOSAF3 ICOSAF4 ICOSAF5 ICOSAF6 ICOSAF7 ICOSAF8 ICOSAF9 M PT PTICOSALST PTICOSIDODECALST PTICOSIDODECALSTN R RAD SEG TAO TAO3)  (setq tao (/ (+ (sqrt 5.0) 1.0) 2.0))  (setq tao3 (sqrt 3.0))  (setq pticosalst (list                      (setq pp1 (list 0.0 (/ (* tao3 2.0) 3.0) (sqrt (- (expt tao 2) (/ 1.0 3.0)))))                      (setq pp2 (list -1.0 (/ (- tao3) 3.0) (sqrt (- (expt tao 2) (/ 1.0 3.0)))))                      (setq pp3 (list 1.0 (/ (- tao3) 3.0) (sqrt (- (expt tao 2) (/ 1.0 3.0)))))                      (setq pp4 (list 0.0 (/ (* tao3 2.0) -3.0) (- (sqrt (- (expt tao 2) (/ 1.0 3.0))))))                      (setq pp5 (list 1.0 (/ tao3 3.0) (- (sqrt (- (expt tao 2) (/ 1.0 3.0))))))                      (setq pp6 (list -1.0 (/ tao3 3.0) (- (sqrt (- (expt tao 2) (/ 1.0 3.0))))))                     (setq pp7 (mapcar '* (list (sqrt 5.0) (sqrt 5.0) (sqrt 5.0)) (prptp pp1 pp2 pp6 '(0.0 0.0 0.0))))                     (setq pp8 (mapcar '* (list (sqrt 5.0) (sqrt 5.0) (sqrt 5.0)) (prptp pp2 pp6 pp4 '(0.0 0.0 0.0))))                     (setq pp9 (mapcar '* (list (sqrt 5.0) (sqrt 5.0) (sqrt 5.0)) (prptp pp2 pp4 pp3 '(0.0 0.0 0.0))))                     (setq pp10 (mapcar '* (list (sqrt 5.0) (sqrt 5.0) (sqrt 5.0)) (prptp pp3 pp4 pp5 '(0.0 0.0 0.0))))                     (setq pp11 (mapcar '* (list (sqrt 5.0) (sqrt 5.0) (sqrt 5.0)) (prptp pp3 pp1 pp5 '(0.0 0.0 0.0))))                     (setq pp12 (mapcar '* (list (sqrt 5.0) (sqrt 5.0) (sqrt 5.0)) (prptp pp1 pp5 pp6 '(0.0 0.0 0.0))))                   )  )  (setq pticosidodecalst (list                           (mid (nth 0 pticosalst) (nth 1 pticosalst))                           (mid (nth 1 pticosalst) (nth 2 pticosalst))                           (mid (nth 2 pticosalst) (nth 0 pticosalst))                           (mid (nth 0 pticosalst) (nth 6 pticosalst))                           (mid (nth 1 pticosalst) (nth 6 pticosalst))                           (mid (nth 1 pticosalst) (nth 7 pticosalst))                           (mid (nth 1 pticosalst) (nth 8 pticosalst))                           (mid (nth 2 pticosalst) (nth 8 pticosalst))                           (mid (nth 2 pticosalst) (nth 9 pticosalst))                           (mid (nth 2 pticosalst) (nth 10 pticosalst))                           (mid (nth 0 pticosalst) (nth 10 pticosalst))                           (mid (nth 0 pticosalst) (nth 11 pticosalst))                           (mid (nth 11 pticosalst) (nth 6 pticosalst))                           (mid (nth 6 pticosalst) (nth 7 pticosalst))                           (mid (nth 7 pticosalst) (nth 8 pticosalst))                           (mid (nth 8 pticosalst) (nth 9 pticosalst))                           (mid (nth 9 pticosalst) (nth 10 pticosalst))                           (mid (nth 10 pticosalst) (nth 11 pticosalst))                           (mid (nth 11 pticosalst) (nth 5 pticosalst))                           (mid (nth 6 pticosalst) (nth 5 pticosalst))                           (mid (nth 5 pticosalst) (nth 7 pticosalst))                           (mid (nth 7 pticosalst) (nth 3 pticosalst))                           (mid (nth 3 pticosalst) (nth 8 pticosalst))                           (mid (nth 9 pticosalst) (nth 3 pticosalst))                           (mid (nth 4 pticosalst) (nth 9 pticosalst))                           (mid (nth 10 pticosalst) (nth 4 pticosalst))                           (mid (nth 4 pticosalst) (nth 11 pticosalst))                           (mid (nth 4 pticosalst) (nth 5 pticosalst))                           (mid (nth 5 pticosalst) (nth 3 pticosalst))                           (mid (nth 3 pticosalst) (nth 4 pticosalst))                         )  )  (setq rad (getdist '(0.0 0.0 0.0) "\nPick radius : "))  (setq r (distance '(0.0 0.0 0.0) (car pticosalst)))  (setq m (/ rad r))  (setq pticosidodecalstn (mapcar '(lambda (pt) (list (* m (car pt)) (* m (cadr pt)) (* m (caddr pt)))) pticosidodecalst))  (initget 6)  (setq seg (getint "\nInput number of face segmentation per edge of icosidodecahedron : "))  (setq icosaf1 (projfaces2sph (faceseg3 (nth 0 pticosidodecalstn) (nth 1 pticosidodecalstn) (nth 2 pticosidodecalstn) seg) rad))  (setq icosaf2 (projfaces2sph (faceseg3 (nth 0 pticosidodecalstn) (nth 3 pticosidodecalstn) (nth 4 pticosidodecalstn) seg) rad))  (setq icosaf3 (projfaces2sph (faceseg3 (nth 1 pticosidodecalstn) (nth 6 pticosidodecalstn) (nth 7 pticosidodecalstn) seg) rad))  (setq icosaf4 (projfaces2sph (faceseg3 (nth 2 pticosidodecalstn) (nth 9 pticosidodecalstn) (nth 10 pticosidodecalstn) seg) rad))  (setq icosaf5 (projfaces2sph (faceseg3 (nth 10 pticosidodecalstn) (nth 11 pticosidodecalstn) (nth 17 pticosidodecalstn) seg) rad))  (setq icosaf6 (projfaces2sph (faceseg3 (nth 3 pticosidodecalstn) (nth 11 pticosidodecalstn) (nth 12 pticosidodecalstn) seg) rad))  (setq icosaf7 (projfaces2sph (faceseg3 (nth 4 pticosidodecalstn) (nth 5 pticosidodecalstn) (nth 13 pticosidodecalstn) seg) rad))  (setq icosaf8 (projfaces2sph (faceseg3 (nth 5 pticosidodecalstn) (nth 6 pticosidodecalstn) (nth 14 pticosidodecalstn) seg) rad))  (setq icosaf9 (projfaces2sph (faceseg3 (nth 7 pticosidodecalstn) (nth 8 pticosidodecalstn) (nth 15 pticosidodecalstn) seg) rad))  (setq icosaf10 (projfaces2sph (faceseg3 (nth 8 pticosidodecalstn) (nth 9 pticosidodecalstn) (nth 16 pticosidodecalstn) seg) rad))  (setq icosaf11 (projfaces2sph (faceseg3 (nth 12 pticosidodecalstn) (nth 18 pticosidodecalstn) (nth 19 pticosidodecalstn) seg) rad))  (setq icosaf12 (projfaces2sph (faceseg3 (nth 13 pticosidodecalstn) (nth 19 pticosidodecalstn) (nth 20 pticosidodecalstn) seg) rad))  (setq icosaf13 (projfaces2sph (faceseg3 (nth 14 pticosidodecalstn) (nth 21 pticosidodecalstn) (nth 22 pticosidodecalstn) seg) rad))  (setq icosaf14 (projfaces2sph (faceseg3 (nth 15 pticosidodecalstn) (nth 22 pticosidodecalstn) (nth 23 pticosidodecalstn) seg) rad))  (setq icosaf15 (projfaces2sph (faceseg3 (nth 16 pticosidodecalstn) (nth 24 pticosidodecalstn) (nth 25 pticosidodecalstn) seg) rad))  (setq icosaf16 (projfaces2sph (faceseg3 (nth 17 pticosidodecalstn) (nth 25 pticosidodecalstn) (nth 26 pticosidodecalstn) seg) rad))  (setq icosaf17 (projfaces2sph (faceseg3 (nth 18 pticosidodecalstn) (nth 26 pticosidodecalstn) (nth 27 pticosidodecalstn) seg) rad))  (setq icosaf18 (projfaces2sph (faceseg3 (nth 20 pticosidodecalstn) (nth 21 pticosidodecalstn) (nth 28 pticosidodecalstn) seg) rad))  (setq icosaf19 (projfaces2sph (faceseg3 (nth 23 pticosidodecalstn) (nth 24 pticosidodecalstn) (nth 29 pticosidodecalstn) seg) rad))  (setq icosaf20 (projfaces2sph (faceseg3 (nth 27 pticosidodecalstn) (nth 28 pticosidodecalstn) (nth 29 pticosidodecalstn) seg) rad))  (setq dodecaf1 (projfaces2sph (faceseg5 (nth 0 pticosidodecalstn) (nth 2 pticosidodecalstn) (nth 10 pticosidodecalstn) (nth 11 pticosidodecalstn) (nth 3 pticosidodecalstn) seg) rad))  (setq dodecaf2 (projfaces2sph (faceseg5 (nth 0 pticosidodecalstn) (nth 1 pticosidodecalstn) (nth 6 pticosidodecalstn) (nth 5 pticosidodecalstn) (nth 4 pticosidodecalstn) seg) rad))  (setq dodecaf3 (projfaces2sph (faceseg5 (nth 1 pticosidodecalstn) (nth 2 pticosidodecalstn) (nth 9 pticosidodecalstn) (nth 8 pticosidodecalstn) (nth 7 pticosidodecalstn) seg) rad))  (setq dodecaf4 (projfaces2sph (faceseg5 (nth 21 pticosidodecalstn) (nth 22 pticosidodecalstn) (nth 23 pticosidodecalstn) (nth 29 pticosidodecalstn) (nth 28 pticosidodecalstn) seg) rad))  (setq dodecaf5 (projfaces2sph (faceseg5 (nth 24 pticosidodecalstn) (nth 25 pticosidodecalstn) (nth 26 pticosidodecalstn) (nth 27 pticosidodecalstn) (nth 29 pticosidodecalstn) seg) rad))  (setq dodecaf6 (projfaces2sph (faceseg5 (nth 18 pticosidodecalstn) (nth 19 pticosidodecalstn) (nth 20 pticosidodecalstn) (nth 28 pticosidodecalstn) (nth 27 pticosidodecalstn) seg) rad))  (setq dodecaf7 (projfaces2sph (faceseg5 (nth 3 pticosidodecalstn) (nth 4 pticosidodecalstn) (nth 13 pticosidodecalstn) (nth 19 pticosidodecalstn) (nth 12 pticosidodecalstn) seg) rad))  (setq dodecaf8 (projfaces2sph (faceseg5 (nth 13 pticosidodecalstn) (nth 5 pticosidodecalstn) (nth 14 pticosidodecalstn) (nth 21 pticosidodecalstn) (nth 20 pticosidodecalstn) seg) rad))  (setq dodecaf9 (projfaces2sph (faceseg5 (nth 6 pticosidodecalstn) (nth 7 pticosidodecalstn) (nth 15 pticosidodecalstn) (nth 22 pticosidodecalstn) (nth 14 pticosidodecalstn) seg) rad))  (setq dodecaf10 (projfaces2sph (faceseg5 (nth 15 pticosidodecalstn) (nth 8 pticosidodecalstn) (nth 16 pticosidodecalstn) (nth 24 pticosidodecalstn) (nth 23 pticosidodecalstn) seg) rad))  (setq dodecaf11 (projfaces2sph (faceseg5 (nth 9 pticosidodecalstn) (nth 10 pticosidodecalstn) (nth 17 pticosidodecalstn) (nth 25 pticosidodecalstn) (nth 16 pticosidodecalstn) seg) rad))  (setq dodecaf12 (projfaces2sph (faceseg5 (nth 11 pticosidodecalstn) (nth 12 pticosidodecalstn) (nth 18 pticosidodecalstn) (nth 26 pticosidodecalstn) (nth 17 pticosidodecalstn) seg) rad))  (setq allfaces (append icosaf1 icosaf2 icosaf3 icosaf4 icosaf5 icosaf6 icosaf7 icosaf8 icosaf9 icosaf10 icosaf11 icosaf12 icosaf13 icosaf14 icosaf15 icosaf16 icosaf17 icosaf18 icosaf19 icosaf20 dodecaf1 dodecaf2 dodecaf3 dodecaf4 dodecaf5 dodecaf6 dodecaf7 dodecaf8 dodecaf9 dodecaf10 dodecaf11 dodecaf12))  (foreach face allfaces    (entmake (list (cons 0 "3DFACE")(cons 10 (car face))(cons 11 (cadr face))(cons 12 (caddr face))(cons 13 (cadddr face))))  )  (setq 3dfaces nil)  (princ) )        

M.R.

P.S. Hopefully this is last known platonic primitive based on interpolation of icosa or dodeca hedrons... Truncated icosa and dodeca hedrons are also with equal edges and points lie also on sphere, but their side polygons are more complex than triangle and 5 sided-polygon, so it isn't advicable to consider them in this process... And snub dodecahedron is very complicated even to draw like 3D SOLID as some vertexes can't be exactly computed with CAD... (look into my videos on youtube and you'll see how complex snub dodecahedron is so it's also skipped from this process)...

Regards, M.R.

:)

Edited by marko_ribar

polksquir1979.blogspot.com

Source: https://www.cadtutor.net/forum/topic/38335-geodesic-dome/page/2/

0 Response to "How to Draw a Dodecahedron in Autocad"

Postar um comentário

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel