帮助修复绘制的LISP
大家好,首先,让我先说我是LISP的新手
因此,我在网上找到了这个LISP,它将绘制压力容器的高程和方向以及数据表。除了几件事之外,它似乎工作得很好。1)它要求并绘制mm中的元素,是否有人可以帮助我修复LISP,使其以英寸为单位绘制?2)它现在只需要ID。有人能帮我让LISP提出ID或O.D.选项吗。?3)它要求提供容器的材料,但我不知道它在哪里使用该输入。我试着看了一遍代码,但就像我说的,我是个疯子。有人有什么想法吗?提前谢谢你的帮助,我知道这是一个很大的要求。
;名称:pv(压力容器设计);描述:设计压力容器t;hat符合中国规范(基本与ASME相同);作者:左;输入:设计压力,内径;r、 壳体高度;返回:设计汇总表和to;绘制设计的压力容器;本规范受版权保护,并具有:;有限保证。请参见http://w;栈单。Planet源代码。com/vb/scripts/Sho;wCode。asp?txtCodeId=84&lngWId=13;详细信息。************************************(定义c:pv()(setvar“osmode”0)(setq tth(getvar“textsize”))(setq clu(列出“设计规范”“密度压力MPa(G)”“设计温度(oC)”“内径(mm)”“容器高度(mm)”“中等”“测试压力MPa”“体积(m^3)”“空重(kg)”“主体材料”“外壳厚度(mm)”“头部厚度(mm)”“外部油漆区域(m^2)”)(setq pt0)(getpoint“\nDRAWING基点:”)(if(setq prss(getreal“\MPa(1 psi=0.007Mpa)下的设计压力):)(if(setq mat(getstring“\Vesser Material:”)(if(setq vid(getreal“\Vesser ID in mm:”)(if(setq shll(getreal“\Shell长度:”))(列表(cons 10 prss)(cons 20 mat)(cons 30 vid)(cons 40 shll)(cons 50 pt1))))(if(<prss 0.1)(setq prss 0.1))(setq fy 107)(cond((eq mat“16Mn”)(setq fy 163))((eq mat“A709”)(setq fy 163))((eq mat“Gr50”)(setq fy 163))((eq mat“Q345”)(setq fy 163));(命令“text”pt0“”0 fy)(setq st(/(*prss vid)(((*fy 2)prss))(setq st(+2 st))(setq ht(/(*prss vid)((*fy 2)(*0.5 prss))(setq ht(+3 ht))(if(<st(+ht 2))(setq st ht))(if(<ht st)(setq ht(+0 st))(setq st0(rtos(*2(atof rtos(/st 2)2 0)))(setq ht0(rtos(*2 atof(rtos(/ht 2)2 0))(setq st(atof st0))(setq ht(atof ht0))(Setq vid0(*200(atof(rtos(/vid 200)2 0)))(Setq vid1(rtos vid0 2 0))(Setq vid vid0)(Setq vsl(+shll(/vid 2)ht ht))(Setq TPSS(*prss 1.5))(Setq vvl(/(+(*pi(/vid 2)(/vid 2)shll)(*1.3333333 pi(expt(/vid 2)3)))(expt 1000 3))(Setq vwg(/(*1.2(+vid 2))。(*pi shll st vid)(*pi vid vid ht))7850)(出口1000 3)(setq parea(/(+(*pi shll vid)(*pi vid vid))(expt 1000 2))(setq prss0(rtos prss 2 2))(setq vsl0(rtos vsl 2 0))(setq TPRS0(rtos tprss 2 2))(setq vvl0(rtos vvl 2))(setq vwg 0(rtos vwg 2 2))(setq parea0(rtos parea 2 2 2))(setq rw(列出“GB-150”prss0“环境”vid1 vsl0“空气”TPRS0 vvl0 G0MATST0 ht0 parea0))(setq i 0)(setq tth(/(+vsl vid vid)200))(setvar“textsize”tth)(setq tt1(*tth 1。)(setq tt2(*tth 26))(setq pt1(极性pt0 0 vid))(而( 您是否注意到这句话:“此代码受版权保护,保修有限。请参阅http://www.Planet-Source-Code.com/vb/scripts/ShowCode.asp?txtCodeId=84&lngWId=13" 我确实注意到。。。但我想:1。)它是作为免费软件在网站上发布的,所以我可以重新发布它的完整性;2)我没有删除作者的信息,也没有试图为他的作品争光;和3。)仅仅因为它受版权保护,并不意味着我不能更改它。这是我在发布帖子之前的想法。我是不是推理错误了,还是错过了什么。我当然不是有意违反任何规则或冒犯任何人。
注意第2行: 我很抱歉没有花时间查看参考网站。我目前正在请求作者允许重新发布此LISP例程,以便根据我的具体需要对其进行裁剪。我会让每个人都知道最新消息。谢谢
-数据库
页:
[1]