明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 801|回复: 5

[已解答] 再次请求支援,表Y值相同合并

[复制链接]
发表于 2015-8-3 11:07:31 | 显示全部楼层 |阅读模式
  1. (defun c:tt ()
  2.   (setq a '(0 0  0))
  3.   (setq b '(10 0 0))
  4.   (setq c '(220 20  0))
  5.   ;(setq li (list a b c))

  6. )
  7. ;希望结果  (((0 0  0)(10 0 0))(220 20  0))
y值相同表连接,没办法,只能求教了。

点评

结果有变化?  发表于 2015-8-3 11:25
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2015-8-3 11:44:43 | 显示全部楼层
大师,结果没有变化,就是按总表的顺序。把Y值相同的合并为一个表.只管Y值。
发表于 2015-8-3 12:36:08 | 显示全部楼层
本帖最后由 cable2004 于 2015-8-3 16:10 编辑
  1. (defun c:tt ()
  2.   (setq a '(0 0  0))
  3.   (setq b '(10 2 0))
  4.   (setq c '(220 20  0))
  5.   (setq li (list a b c '(120 20  0) '(320 20  0) '(420 20  0) '(40 2 0) '(30 2 0) '(110 2 0) '(10 0  0) '(20 0 0) '(30 0 0) '(40 0 0)))
  6.   (setq aaa (sort-same-y li))
  7.   (princ)
  8. )

  9. ;;;(((220 20 0) (120 20 0) (320 20 0) (420 20 0))
  10. ;;;  ((10 2 0) (40 2 0) (30 2 0) (110 2 0))
  11. ;;;  ((0 0 0) (10 0 0) (20 0 0) (30 0 0) (40 0 0)))

  12. (defun sort-same-y (l / lst l1 a)
  13.    (while l
  14.      (setq a   (car l)
  15.      l   (cdr l)
  16.            l1  (vl-remove-if '(lambda (e) (/= (cadr e)(cadr a)) ) l)
  17.      lst (cons (cons a l1) lst)
  18.      l1 nil
  19.      l  (vl-remove-if '(lambda (e) (= (cadr e)(cadr a)) ) l)
  20.      ))
  21.   lst)
是不是这个意思

点评

出手太快了,正是这样的。谢谢!  发表于 2015-8-3 12:53

评分

参与人数 1明经币 +1 收起 理由
434939575 + 1 很给力!

查看全部评分

 楼主| 发表于 2015-8-3 15:58:12 | 显示全部楼层
cable2004 发表于 2015-8-3 12:36
是不是这个意思

这个还请您看一下,能运行出结果,提示:应用程序错误: 参数类型错误,高级的我玩不转
 楼主| 发表于 2015-8-3 16:08:25 | 显示全部楼层
测试((-144.259 -1.22465e-015 0.0) (-105.59 0.0 0.0) (-125.031 3.15913e-015 0.0) (-144.259 10.0 0.0) (-125.031 10.0 0.0) (-105.59 10.0 0.0) (-105.59 20.0 0.0) (-144.259 20.0 0.0) (-125.031 20.0 0.0)) 返回:(((-105.59 20.0 0.0) (-144.259 20.0 0.0) (-125.031 20.0 0.0)) ((-105.59 10.0 0.0)) ((-144.259 10.0 0.0) (-125.031 10.0 0.0)) ((-125.031 3.15913e-015 0.0)) ((-105.59 0.0 0.0)) ((-144.259 -1.22465e-015 0.0)))有点点问题。

点评

浮点数的比较要用Equal 带容差进行比较!  发表于 2015-8-3 16:41
 楼主| 发表于 2015-8-3 17:10:10 | 显示全部楼层
多谢版主指点!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-21 16:10 , Processed in 0.189982 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表