需要修复此Lisp
(defun c:测试()(setq p1(getpoint“\n点击点L:”)
p2(获取点“\n拾取点R:”)
p3(极性p2(dtr 270.0)(+(/0.10 2)0.10))
p4(极性p3(dtr 180.0)0.10)
p5(极性p4(dtr 150.0)0.10)
总和(-(距离p1 p2)0.373)
p6(极坐标p5(dtr 180.0)和)
p7(极坐标p6(dtr 210.0)0.10)
p8(极坐标p7(dtr 180.0)0.10)
“A梁”层
);endq公司
(命令“_layer”“m”layer”)
(命令“pline”p1 p2 p3 p4 p5 p6 p7 p8 p1“”)
(普林斯)
)
(defun dtr(x)
;定义度到弧度函数
(*π(/x 180.0))
;将角度除以180,然后
;将结果乘以常数PI
) ;功能结束
(普林斯) 首先,你需要提供更多关于你想要实现什么的信息——在禁用OSMODE后,例程绘制一些东西,只是不知道是否出错:
(setvar "OSMODE" 0)
第二,请编辑您的帖子,以遵循代码发布的规则。
当做
米尔恰
拾取p1 p2在地面上绘制截面混凝土板
照片。lisp错误 请看下面我的红色对白:
(defun c:test ( / MyOldOsmode MyOldOrtho )
;retain current setting to be able to restore later
(setq MyOldOsmode (getvar "OSMODE")
MyOldOrtho (getvar "ORTHOMODE"))
;disable auto-Osnap and activate Ortho mode
(setvar "OSMODE" 0) (setvar "ORTHOMODE" 1)
(setq p1 (getpoint "\nPick point L: ")
p2 (getpoint p1 "\nPick point R: ")
p3 (polar p2 (dtr 270.0) (+ (/ 0.10 2)0.10))
p4 (polar p3 (dtr 180.0)0.10)
p5 (polar p4 (dtr 150.0)0.10)
sum (- (distance p1 p2 )0.373)
p6 (polar p5 (dtr 180.0) sum)
p7 (polar p6 (dtr 210.0)0.10)
p8 (polar p7 (dtr 180.0)0.10)
Layer "A-BEAM"
);endq
(command "_layer" "m" Layer "")
(command "pline" p1 p2 p3 p4 p5 p6 p7 p8 p1 "")
;restore previous environment
(setvar "OSMODE" MyOldOsmode) (setvar "ORTHOMODE" MyOldOrtho)
(princ)
)
当做
米尔恰 Mircea,您只本地化了添加的变量,那么其余变量和子函数DTR呢? 这段代码可以做很多改进——我只修复了它,使其按预期工作。我不打算重写它。
当做
米尔恰
页:
[1]