bradb 发表于 2022-7-6 15:07:10

需要lisp帮助

(设定高度2(/高度2)
宽度2(/宽度2)
HYP(sqrt(+(*高2高2)(*宽2宽2)))
黄(+ANG(/π2))
DANG(+ANG(*PI 1.5))
郎(+ANG PI)
HYPANG(+ANG(cos(/HEIGHT2 HYP)))
 
)
(setq PP(getpoint“\n移动原点:”)
p1(极性pp HYPANG HYP)
p2(极宽)
p3(极轴p2危险高度)
p4(极轴p3和宽度)
)
 
这是绘制以原点为中心的四边形的例程的两部分。hyp-cal是正确的,但hypang的输出不正确。我试了一个4 x 4平方英寸的相机,知道它应该是45度,结果是43.5度。
 
我做错了什么,有什么帮助吗?
 
谢谢

Lee Mac 发表于 2022-7-6 15:13:50

不确定如何检索变量ANG,但很可能是度/弧度混淆。

bradb 发表于 2022-7-6 15:20:04

ANG是在命令提示0、30、45等处输入的度数

bradb 发表于 2022-7-6 15:28:57

你想看看整个节目吗

Lee Mac 发表于 2022-7-6 15:33:25

是的,请-会有帮助的

lpseifert 发表于 2022-7-6 15:36:37

假设海邦是斜边的角度,你能用吗
以弧度为单位
(setq hypang (atan (/ height2 width2)))
如果你需要学位

(defun rtd (a) (/ (* a 180.0) pi))
(setq hypang (rtd (atan (/ height2 width2))))

bradb 发表于 2022-7-6 15:44:05

(定义c:stock1(/高度宽度长度和高度2宽度2
HYP Huang DANG LANG HYPANG CHOICE PP
PT PE P1 P2 P3 P4)
(setvar“CMDECHO”0)
(setq)
高度(getreal“\n输入库存高度:”)
宽度(getreal“\n输入股票宽度:”)
长度(getreal“\n输入总精确长度:”)
ANG(getangle“\n输入旋转角度:”)
 
) ; 用户输入结束
(如果(=ANG nil)
(setq ANG 0)
)
(设定高度2(/高度2)
宽度2(/宽度2)
HYP(sqrt(+(*高2高2)(*宽2宽2)))
黄(+ANG(/π2))
DANG(+ANG(*PI 1.5))
郎(+ANG PI)
HYPANG(+ANG(cos(/高度2向量)))
 
)
(提示“\nOK,你想要什么?平面图、俯视图或立面图”)
(菜单)
)
(defun菜单()
(initget“Plan Top Elevation Quit”)
(setq选项(getpoint“\n规划/顶部/提升/退出:”)
(条件
(=选择“计划”)
(计划)
)
(=选择“顶部”)
(顶部)
)
(=选择“标高”)
(ELE)
)
(=选择“退出”)
(OK)
)
((空选择)
(提示“\n您必须输入P、T、E或Q!”)
(菜单)
)
)
)
 
(defun计划()
; 平面图
(setq PP(getpoint“\n移动原点:”)
p1(极性pp HYPANG HYP)
p2(极宽)
p3(极轴p2危险高度)
p4(极轴p3宽度)
)
 
(命令行p2 p3 p4 p5 cl)
(重新绘制)
(菜单)
)
 
(defun顶部()
;顶部
(setq PT(getpoint“\n移动原点:”)
P1(极PT LANG WIDTH2)
P2(极轴长度)
P3(极轴P2和宽度)
P4(极轴P3 DANG长度)
)
(命令“行”p1 p2 p3 p4“cl”)
(菜单)
)
 
(defun ELE()
;高程
(setq PE(getpoint“\n移动原点:”)
P1(极高2)
P2(极轴P1和长度)
P3(极轴P2危险高度)
P4(极轴P3长度)
)
 
(命令“行”P1 P2 P3 P4“CL”)
(重新绘制)
(菜单)
)
 
 
(defun OK()
(退出)
)

Lee Mac 发表于 2022-7-6 15:49:32

变量“vector”是什么?
 
此外,您还使用了“length”作为变量之一,我建议不要这样做,因为“length”本身就是一个AutoLISP函数。

bradb 发表于 2022-7-6 15:55:55

抱歉,向量现在是HYP。我一直在做改变,尝试不同的东西,我一定错过了当我张贴。

Lee Mac 发表于 2022-7-6 16:00:23

也没有函数(getout)。
 
但是关于角度,“getangle”以弧度返回,极轴输入也以弧度返回-所以我看不出有什么问题。
页: [1] 2
查看完整版本: 需要lisp帮助