 - (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两个月左右写的
有用的朋友拿去
|