new_mem 发表于 2022-7-5 15:48:04

将点的所有z更改为0.0

你好
 
有人能告诉我如何将点的所有z更改为0.0(随附文件)
 
 
 
谢谢


新建块。图纸

Dadgad 发表于 2022-7-5 15:52:12

无需lisp,只需选择俯视图中的所有点,然后在“特性”中将Z值(表示变化)设置为0.0即可完成此操作

new_mem 发表于 2022-7-5 15:57:20

谢谢你的回复。
 
但我指的是附件中椭圆的起点或终点。
 
对不起,上次的帖子不清楚

Roy_043 发表于 2022-7-5 15:59:49

dwg中的任何图元都不与WCS的XY平面共面。
 
你可以试试这个:
将UCS设置为WCS(\u UCS>\u World),然后使用“展平”命令。

new_mem 发表于 2022-7-5 16:03:32

你好
 
展平完成,然后对象运行到另一个位置。
我的意思是写代码lisp以下,但省略号不影响:
(defun c:test()
(setq ss (ssget '((0 . "ARC"))))
(setq n 0)
(repeat (sslength ss)
   (setq arc (vlax-ename->vla-object (ssname ss n)))
   (setq str (vlax-get arc 'StartPoint))
   (setq end (vlax-get arc 'EndPoint))
   (setq cen (vlax-get arc 'Center))
   (setq str_n (list (car str) (cadr str) 0.0))
   (setq end_n (list (car end) (cadr end) 0.0))
   (setq cen_n (list (car cen) (cadr cen) 0.0))
   (command "_ARC" "C" "_none" cen_n "_none" str_n "_none" end_n)
   (vla-delete arc)
   (setq n (1+ n))
   )
(princ)

)

Roy_043 发表于 2022-7-5 16:08:02

也许我误解了,但你打算如何在不移动实体的情况下更改其Z坐标?
请注意,大多数实体的法线为(0.00684151-7.95332e-005 0.999977),而不是(0.01)。因此,相对于WCS的XY平面,所有物体都略微倾斜。

new_mem 发表于 2022-7-5 16:11:32

谢谢Roy
 
我的意思是将对象转换为WCS中的pline(绿色)(随附文件)。你能告诉我怎么做吗?

新建块。图纸

jamalflash 发表于 2022-7-5 16:15:11

 
命令
压平
或者Lisp程序的zeroz

new_mem 发表于 2022-7-5 16:21:17

 
你好
Zeroz无效。
展平然后运行其他对象。

Roy_043 发表于 2022-7-5 16:24:29

你的画很奇特。不仅存在不良的3D效果,椭圆弧的大小半径似乎几乎相等(换句话说:它们实际上是圆形的)。
 
考虑到这一点,这里有一个函数,类似于您的建议,用于在Z=0平面上为圆弧和椭圆弧创建圆弧替换:
程序为:
1、切换到WCS。
2.使用c:Test替换所有(椭圆)弧。
3、展平所有多段线。
4.使用_Join命令。
5.某些元素不会连接形成闭合多段线。这是由于不准确。
页: [1] 2
查看完整版本: 将点的所有z更改为0.0