鞍式支座自动绘图lsp文件.docx
《鞍式支座自动绘图lsp文件.docx》由会员分享,可在线阅读,更多相关《鞍式支座自动绘图lsp文件.docx(22页珍藏版)》请在冰点文库上搜索。
![鞍式支座自动绘图lsp文件.docx](https://file1.bingdoc.com/fileroot1/2023-5/16/4d8ccb52-caa2-4016-ad74-ce08e3264fdb/4d8ccb52-caa2-4016-ad74-ce08e3264fdb1.gif)
鞍式支座自动绘图lsp文件
;;鞍式支座绘制程序
;;程序输入命令:
az2007
;;输入参数:
______________________________________________________________
(defunMODES(a)
(setqMLST'
())
(repeat(lengtha)
(setqMLST(appendMLST(list(list(cara)(getvar(cara))))))
(setqa(cdra))
)
)
;;;
;;;Restoremodes
;;;
______________________________________________
(defunMODER()
(repeat(lengthMLST)
(setvar(caarMLST)(cadarMLST))
(setqMLST(cdrMLST))
)
)
_______________________________________________
(defunDCH(ptpt1)(setqpt1(list(-(*(carpt1)2)(carpt))(cadrpt))))
________________________________________________
;;;
;;;AsciiTexterrorhandler
;;;
(defunat_err(st);Ifanerror(suchasCTRL-C)occurs
;whilethiscommandisactive...
(if(or(=st"Functioncancelled")
(=st"quit/exitabort")
)
(princ(strcat"\n数据错误,中断、退出。
"))
)
(moder);Restoremodifiedmodes
(if(=(typefp)'FILE)
(closefp)
)
(setqfpnil)
(setq*error*olderr);Restoreold*error*handler
(princ)
)
___________________________________________________________
(defundc(/dcl_id)
(setqdcl_id(load_dialog"az-2007.dcl"))
(if(not(new_dialog"az"dcl_id))(exit))
(ifdn(set_tile"dn"(rtosdn20)))
(ifs(set_tile"s"(rtoss20)))
(ifh(set_tile"h"(rtosh20)))
(setqsht0lx"B1")
(action_tile"A""(setqlx$key)(公称直径a)")
(action_tile"B1""(setqlx$key)(公称直径b)")
(action_tile"B2""(setqlx$key)(公称直径c)")
(action_tile"dn""(setqdn(atof$value))")
(action_tile"s""(setqs(atof$value))")
(action_tile"h""(setqh(atof$value))")
(mode_tile"dn"2)(mode_tile"dn"3)
(mode_tile"s"1)
(action_tile"pup_dn""(setqpup_dn$value)(标准高度)
(set_tile\"dn\"(nth(readpup_dn)dna))(mode_tile\"dn\"2)")
(action_tile"zhush""(setqsht0)(幻灯片显示)(mode_tile\"s\"1)(mode_tile\"h\"0)")
(action_tile"chesh""(setqsht1)(幻灯片显示)(mode_tile\"s\"0)(mode_tile\"h\"0)")
(action_tile"fush""(setqsht2)(幻灯片显示)(mode_tile\"s\"1)(mode_tile\"h\"1)")
(公称直径b)
(if(=sht0)(az_vslide"az_image""sht(sht)"0))
(action_tile"accept""(done_dialog1)")
(action_tile"cancel""(done_dialog0)")
(setqopt(start_dialog))
;(start_dialog)
(unload_dialogdcl_id)
(if(or(and(=sht0)(or(=hnil)(=dnnil)))
(and(=sht1)(or(=snil)(=hnil)(=dnnil)))
(and(=sht2)(=dnnil))
)
(setqopt0)
)
)
______________________________________________________
(defunread_txt(/fptxttxt_sb1opt_1fn)
(if(=(getvar"filedia")0)(setvar"filedia"1))
(setqfn(findfile"jbt4712.1.dat"))
(setqfp(openfn"r"))
(setqtxt_sb'())
(setqopt_11)
(while(=opt_11)
(setqtxt(read-linefp))
(if(/=txtnil)
(progn
(setqtxt_sb1(readtxt))
(setqtxt_sb(appendtxt_sb(listtxt_sb1)))
)
(setqopt_10)
)
);whileend
(closefp)
)
________________________________________________________________
(defunc:
az2007(/lxtxt_sbtxt_sb1sbmlstscaled0s0s1s2s3s4s5s6p0ppptp01
nb1b2b3b4ell1l2l3kwaa1a2aarxx1x2x3x4yy1y2y3
y4p1p2p3p4p5p6p7p8p9p10p11p12p13p14p15p16m1m2m3m4
m5m6m7m8m9m10m11m12m13m14m15m16m17m18m19m20m21m22
m23m24m25m26m27m28m30m31h1w1optdhdh1djduss1ss2pt0
ptaptbptcpt1pt3pt3pt4pt5pt6pt7pt8pt9pt10pt11pt12pt13
pt14pt15pt16pt17pt18pt19pt20pt21pt22pt23pt24pt25pt26sht)
(setqolderr*error*
*error*at_err)
(modes'("osmode""clayer""cmdecho"))
;;(setvar"dimse1"0)
;;(setvar"dimse2"0)
(setvar"cmdecho"0)
;;(setqscale(getvar"userr1"))
(dc)
(if(=opt0)(exit))
(setvar"osmode"32)
(cond((=sht0)(setqp0(getpoint"\n请输入鞍座主视图的定位点(鞍座中心线与筒体外表面的交点):
")))
((=sht1)(setqpp(getpoint"\n请输入鞍座侧视图的定位点:
")))
((=sht2)(setqpt(getpoint"\n请点取鞍座俯视图的定位点:
")))
)
(setvar"osmode"0)
----------------------------------------------------------------------------------------
(read_txt)
(foreachtxt_sb1txt_sb
(if(=lx(nth0txt_sb1))
(if(=dn(nth1txt_sb1))
(setqsbtxt_sb1)
)
)
)
(setqh1(nth3sb)l1(nth4sb)b1(nth5sb)s1(nth6sb)s2(nth7sb))
(setql3(nth8sb)b2(nth9sb)b3(nth10sb)s3(nth11sb)l(nth12sb))
(setqb4(nth13sb)s4(nth14sb)e(nth15sb)l2(nth16sb)w(nth17sb))
(setqw1(nth18sb)d(nth19sb)dh(nth20sb)dh1(nth21sb)s510s615)
(cond((or(=lx"A")(=lx"B1"))(setqjdu(/(*7.0pi)6.0)))
((=lx"B2")(setqjdu(/(*13.0pi)12.0)))
)
_______________________________________________________________________________________
(cond((=sht0)
(setqp1(list(-(carp0)(+(-(/b12.0)10)e))(cadrp0)))
(setqp2(list(+(carp1)b4)(cadrp0)))
(setqp3(list(carp1)(-(cadrp1)s4)))
(setqp4(list(carp2)(cadrp3)))
(setqp5(list(-(carp0)(/b12.0))(-(cadrp0)h)))
(setqp6(list(+(carp0)(/b12.0))(cadrp5)))
(setqp7(list(carp5)(+(cadrp5)s1)))
(setqp8(list(carp6)(cadrp7)))
(setqp9(list(+(carp7)s5)(cadrp7)))
(setqp10(list(carp9)(cadrp3)))
(setqp11(list(+(carp9)s2)(cadrp9)))
(setqp12(list(carp11)(cadrp10)))
(setqp15(list(carp0)(-(cadrp5)50)))
(setqp16(list(carp0)(-(cadrp0)80))))
((=sht2)
(setqpt1(list(-(carpt)(*0.5b1))(+(cadrpt)(*0.5l1))))
(setqpt2(list(+(carpt1)b1)(cadrpt1)))
(setqpt3(list(carpt2)(-(cadrpt2)l1)))
(setqpt4(list(-(carpt3)b1)(cadrpt3)))
(setqpt13(list(carpt)(+(cadrpt)(*0.5l2))))
(setqpt14(list(carpt)(-(cadrpt)(*0.5l2))))
(setqpt15(list(-(carpt13)(*0.5dh))(+(cadrpt13)(*0.5d))))
(setqpt16(list(+(carpt13)(*0.5dh))(+(cadrpt13)(*0.5d))))
(setqpt17(list(+(carpt13)(*0.5dh))(-(cadrpt13)(*0.5d))))
(setqpt18(list(-(carpt13)(*0.5dh))(-(cadrpt13)(*0.5d))))
(setqpt19(list(carpt15)(+(cadrpt15)10)))
(setqpt20(list(carpt18)(-(cadrpt18)10)))
(setqpt21(list(carpt16)(+(cadrpt16)10)))
(setqpt22(list(carpt17)(-(cadrpt17)10)))
(setqpt23(list(carpt13)(+(cadrpt13)(+(*0.5d)15))))
(setqpt24(list(carpt13)(-(cadrpt13)(+(*0.5d)15))))
(setqpt25(list(carpt14)(+(cadrpt14)(+(*0.5d)15))))
(setqpt26(list(carpt14)(-(cadrpt14)(+(*0.5d)15))))
(setqpt0(list(+(carpt)(*0.5b1)30.0)(cadrpt)))
(setqpta(list(-(carpt)(*0.5b1)30.0)(cadrpt)))
(setqptb(list(+(carpt)(*0.5b1)100.0)(cadrpt)))
(setqptc(list(carptb)(+(cadrptb)100.0)))
)
)
(cond((>=dn1000)(az1000))
(()
--------------------------------------------------------
(setqdn(fixdn))
(setqw(+w(*(/(-hh1)100)w1)))
(prompt"\nJB/T4712-2007鞍座")(prin1(read(strcaselx)))
(prin1dn)(prompt"-F(S)")(prin1w)(prompt"kg")
(moder)
(princ)
)
________________________________________________________
(defunaz900()
(if(=sht1)(progn
(if(or((setqd0dn)
(setqd0(+dn(*2.0s)))
)
(setqa(/ld0))
(setqa1(-(/(*3.0pi)2.0)a))
(setqa2(+(/(*3.0pi)2.0)a))
))
(if(=sht2)(progn
(setqpt5(list(+(carpt1)10)(-(cadrpt1)5.0)))
(setqpt6(list(+(carpt5)s2)(cadrpt5)))
(setqpt7(list(carpt6)(-(cadrpt6)(-l110))))
(setqpt8(list(-(carpt7)s2)(cadrpt7)))
(setqss1(ssadd))
(command"pline"pt1pt2pt3pt4"c")
(ssadd(entlast)ss1)
(command"pline"pt5pt6pt7pt8"c")
(ssadd(entlast)ss1)
(command"line"pt0pta"")
(ssadd(entlast)ss1)
(command"circle"pt13(*0.5d))
(command"circle"pt14(*0.5d))
(command"line"pt23pt24"")
(ssadd(entlast)ss1)
(command"line"pt25pt26"")
(ssadd(entlast)ss1)
(command"line"(list(-(carpt13)(+(*0.5d)10))(cadrpt13))
(list(+(carpt13)(+(*0.5d)10))(cadrpt13))"")
(command"line"(list(-(carpt14)(+(*0.5d)10))(cadrpt14))
(list(+(carpt14)(+(*0.5d)10))(cadrpt14))"")
))
(if(=sht0)(progn
(setqp13(list(+(carp11)b3)(cadrp11)))
(setqp14(list(carp13)(cadrp12)))
(command"pline"p1p3p4p2"")
(command"pline"p7p5p6p8p7"")
(command"line"p9p10"")
(command"line"p11p12"")
(command"line"p13p14"")
(command"line"p15p16"")
))
(if(=sht1)(progn
(setqm1(polarppa1(/d02.0)))
(setqm3(polarppa1(+(/d02.0)s4)))
(setqm5(polarppjdu(+(/d02.0)s4)))
(setqm9(list(-(carpp)(/l12.0))(-(cadrpp)(*0.5d0)h)))
(setqm11(list(carm9)(+(cadrm9)s1)))
(setqm13(list(+(carm11)5.0)(cadrm11)))
(setqm7(polarpp(/(*7.0pi)6.0)(+(/d02.0)s410)))
(setqm19(list(carpp)(-(cadrm9)(*2.0s1))))
(setqm20(list(carpp)(+(cadrpp)(/(*5.0d0)8.0))))
(setqm21(list(-(carpp)(/(*5.0d0)8.0))(cadrpp)))
(setqm23(list(carpp)(-(cadrpp)(/d02.0))))
(setqm24(list(-(carpp)(/l22.0))(+(cadrm11)10)))
(setqm25(list(carm24)(-(cadrm11)s110)))
(command"arc"m3"e"(dchm3pp)pp)
(setqss3(ssadd))
(command"line"m1m3"")
(ssadd(entlast)ss3)
(command"pline"m5m7m13"")
(ssadd(entlast)ss3)
(command"pline"m11m9(dchm9pp)(dchm11pp)m11"")
;(setvar"clayer""ddhx")
;;(command"line"p15p16"")
(command"line"m19m20"")
(command"line"m21(dchm21pp)"")
(command"line"m24m25"")
(ssadd(entlast)ss3)
(command"mirror"ss3""m19m20"")
))
(cond((<=dn450)
(cond((=sht1)
(setqr(+(/d02.0)s4))
(setqx1(/s32.0))
(setqy1(sqrt(-(*rr)(*x1x1))))
(setqm15(list(-(carpp)x1)(cadrm13)))
(setqm16(list(carm15)(-(cadrpp)y1))