ftmm 发表于 2016-6-28 09:49:05

关于z值归0,论坛里面所有lisp都不能支持嵌套快

实际操作中,会有很多嵌套快,或者其他东西.
能否有个lisp,搜索所有快。。。对每个块进行一次归0操作...
同理,搜索所有物体,对所有物体进行归0操作。
才能真正实现z值归0

waterchen 发表于 2016-6-28 09:57:53

如果只是单纯的把Z改为0,应该好办,历遍块就可以,但如果要把向量不是(0 0 1)的改过来就不容易,期待大神出手。

ftmm 发表于 2016-6-28 12:12:01

本帖最后由 ftmm 于 2016-6-28 12:22 编辑

所有的需求都是把z值直接改为0就可以了
例如这个: 强力Z坐标归零! 210组码问题还未解决,并不支持嵌套快的z至0
http://bbs.mjtd.com/thread-111797-1-1.html

xinxirong 发表于 2016-6-28 14:25:13

你们这些伸手党就知道找人要源码,还把问题描述得这么简单:
搜索所有快。。。对每个块进行一次归0操作.
搜索所有物体,对所有物体进行归0操作。

事实比你们想像的复杂多了,举个简单的例子:一个椭圆圆弧在三维空间中,投向到xy面上,是一条曲线,而不再是一条椭圆圆弧,你需要new一条多段线来模拟这段投射后的曲线,并加到原来的空间(模型、视口或块定义内),最后才把原来的圆弧删掉。

xinxirong 发表于 2016-6-28 14:26:56

z轴归零是一个很大的坑,只有你跳进去才知道要完善它可能是几个月甚至一年的时间。

ftmm 发表于 2016-6-28 16:20:46

那是你们想多了,所有z值归0都是z值不慎加了一点小数进去,只要强制改为0就可以了。

waterchen 发表于 2016-6-28 17:30:35

这是曾经有人放上来的测试文件:

waterchen 发表于 2016-6-28 17:31:28

强迫Z归零的结果:

自贡黄明儒 发表于 2016-6-28 18:37:18

ftmm 发表于 2016-6-28 16:20
那是你们想多了,所有z值归0都是z值不慎加了一点小数进去,只要强制改为0就可以了。

满足99.99%的需求了

情迷法兰西0 发表于 2016-6-30 12:08:06

(defun c:tt()
(setq ss(ssget (list '(0 . "insert")))
        sl(sslength ss)
        namelst(ss->enamelst ss))
(mapcar '(lambda(x)(entmod (subst (cons 10 (list (car (cdr (assoc 10 (entget x))))(cadr(cdr (assoc 10 (entget x)))))) (assoc 10 (entget x)) (entget x))))namelst)
)
页: [1] 2
查看完整版本: 关于z值归0,论坛里面所有lisp都不能支持嵌套快