源码分享 圆柱平面绘制
(defun c:yz (/ pt1 rad1 nn1 hh1 ang ang1 ang2 ptx pty pt3 pt4 en1 en2 en3 en4)
(setvar "cmdecho" 0)
(setq os (getvar "osmode"))
(setvar "osmode" 0)
(setq pt1 (getpoint "\n指定圆柱圆心"))
(setq rad1 (getdist pt1 "\n指定圆柱半径"))
(if rad1 (setq rad rad1))
(setq nn1 (getint "\n等分数量:2,3,4"))
(if nn1 (setq nn nn1))
(setq hh1 (getdist "\n输入边厚"))
(if hh1 (setq hh hh1))
(setq ang (/ (/ (* pi 2) nn) 2))
(setq ang1 (- (/ pi 2) ang))
(setq ang2 (+ (/ pi 2) ang))
(setq ptx (polar pt1 ang1 rad))
(setq pty (polar pt1 ang2 rad))
(command "arc" ptx "e" pty "r" rad)
(setq en1 (entlast))
(setq pt3 (polar pt1 ang1 (- rad hh)))
(setq pt4 (polar pt1 ang2 (- rad hh)))
(command "arc" pt3 "e" pt4 "r" rad)
(setq en2 (entlast))
(command "line" ptx pt3 "")
(setq en3 (entlast))
(command "line" pty pt4 "")
(setq en4 (entlast))
(command "array" en1 en2 en3 en4 "" "p" pt1 nn 360 "")
(setvar "osmode" os)
(princ "\n完成绘图")
(prin1)
)
多年前的拙劣作品
应该是学lisp两个月左右写的
有用的朋友拿去
页:
[1]