(setvar "cmdecho" 0) ; 关闭命令的回显
(setq innerdiafactor 1.5) ; 设置内径系数
(initget 7) ; radmid 必须非零、非空、非负
(setq radmid (getdist "\n公制外径: "))
(initget 7) ; threadpitch 必须非零、非空、非负
(setq threadpitch (getreal "\n螺距: "))
(initget 1) ; ptStart 必须非空
(setq ptStart (getpoint "\n起始点: "))
(initget 3) ; threadlength 必须非零、非空、非负
(setq threadlength (getdist "\n螺纹总长(Y方向): ")) ; 对公制外径添加公差
(if (<= radmid 3) (setq order 0) ; 根据公制外径确定公差带中位置
(if (<= radmid 6) (setq order 1)
(if (<= radmid 10) (setq order 2)
(if (<= radmid 18) (setq order 3)
(if (<= radmid 30) (setq order 4)
(if (<= radmid 50) (setq order 5)
(if (<= radmid 80) (setq order 6)
(if (<= radmid 120) (setq order 7)
(if (<= radmid 180) (setq order 8)
(if (<= radmid 250) (setq order 9)
(if (<= radmid 315) (setq order 10)
(if (<= radmid 400) (setq order 11)
(if (<= radmid 500) (setq order 12)
)))))))))))))
(if (< threadpitch 0.25) (setq radmid (+ radmid (nth order 4H))) ; 根据螺距确定公差带
(if (< threadpitch 0.35) (setq radmid (+ radmid (nth order 5H)))
(if (>= threadpitch 0.35) (setq radmid (+ radmid (nth order 6H)))
)))
(setq h (* 0.866025 threadpitch)) ; 计算齿高

