วันอาทิตย์ที่ 11 มีนาคม พ.ศ. 2555

AutoCAD : เรขาคณิต เส้นตรง - วงกลม

จากเส้นตรงของรูปหลายเหลี่ยมด้านเท่า เมื่อนำมาวางซ้อนกันหลายรูป โดยให้หมุนไปรูปละองศาเท่าๆกัน จะสามารถให้ผลสร้างเป็นวงกลมได้


ลองใช้คำสั่ง PNN จากโค้ดถัดไปนี้เพื่อสร้างรูปหลายเหลี่ยมซ้อนกันดังกล่าว

(defun c:pnn (/ osmode n sides r p ang ang1)
(setq osmode (getvar "osmode"))
(initget 7)
(setq n (getint "\nCopies = "))
(initget 7)
(setq sides (getint "\nSides = "))
(initget 7)
(setq r (getdist "\nRadius of circumscribe = "))
(initget 1)
(setq p (getpoint "\nCenter = "))
(setq ang (/ 180. n)
ang1 0.
)
(setvar "osmode" 0)
(setvar "cmdecho" 0)
(repeat n
(command "polygon"
sides
p
"I"
(strcat "@"
(rtos r 2 8)
"<"
(rtos (setq ang1 (+ ang1 ang)) 2 8)
)
)
)
(setvar "cmdecho" 1)
(setvar "osmode" osmode)
(princ)
)

พรอมต์ของคำสั่ง
Command: pnn
Copies = จำนวนสำเนา เช่น 12
Sides = จำนวนด้านของรูปหลายเหลี่ยม เช่น 3
Radius of circumscribe = ค่ารัศมีของวงกลมล้อมรูปหลายเหลี่ยม เช่น 50
Center = กำหนดตำแหน่งจุดศูนย์กลาง