找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: sinawell

[求助] 求大神指导方法。

[复制链接]

已领礼包: 8个

财富等级: 恭喜发财

 楼主| 发表于 2017-8-11 16:30:15 | 显示全部楼层
大神如何修改一下能让数据完整?现在运行后丢失后两位数据。谢谢!!!!
((944.03 393.161 1 "D4" "90") (794.315 393.161 1 "D20" "90") (888.1 399.38 0 "D10" "270") (278.256 399.409 0 "D3" "270"))
运行后:
((944.03 433.161 1) (794.315 433.161 "90") (888.1 473.161 "270") (278.256 513.161 "270"))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 24个

财富等级: 恭喜发财

发表于 2017-8-11 18:44:58 | 显示全部楼层

  1. (SETQ test '((421.237 446.104 0 "D9" "270")
  2.              (900.072 426.36 1 "D8" "90")
  3.              (816.134 454.528 0 "D16" "231")
  4.              (709.435 446.344 0 "D24" "270")
  5.              (916.396 459.707 0 "D6" "231")
  6.             )
  7. )
  8. (DEFUN yadd (lst / BASE I ITEM LST OUTLST Y)
  9.   (SETQ lst (VL-SORT lst '(LAMBDA (y1 y2) (< (CADR y1) (CADR y2))))) ;_Y值排序
  10.   (SETQ i 0) ;_计数器
  11.   (SETQ base (CADAR lst)) ;_第一点的Y值
  12.   (SETQ y (CADR lst)) ;_储存上一个点的Y值用于比较
  13.   (SETQ outlst (LIST (SUBST (+ base 40) (CADAR lst) (CAR lst))))
  14.   (SETQ lst (CDR lst))
  15.   (WHILE lst
  16.     (SETQ item (CAR lst))
  17.     (SETQ lst (CDR lst))
  18.     (IF  (NOT (EQUAL (CADR item) y 1e-6)) ;_误差值
  19.       (SETQ y (CADR item)
  20.             i (1+ i)
  21.       )
  22.     )
  23.     (SETQ outlst (CONS (SUBST (+ base (* i 40)) (CADR item) item) outlst))
  24.   )
  25.   (REVERSE outlst)
  26. )



你既然是求方法,只要看懂了上一个程序,微调一下就行
(yadd test) ---->((900.072 426.36 1 "D8" "90") (421.237 446.104 0 "D9" "270") (709.435 446.344 0 "D24" "270") (816.134 454.528 0 "D16" "231") (916.396 459.707 0 "D6" "231"))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 45个

财富等级: 招财进宝

发表于 2017-8-12 23:33:18 | 显示全部楼层
受教了,有时间好好看看
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8个

财富等级: 恭喜发财

 楼主| 发表于 2017-8-14 09:29:03 | 显示全部楼层
请问,如果只有两个元素,函数结果元素就会一样怎么办?
命令: (setq a '((278 395 90) (278 412 90)))
命令: (yadd a)
((278 435 90) (278 435 90))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2017-8-14 09:34:30 | 显示全部楼层

找找上面的代码,排序时候< 换成 equal 判断的浮点数的 <
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8个

财富等级: 恭喜发财

 楼主| 发表于 2017-8-14 09:44:47 | 显示全部楼层
(IF        (NOT (EQUAL (CADR item) y 1e-6)) ;_误差值  用的就是这个哦
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-8-14 09:53:38 | 显示全部楼层

好好去看看 11 楼 MARTING的帖子,理解好分组,和每个分组里面你想怎么处理。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8个

财富等级: 恭喜发财

 楼主| 发表于 2017-8-14 10:35:34 | 显示全部楼层
本帖最后由 sinawell 于 2017-8-14 10:37 编辑

MARTING大神的确可行,但结果是表分组出现的。小弟不知如何变回不分组的表。
执行前:
命令: !a
((1 2 3) (2 3 4) (3 5 7) (2 2 4) (3 3 4) (5 5 6) (3 2 5) (8 5 3) (4 3 6))


执行后:
命令: tt
(((1 42.0 3) (2 42.0 4) (3 42.0 5)) ((2 83.0 4) (3 83.0 4) (4 83.0 6)) ((3
125.0 7) (5 125.0 6) (8 125.0 3)))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 24个

财富等级: 恭喜发财

发表于 2017-8-14 12:03:12 | 显示全部楼层
将分组合并,可以用(apply 'append lst)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6468个

财富等级: 富甲天下

发表于 2017-8-15 00:11:17 | 显示全部楼层
排序函数。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-24 00:26 , Processed in 0.345743 second(s), 45 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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