cad lisp 螺栓_autlisp螺栓程序

这是一个使用AutoLISP编程语言创建的CAD程序,用于绘制螺栓。用户可以输入螺栓的公称长度、直径、旋转角度等参数,程序将根据输入自动生成螺栓的二维视图。程序支持主视图、俯视图和左视图的选择,并通过调整层设置来增强绘图效果。
摘要由CSDN通过智能技术生成

(defun c:bolt(/ e0 e1 xzj d0 k k1 p0 pt0 ang l

d val t_zfz pr pl p1 p2 p3 p4 p5

p6 p7 p8 p1d p2d p3d p4d p5d p6d

p7d p8d p9

)

(command "limits" "" "297,210")

(command "zoom" "all")

(setvar "ltscale" 5)

(setq e0(entlast))

(setq p0 '(0 0))

(setq pt0(getpoint"输入基点&lt缺省(0,0)&gt:"))

(if(= pt0 nil)

(setq pt0(list 0 0))

)

(setq ang(getangle pt0 "输入旋转角:"))

(setq l(getdist "输入公称长度 (L):"))

(setq d(getdist "输入公称直径 (D):"))

(setq val(getreal"输入缩放比例&lt1.0&gt:"))

(if(= val nil)

(setq val 1.0)

)

(setq t_zfz(getint"选择视图(0-主视图\\1-俯视图\\2-左视图)&lt0&gt:"))

(if(= t_zfz nil)

(setq t_zfz 0)

)

(if(and(/= t_zfz 0)(/= t_zfz 1)(/= t_zfz 2))

(progn(print"选择视图错误!退出程序!")(exit))

)

(f_gettc)

(if(= t_zfz 0)

(progn

(setq d0 (/ d 2))

(setq k (* d 0.7)

k1 (* k 0.7)

)

(setq p1 (list 0 (- d0 1))

p2 (list 0 d0)

p3 (list 0 d)

p4 (list l (- d0 1))

p5 (list l d0)

p6 (list (- k1) d0)

p7 (list (- k) (* d0 1.5))

p8 (list (- k1) d)

p1d (list 0 (- 1 d0))

p2d (list 0 (- d0))

p3d (list 0 (- d))

p4d (list l (- 1 d0))

p5d (list l (- d0))

p6d (list (- k1) (- d0))

p7d (list (- k) (* d0 -1.5))

p8d (list (- k1) (- d))

p9 (list (- k) 0)

)

(setq pr (list (-(+ k 5)) 0)

pl (list (+ l 5) 0)

)

(command "zoom" "w" pr pl)

(command "layer" "m" "0" "c" 7 "0" "l" "continuous" "0" "lw" 0.36 "0" "")

;

(command "line" p8 p3 p3d p8d "" "line" p7 p7d "" "line" p6 p5 p5d p6d "")

(command "arc" p6 p7 p8 "arc" p6d p7d p8d "arc" p6 p9 p6d)

(command "layer" "m" "1" "c" 1 "1" "l" "continuous" "1" "lw" 0.18 "1" "")

(command "line" p1 p4 "" "line" p1d p4d "")

(command "layer" "m" "6" "c" 3 "6" "l" "centerX2" "6" "lw" 0.18 "6" "")

(command "line" pr pl "")

)

)

(if(= t_zfz 1)

(progn

(setq d0 (/ d 2))

(setq k (* d 0.7)

k1 (* k 0.7)

)

(setq r (* d (sin(/ pi 3))))

(setq p1 (list 0 (- d0 1))

p2 (list 0 d0)

p3 (list 0 r)

p4 (list l (- d0 1))

p5 (list l d0)

p6 (list (- k1) 0)

p7 (list (- k) (* r -0.5))

p8 (list (- k1) (r))

p1d (list 0 (- 1 d0))

p2d (list 0 (- d0))

p3d (list 0 (- r))

p4d (list l (- 1 d0))

p5d (list l (- d0))

p7d (list (- k) (* r -0.5))

p8d (list (- k1) (-r))

p9 (list (- k) 0)

)

(setq pr (list (-(- k 5))0)

pl (list (+ l 5) 0)

)

(command "zoom" "w" pr pl)

(command "layer" "m" "0" "c" 7 "0" "l" "continuous" "0" "lw" 0.36 "0" "")

(command "line" p8 p3 p3d p8d "" "line" p7 p7d "" "line" p2 p5 p5d p2d "" "line" p6 p0 "")

(command "arc" p6 p7 p8 "arc" p6 p7d p8d)

(command "layer" "m

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值