在你们所有人展示的基础上,这就是我目前所拥有的。。。
;(定义C:BRAC()
;(INITGET 1)(SETQ A(GETPOINT“\n起始点:”)
;(INITGET 1)(SETQ B(GETPOINT A“\n终点:”)
;(SETQ C(/(距离A B)2))
;(SETQ D(GETDIST(STRCAT“\n填充半径:”))
;(IF(NULL D)(SETQ D(+0.01(GETVAR“FILLETRAD”)))(SETQ D(+0.01 D)))
;(SETVAR“FILLETRAD”(-D 0.01))
;(SETQ E(角度B A))
;(SETQ F(+1.570796 E))
;(命令“PLINE”B(极轴B F D)
; (极坐标(GETVAR“LASTPOINT”)E C)
; (极坐标(GETVAR“LASTPOINT”)F D)\r)
;(设定值F(-F PI))
;(命令“LINE”“@”(POLAR(GETVAR“LASTPOINT”)F D)
; (极坐标(GETVAR“LASTPOINT”)E C)
; (极坐标(GETVAR“LASTPOINT”)F D)\r)
;(命令“FILLET”“P”“@”)
;(命令“FILLET”“P”B)
(定义C:BRAC(/*错误*ang cp1 cp2 cpt ep2 ept)
lp my\u error\u f olderr\u f r resp rf
sp1 spt svfrad svosmode upt)
(setq svosmode(getvar“osmode”))
(setvar“osmode”0)
(setq svfrad(getvar“filletrad”))
(setq olderr\u f*错误*
*错误*my\u error\u f)
(setvar“cmdecho”0)
(命令“\u ortho”“\u on”)
(IF(NULL D)(SETQ D(+0.01(GETVAR“FILLETRAD”)))(SETQ D(+0.01 D)))
(SETVAR“FILLETRAD”(-D 0.01))
(setq r 0.25 rf(*D r))
(initget 1“左-右”)
(setq resp(getkword“\n选择制动位置[左/右]:”)
(setq spt(getpoint“\n指定上限:”)
ept(getpoint spt“\n指定下限:”)
lp(距离spt ept)
)
(如果
(等式resp“Left”)
(程序
(setq sp1(极性spt pi rf))
(setq ep2(极性ept pi rf))
(setq cpt(极性sp1(*pi 1.5)(/lp 2.0))upt(极性cpt pi rf))
(setq cp1(极性cpt(/π2)(/射频2.0)))
(setq cp2(极性cpt(*pi 1.5)(/rf 2.0)))
)
(程序
(setq sp1(极性spt 0 rf))
(setq ep2(极性ept 0 rf))
(setq cpt(极性sp1(*pi 1.5)(/lp 2.0))upt(极性cpt 0 rf))
(setq cp1(极性cpt(/π2)(/射频2.0)))
(setq cp2(极性cpt(*pi 1.5)(/rf 2.0)))
)
)
(命令“osnap”“\u none”“))
(命令“_.Pline”)(mapcar命令(list spt sp1 cp1 upt cp2 ep2 ept))(命令“”)
(setvar“filletrad”r)
(命令“_.fillet”“\u P”“\u L”)
(普林斯)
) 请阅读代码发布指南并编辑您的帖子,将代码包含在代码标签中。
页:
1
[2]