antoniusxylem 发表于 2022-7-5 19:41:36

z轴问题

我尝试了几种不同的方法在特定的z点插入块,但最难做到这一点。我希望x和Y是getpoint所在的位置,但z是在2332.5或194’-4.5”的高程
欢迎任何帮助。。。
 
(定义C:*5(/ol ev ln pt1 pt2 x y z)
(setq ol(getvar“clayer”))
(setq ev(getvar“高程”))
(命令“layer”s“ALO”)
(命令“elevation”“2332.5”)
(setq pt1(getpoint“\n选择一个点:”)
(setq x(汽车pt1))
(setq y(cadr pt1))
(setq z(2332.5))
(setq pt2(列表x y z))
(命令“_.-insert”“d:/CAD\u BLOCKS/ALO.dwg”“\u non”pt2“”)
(setvar“clayer”ol)
;;;(setvar“elevation”ev)
(普林斯)
)
 
然后我试着
 
(定义C:*5(/ol uc ln pt1 pt2 x y z)
(setq ol(getvar“clayer”))
(setq uc(getvar“ucs”))
(命令“layer”s“ALO”)
(命令“UCS”“W”“UCS”“NEW”“0,0194'-4.5”)
(setq pt1(getpoint“\n选择一个点:”)
(setq x(汽车pt1))
(setq y(cadr pt1))
(setq z(caddr 0))
(setq pt2(列表x y z))
(命令“_.-insert”“d:/CAD\u BLOCKS/ALO.dwg”“\u non”pt2“”)
(setvar“clayer”ol)
;;;(setvar“ucs”uc)
(普林斯)
)
 
提前感谢

Tharwat 发表于 2022-7-5 19:58:18

 
只是一个例子。
 

(setq p (getpoint "\nSpecify point :"))
(setq xyz (list (car p) (cadr p) 2332.5))

tombu 发表于 2022-7-5 20:01:40

不需要lisp,只需使用insert命令,使用点过滤器。z然后输入2332.5,然后为x和y拾取点。
从帮助:
使用坐标过滤器指定三维点的步骤http://help.autodesk.com/view/ACD/2016/ENU/?guid=GUID-254BC000-91C5-40C5-BDF2-883F0D8B7700

antoniusxylem 发表于 2022-7-5 20:09:47

 
您不能手动添加。我试过几种不同的方法。如果出现对话框,可以添加z轴。
非常感谢。

antoniusxylem 发表于 2022-7-5 20:20:01

 
这会将2332.5“添加到getpoint。它不会在该高程插入对象。。。
我会尝试修改这个,我认为它很接近但没有雪茄。
非常感谢。

tombu 发表于 2022-7-5 20:25:11

抱歉使用。xy拾取点,您将得到提示:
指定第一点:。(需要Z)的_endp的XY:
然后输入2332.5
点过滤器也可以从“对象捕捉光标”菜单中获得
使用AutoCAD的时间已经超过了22年
很多帮助,包括视频在线搜索“AutoCAD点过滤器”或仅查看AutoCAD帮助。

antoniusxylem 发表于 2022-7-5 20:33:56

 
是的,这很有效,我也从1993年开始使用acad,我最近才开始深入研究三维空间。我写了很多例程,但最复杂的例程缺少z轴。哈哈。这奏效了,我会把它添加到Lisp程序中,再次感谢。

BIGAL 发表于 2022-7-5 20:49:24

大概
 

(command "move" "L" "" (list 0.0 0.0 0.0) (list 0.0 0.0 2333.5))
页: [1]
查看完整版本: z轴问题