计算人孔坡度
我知道总有一个lisp的数字,是任何人都可以帮助对lisp,可以做例子附加。其中显示了(反转电平减去反转电平)除以长度,得到的结果为1:______
因为当我有很多人孔的时候,我花了很多时间一个一个地计算。
提前感谢
MH梯度。图纸 只需写一个lisp,答案是说pick line=2D length pick Il1 pick il22 pull Il’s out grade=l/(Il1-il2)strcat“1:”进行评分,你就得到了答案。
这是一个开始,它会工作,但你需要一点更多,它不会识别“=26.2”,但将与26.2李mac做了一个从文本字符串拉数字,所以做了一点搜索这里我现在不能。
(setq en1 (car (entsel "\nSelect text number1:" )))
(setq el1 (entget en1))
(setq v1 (atof (cdr (assoc 1 el1))))
(setq en2 (car (entsel "\nSelect text number2:" )))
(setq el2 (entget en2))
(setq v2 (atof (cdr (assoc 1 el2))))
(setq diff(- v1 v2))
(setq en3 (car (entsel "\nSelect line:" )))
(setq el3 (entget en3))
(setq Pt1(cdr (assoc 10 el3)))
(setq Pt2 (cdr (assoc 11 el3)))
(setq dist (distance Pt1 Pt2))
(setq grade (/ dist diff))
(setq ansgrd (strcat "1:" (rtos grade 2 3)))
(princ ansgrd)
谢谢,即使它没有从字符串中提取数字也没关系,但是如何将结果输出到我们想要的位置呢?
再次感谢 我尝试输入
(princ“\n\nansgrd=”)(princ ansgrd)
(setq pt(getpoint“\n插入点:”)
但因为我Lisp程序,所以不知道该怎么办
将以下内容放在支持的代码末尾。
(entmake (list (cons 0 "TEXT")(cons 10 (getpoint "\n Text Location:"))(cons 40 (getvar 'textsize))(cons 1 ansgrd)))
多亏了比格尔和塔瓦,这真的帮了我很大的忙 还有一点,如何使命令重复/连续?我不需要每次都重新加载:不确定:
谢谢 您在那里绘制的管道长度是24.17米,而不是25米。
我个人只会手动计算管道等级,因为它不会花那么长时间,因为你是手动做的,我假设你没有设计系统(如果你做了,看看土木设计包,因为他们会为你做这件事),我个人不相信我得到的任何图纸足够准确(除非我自己做了),可以使用lisp提取值。
出于兴趣,“T=E-5”代表什么,我以前没有见过这个符号/无法计算出来。 Dink87522,我在做竣工测量,所以管道长度是基于现场的,当其人孔很多时,人工计算会有一段时间的人为错误。顺便说一句,“T=E-5”实际上是指E-5型(这是我遵循设计图纸的标签(指示)) 是的,但如果是竣工测量,则坡度计算中使用的管道长度(假设您添加的是竣工坡度,而不是应在其上建造的设计坡度)应为实际长度(24.17),而不是计算中显示的25。
页:
[1]
2