找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1667|回复: 33

[编程申请] 表修改

[复制链接]

已领礼包: 106个

财富等级: 日进斗金

发表于 2016-9-3 08:58:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 ymcui2005 于 2016-9-3 08:59 编辑

;这是开始得出的表
(((F 6.00 定位孔,割,单+0.01) (1810.72 -285.955 0.0)) ((A 11.00 螺丝孔,钻穿)
(1805.79 -297.073 0.0)) ((B 10.00 销钉孔,割,单+0.01) (1822.5 -297.78 0.0)) ((F
6.00 定位孔,割,单+0.01) (1827.85 -285.955 0.0)) ((B 10.00 销钉孔,割,单+0.01)
(1836.93 -297.78 0.0)) ((F 4.00 定位孔,割,单+0.01) (1819.23 -276.239 0.0))
((F 6.00 定位孔,割,单+0.01) (1877.35 -285.955 0.0)) ((A 11.00 螺丝孔,钻穿)
(1872.6 -297.073 0.0)) ((B 10.00 销钉孔,割,单+0.01) (1888.17 -297.78 0.0)) ((F
6.00 定位孔,割,单+0.01) (1894.48 -285.955 0.0)) ((B 10.00 销钉孔,割,单+0.01)
(1901.46 -297.78 0.0)) ((F 4.00 定位孔,割,单+0.01) (1885.85 -276.239 0.0))
((F 2.00 定位孔,割,单+0.01) (1817.81 -268.253 0.0)) ((F 6.00
定位孔,割,单+0.01) (1793.74 -285.955 0.0)))

;下面是我自己做程序得出的表

(setq s1
'(
(
(F 6.00 定位孔) (1810.72 -285.955 0.0)
(F 6.00 定位孔) (1827.85 -285.955 0.0)
(F 6.00 定位孔) (1877.35 -285.955 0.0)
(F 6.00 定位孔) (1894.48 -285.955 0.0)
(F 6.00 定位孔) (1793.74 -285.955 0.0)
)
(
(A 11.00 螺丝孔) (1805.79 -297.073 0.0)
(A 11.00 螺丝孔) (1872.6 -297.073 0.0)
)
(
(B 10.00 销钉孔) (1822.5 -297.78 0.0)
(B 10.00 销钉孔) (1836.93 -297.78 0.0)
(B 10.00 销钉孔) (1888.17 -297.78 0.0)
(B 10.00 销钉孔) (1901.46 -297.78 0.0)
)
(
(F 4.00 定位孔) (1819.23 -276.239 0.0)
(F 4.00 定位孔) (1885.85 -276.239 0.0)
)
((F 2.00 定位孔) (1817.81 -268.253 0.0))
)
)

;下面的我就没办法了,求大神帮忙.谢谢
;要求结果↓
(setq s1
'(
((F1 2.00 定位孔) (1817.81 -268.253 0.0))

(
(F2 4.00 定位孔) (1819.23 -276.239 0.0)
(F2 4.00 定位孔) (1885.85 -276.239 0.0)
)

(
(F3 6.00 定位孔) (1810.72 -285.955 0.0)
(F3 6.00 定位孔) (1827.85 -285.955 0.0)
(F3 6.00 定位孔) (1877.35 -285.955 0.0)
(F3 6.00 定位孔) (1894.48 -285.955 0.0)
(F3 6.00 定位孔) (1793.74 -285.955 0.0)
)

(
(A 11.00 螺丝孔) (1805.79 -297.073 0.0)
(A 11.00 螺丝孔) (1872.6 -297.073 0.0)
)

(
(B 10.00 销钉孔) (1822.5 -297.78 0.0)
(B 10.00 销钉孔) (1836.93 -297.78 0.0)
(B 10.00 销钉孔) (1888.17 -297.78 0.0)
(B 10.00 销钉孔) (1901.46 -297.78 0.0)
)

)
)

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

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-9-3 11:18:25 | 显示全部楼层
把你的代码先贴出来吧。

点评

希望版主能帮忙解决。谢谢  详情 回复 发表于 2016-9-3 13:53
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 264个

财富等级: 日进斗金

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

使用道具 举报

已领礼包: 106个

财富等级: 日进斗金

 楼主| 发表于 2016-9-3 13:53:40 | 显示全部楼层
本帖最后由 ymcui2005 于 2016-9-3 13:56 编辑
newer 发表于 2016-9-3 11:18
把你的代码先贴出来吧。


希望版主能帮忙解决。谢谢

(defun Y_RE (T1 / x lst T2 T3)
  (foreach x T1
    (if (setq lst (assoc (car x) T2))
      (setq T2 (subst (append lst x) lst  T2))
      (setq T2 (cons x T2))
    )
  )
  (foreach xr T2
    (if (setq lst (assoc (caar xr) T3))
      (setq T3 (subst (append lst xr) lst  T3))
      (setq T3 (cons xr T3))
    )
  )
  (reverse T3)
)

点评

你试试二楼ILISP的代码, xd::list:groupbyindex 函数源码在开源函数库论坛 或 下载 晓东通用LISP函数库加载。  详情 回复 发表于 2016-9-3 14:01
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-9-3 14:01:02 | 显示全部楼层
ymcui2005 发表于 2016-9-3 13:53
希望版主能帮忙解决。谢谢

(defun Y_RE (T1 / x lst T2 T3)

你试试二楼ILISP的代码,

xd::list:groupbyindex 函数源码在开源函数库论坛 或 下载 晓东通用LISP函数库加载。

点评

(setq s1 (mapcar '(lambda (x) (cons (last (car x)) x)) s1)) (PRINC (xd::list:groupbyindex s1 0.001)) ; 错误: 参数类型错误: listp  详情 回复 发表于 2016-9-3 14:41
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 106个

财富等级: 日进斗金

 楼主| 发表于 2016-9-3 14:41:29 | 显示全部楼层
newer 发表于 2016-9-3 14:01
你试试二楼ILISP的代码,

xd::list:groupbyindex 函数源码在开源函数库论坛 或 下载 晓东通用LISP函数 ...

  (setq s1 (mapcar '(lambda (x) (cons (last (car x)) x)) s1))
(PRINC (xd::list:groupbyindex s1 0.001))

; 错误: 参数类型错误: listp <图元名: 7eaeb410>

点评

(setq s1 '(((F 6.0) (1810.72 -285.955 0.0) (F 6.0) (1827.85 -285.955 0.0) (F 6.0) (1877.35 -285.955 0.0) (F 6.0) (1894.48 -285.955 0.0) (F 6.0) (1793.74 -285.955 0.0)) ((A 11.0) (1805.79 -297.073 0.  详情 回复 发表于 2016-9-3 15:10
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-9-3 15:10:50 | 显示全部楼层
本帖最后由 newer 于 2016-9-3 15:12 编辑
ymcui2005 发表于 2016-9-3 14:41
(setq s1 (mapcar '(lambda (x) (cons (last (car x)) x)) s1))
(PRINC (xd::list:groupbyindex s1 0. ...

(setq s1 '(((F 6.0) (1810.72 -285.955 0.0) (F 6.0) (1827.85 -285.955 0.0) (F 6.0) (1877.35 -285.955 0.0) (F 6.0) (1894.48 -285.955 0.0) (F 6.0) (1793.74 -285.955
0.0)) ((A 11.0) (1805.79 -297.073 0.0) (A 11.0) (1872.6 -297.073 0.0)) ((B
10.0) (1822.5 -297.78 0.0) (B 10.0) (1836.93 -297.78 0.0) (B 10.0) (1888.17
-297.78 0.0) (B 10.0) (1901.46 -297.78 0.0)) ((F 4.0) (1819.23 -276.239 0.0) (F
4.0) (1885.85 -276.239 0.0)) ((F 2.0) (1817.81 -268.253 0.0))))

命令: (setq s1 (mapcar '(lambda (x) (cons (last (car x)) x)) s1))
((6.0 (F 6.0) (1810.72 -285.955 0.0) (F 6.0) (1827.85 -285.955 0.0) (F 6.0)
(1877.35 -285.955 0.0) (F 6.0) (1894.48 -285.955 0.0) (F 6.0) (1793.74 -285.955
0.0)) (11.0 (A 11.0) (1805.79 -297.073 0.0) (A 11.0) (1872.6 -297.073 0.0))
(10.0 (B 10.0) (1822.5 -297.78 0.0) (B 10.0) (1836.93 -297.78 0.0) (B 10.0)
(1888.17 -297.78 0.0) (B 10.0) (1901.46 -297.78 0.0)) (4.0 (F 4.0) (1819.23
-276.239 0.0) (F 4.0) (1885.85 -276.239 0.0)) (2.0 (F 2.0) (1817.81 -268.253
0.0)))


命令: (xd::list:groupbyindex s1 0.0001)
((11.0 ((A 11.0) (1805.79 -297.073 0.0) (A 11.0) (1872.6 -297.073 0.0))) (10.0
((B 10.0) (1822.5 -297.78 0.0) (B 10.0) (1836.93 -297.78 0.0) (B 10.0) (1888.17
-297.78 0.0) (B 10.0) (1901.46 -297.78 0.0))) (6.0 ((F 6.0) (1810.72 -285.955
0.0) (F 6.0) (1827.85 -285.955 0.0) (F 6.0) (1877.35 -285.955 0.0) (F 6.0)
(1894.48 -285.955 0.0) (F 6.0) (1793.74 -285.955 0.0))) (4.0 ((F 4.0) (1819.23
-276.239 0.0) (F 4.0) (1885.85 -276.239 0.0))) (2.0 ((F 2.0) (1817.81 -268.253
0.0))))


命令: (mapcar 'cadr s1)
(((A 11.0) (1805.79 -297.073 0.0) (A 11.0) (1872.6 -297.073 0.0)) ((B 10.0)
(1822.5 -297.78 0.0) (B 10.0) (1836.93 -297.78 0.0) (B 10.0) (1888.17 -297.78
0.0) (B 10.0) (1901.46 -297.78 0.0)) ((F 6.0) (1810.72 -285.955 0.0) (F 6.0)
(1827.85 -285.955 0.0) (F 6.0) (1877.35 -285.955 0.0) (F 6.0) (1894.48 -285.955
0.0) (F 6.0) (1793.74 -285.955 0.0)) ((F 4.0) (1819.23 -276.239 0.0) (F 4.0)
(1885.85 -276.239 0.0)) ((F 2.0) (1817.81 -268.253 0.0)))



帮你测试了,函数没有问题。

点评

我自己做程序得出的表 (setq s1 '( ( (F 6.00 定位孔) (1810.72 -285.955 0.0) (F 6.00 定位孔) (1827.85 -285.955 0.0) (F 6.00 定位孔) (1877.35 -285.955 0.0) (F 6.00 定位孔) (1894.48 -285.955 0.  详情 回复 发表于 2016-9-3 21:50
没有达到要求:同字母不同内容前加:例如F有3种就改咸F1,F2,F3。B的只有一种不用修改。  详情 回复 发表于 2016-9-3 17:13
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 106个

财富等级: 日进斗金

 楼主| 发表于 2016-9-3 17:13:38 来自手机 | 显示全部楼层
newer 发表于 2016-9-3 15:10
(setq s1 '(((F 6.0) (1810.72 -285.955 0.0) (F 6.0) (1827.85 -285.955 0.0) (F 6.0) (1877.35 -285.95 ...

没有达到要求:同字母不同内容前加:例如F有3种就改咸F1,F2,F3。B的只有一种不用修改。

点评

这只是到你最后结果的中间一步而已,已经得到排好序的表了,然后你接着再按你的要求继续处理。 命令: (setq s2 (mapcar 'cadr s1)) (((A 11.0) (1805.79 -297.073 0.0) (A 11.0) (1872.6 -297.073 0.0)) ((B 10.  详情 回复 发表于 2016-9-3 17:20
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-9-3 17:20:02 | 显示全部楼层
ymcui2005 发表于 2016-9-3 17:13
没有达到要求:同字母不同内容前加:例如F有3种就改咸F1,F2,F3。B的只有一种不用修改。

这只是到你最后结果的中间一步而已,已经得到排好序的表了,然后你接着再按你的要求继续处理。

命令: (setq s2 (mapcar 'cadr s1))
(((A 11.0) (1805.79 -297.073 0.0) (A 11.0) (1872.6 -297.073 0.0)) ((B 10.0)
(1822.5 -297.78 0.0) (B 10.0) (1836.93 -297.78 0.0) (B 10.0) (1888.17 -297.78
0.0) (B 10.0) (1901.46 -297.78 0.0)) ((F 6.0) (1810.72 -285.955 0.0) (F 6.0)
(1827.85 -285.955 0.0) (F 6.0) (1877.35 -285.955 0.0) (F 6.0) (1894.48 -285.955
0.0) (F 6.0) (1793.74 -285.955 0.0)) ((F 4.0) (1819.23 -276.239 0.0) (F 4.0)
(1885.85 -276.239 0.0)) ((F 2.0) (1817.81 -268.253 0.0)))

命令: (car s2)
((A 11.0) (1805.79 -297.073 0.0) (A 11.0) (1872.6 -297.073 0.0))

命令: (cadr s2)
((B 10.0) (1822.5 -297.78 0.0) (B 10.0) (1836.93 -297.78 0.0) (B 10.0) (1888.17
-297.78 0.0) (B 10.0) (1901.46 -297.78 0.0))

命令: (caddr s2)
((F 6.0) (1810.72 -285.955 0.0) (F 6.0) (1827.85 -285.955 0.0) (F 6.0) (1877.35
-285.955 0.0) (F 6.0) (1894.48 -285.955 0.0) (F 6.0) (1793.74 -285.955 0.0))

命令: (cadddr s2)
((F 4.0) (1819.23 -276.239 0.0) (F 4.0) (1885.85 -276.239 0.0))



上面S2表里面,每项都是同一个字母的 子表了。

你再处理下,加上数字就OK了。

点评

请教如何排序?第按字母ABC排好后再从字母后面数字从小到大再排好。谢谢  详情 回复 发表于 2016-9-5 19:58
好的,谢谢版主  详情 回复 发表于 2016-9-3 20:15
好的,谢谢版主  详情 回复 发表于 2016-9-3 20:14
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 106个

财富等级: 日进斗金

 楼主| 发表于 2016-9-3 20:14:19 来自手机 | 显示全部楼层
newer 发表于 2016-9-3 17:20
这只是到你最后结果的中间一步而已,已经得到排好序的表了,然后你接着再按你的要求继续处理。

命令:  ...

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

使用道具 举报

已领礼包: 106个

财富等级: 日进斗金

 楼主| 发表于 2016-9-3 20:15:27 来自手机 | 显示全部楼层
newer 发表于 2016-9-3 17:20
这只是到你最后结果的中间一步而已,已经得到排好序的表了,然后你接着再按你的要求继续处理。

命令:  ...

好的,谢谢版主

点评

不客气,做好后希望把代码发上来。  详情 回复 发表于 2016-9-3 20:25
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-9-3 20:25:06 | 显示全部楼层

不客气,做好后希望把代码发上来。

点评

版主:你那个程序和我那地板那个代码是样的己经把相同字母和元素一样的表分好类了,  详情 回复 发表于 2016-9-3 21:47
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 106个

财富等级: 日进斗金

 楼主| 发表于 2016-9-3 21:47:39 来自手机 | 显示全部楼层
newer 发表于 2016-9-3 20:25
不客气,做好后希望把代码发上来。

版主:你那个程序和我那地板那个代码是样的己经把相同字母和元素一样的表分好类了,
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 106个

财富等级: 日进斗金

 楼主| 发表于 2016-9-3 21:50:10 来自手机 | 显示全部楼层
newer 发表于 2016-9-3 15:10
(setq s1 '(((F 6.0) (1810.72 -285.955 0.0) (F 6.0) (1827.85 -285.955 0.0) (F 6.0) (1877.35 -285.95 ...

我自己做程序得出的表

(setq s1
'(
(
(F 6.00 定位孔) (1810.72 -285.955 0.0)
(F 6.00 定位孔) (1827.85 -285.955 0.0)
(F 6.00 定位孔) (1877.35 -285.955 0.0)
(F 6.00 定位孔) (1894.48 -285.955 0.0)
(F 6.00 定位孔) (1793.74 -285.955 0.0)
)
(
(A 11.00 螺丝孔) (1805.79 -297.073 0.0)
(A 11.00 螺丝孔) (1872.6 -297.073 0.0)
)
(
(B 10.00 销钉孔) (1822.5 -297.78 0.0)
(B 10.00 销钉孔) (1836.93 -297.78 0.0)
(B 10.00 销钉孔) (1888.17 -297.78 0.0)
(B 10.00 销钉孔) (1901.46 -297.78 0.0)
)
(
(F 4.00 定位孔) (1819.23 -276.239 0.0)
(F 4.00 定位孔) (1885.85 -276.239 0.0)
)
((F 2.00 定位孔) (1817.81 -268.253 0.0))
)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 106个

财富等级: 日进斗金

 楼主| 发表于 2016-9-3 21:55:16 来自手机 | 显示全部楼层
我是没办法做到那种字母有两种大小以上,如果有两种从上就在字母前加1,2,3代表。像楼主那后面的表一样
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-28 21:57 , Processed in 0.387414 second(s), 57 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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