明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1856|回复: 17

[LISP群(1)] 2013-06-30 明经 AutoLISP 编程(102918348) 群聊记录:[image={0BFC5F11-5AD6-91E7-DA84-89A354

 关闭 [复制链接]
发表于 2013-6-30 00:07:26 | 显示全部楼层 |阅读模式
[邹锋]Tony 00:07:26
[qqimg]oldimg/{0BFC5F11-5AD6-91E7-DA84-89A35466011B}.jpg[/qqimg]
[AMKYUD][AMKYUD]??? 00:11:41
正版啊
[邹锋]Tony 00:12:41
[qqimg]oldimg/{43BA4697-43B1-E670-D658-47E64A84D1D0}.jpg[/qqimg]
 楼主| 发表于 2013-6-30 10:47:35 | 显示全部楼层
[阿然][阿然] 10:47:35
请教下vbs能不能执行windowsapi?
 楼主| 发表于 2013-6-30 11:47:36 | 显示全部楼层
[HNFSF](看海) 11:47:36
'(35 60 78 29 234 17 78 60 78)
怎么对一般表统计 重复项 数量
 楼主| 发表于 2013-6-30 11:58:38 | 显示全部楼层
[夏生生][x_s_s_1]生无可恋 11:58:38
while cdr 1+
[pzweng][pzweng]路人 11:59:31
提取一个值,然后vl-sort
对比一下表的长度
[夏生生][x_s_s_1]生无可恋 11:59:52
[pzweng][pzweng]路人 11:59:56
差值就是重复项的数量
[夏生生][x_s_s_1]生无可恋 12:00:41
(1 1 1 1 2 2 2 2 3 3 3 )
[pzweng][pzweng]路人 12:00:43
你用while.还不如用foreach
橡树 12:01:04
有没有CAD排版下料软件啊
[pzweng][pzweng]路人 12:01:08
vl-sort就是删除相同的值
橡树 12:02:41
求助啊
[pzweng][pzweng]路人 12:02:56
找xyp1964
[夏生生][x_s_s_1]生无可恋 12:04:11
[qqimg]oldimg/{B21377D7-52B7-CB30-E19B-63808CCE1308}.jpg[/qqimg]
[HNFSF](看海) 12:05:03
想得到重复的数量
(1 1 1 1 2 2 2 2 3 3 3 )
》》((1 4) (2 4) (3 3))
[夏生生][x_s_s_1]生无可恋 12:05:49
while cdr 1+
[HNFSF](看海) 12:06:05
你用while.还不如用foreach
这个有道理?
[夏生生][x_s_s_1]生无可恋 12:06:25
你就按这个思路搞就是的
[HNFSF](看海) 12:06:47
删除重复的很多,统计重复的很少
[夏生生][x_s_s_1]生无可恋 12:07:42
加个计数器不就是统计了
[HNFSF](看海) 12:08:46
(defun delsame (l)
  (if l
     (cons (car l) (delsame (vl-remove (car l) (cdr l)))
)
)
这个没地方加
[vormittag]桔子 12:10:48
这是两个思路。
[HNFSF](看海) 12:10:59
就是
[fsxm]飞诗 12:15:02
[qqimg]oldimg/{A8FE5B27-368C-4C57-B07C-3E4B82C92185}.gif[/qqimg]
[夏生生][x_s_s_1]生无可恋 12:15:58
((6 . 1) (5 . 1) (4 . 1) (3 . 3) (2 . 4) (1 . 3))
[HNFSF](看海) 12:20:39
可以,厉害
[夏生生][x_s_s_1]生无可恋 12:21:28
也可以用递归
橡树 12:22:39
谁有CAD排版下料软件给我一个
[夏生生][x_s_s_1]生无可恋 12:22:53
[qqimg]oldimg/{A049F9D6-A852-CB9F-F9B7-C1BF45388C99}.jpg[/qqimg]
 楼主| 发表于 2013-6-30 12:36:17 | 显示全部楼层
[夏生生][x_s_s_1]生无可恋 12:36:17
这是拿你哪个改的(看海)
(defun delsame (l)
  (if l
    (cons (cons    (car l)
        (- (length l) (length (vl-remove (car l) (cdr l))))
      )
      (delsame (vl-remove (car l) (cdr l)))
    )
  )
)
[pzweng][pzweng]路人 12:36:33
gu_lx
 楼主| 发表于 2013-6-30 12:54:22 | 显示全部楼层
[野狼谷]笨鸟 12:54:22
[qqimg]oldimg/{3ECCD78D-2EB8-53AA-576C-13BFDBD70D56}.jpg[/qqimg]
最近明经社区怎么一进去就花屏???
[kwok][kwok]巭隼 13:02:36
换浏览器
一直ie10没问题
[野狼谷]笨鸟 13:02:52
o
[kwok][kwok]巭隼 13:03:24
准备用ie11,发现所有浏览器都没有ie好用
[野狼谷]笨鸟 13:05:45
顺便问个问题:我不想让在明经通道里的个人论坛留言转到QQ空间,该如何设置?
[野狼谷]笨鸟 13:07:58
找到了:设置》隐私筛选
 楼主| 发表于 2013-6-30 14:43:17 | 显示全部楼层
[阿然][阿然] 14:43:17
[qqimg]oldimg/{B65D01D7-3E69-1BA8-B465-B53D28EA6232}.jpg[/qqimg]我之前有发过函数,聊天记录查一下就有了
 楼主| 发表于 2013-6-30 14:57:35 | 显示全部楼层
[HNFSF](看海) 14:57:35
谢谢阿然,没有搜到,可能没在这个电脑上
 楼主| 发表于 2013-6-30 15:12:48 | 显示全部楼层
[阿然][阿然] 15:12:48
;;;统计表中重复项个数 by Xran
(defun Xr:sumlist (l / item result x)
  (foreach x l
    (if    (setq item (assoc x result))
      (setq result (subst (cons x (1+ (cdr item))) item result))
      (setq result (append result (list (cons x 1))))
    )
  )
)
[pzweng][pzweng]路人 15:14:18
没有无生可恋的那个好
用while确实好些
[pzweng][pzweng]路人 15:15:04
(defun tj(lst / a tt n)
  (while lst(setq n(length lst)a(car lst))
  (setq lst(vl-remove a lst))
  (setq tt(cons(cons a (- n (length lst)))tt)))
)
[阿然][阿然] 15:15:49
恩,遍历的次数比我的少
[pzweng][pzweng]路人 15:17:49
不过你这种应该实用些
[阿然][阿然] 15:18:14
不知道vl-remove函数本身是不是也要遍历
[pzweng][pzweng]路人 15:18:33
应该是的吧
vl-remove不能equal
所以不实用了
[阿然][阿然] 15:18:58
如果vl-remove函数本身也需要遍历,那while的办法效率就不会高
[阿然][阿然] 15:19:31
弄个超长的表测试一下
[pzweng][pzweng]路人 15:19:54
怎么弄
[夏生生][x_s_s_1]生无可恋 15:20:17
阿然兄将append改下,效率会提高,我的方法效率不高
[pzweng][pzweng]路人 15:20:18
不知道用堆栈方式能否看出来
[阿然][阿然] 15:20:22
有测试函数
[pzweng][pzweng]路人 15:20:40
教我测试
[阿然][阿然] 15:20:47
论坛上以前有个几个大侠讨论递归的帖子,里面有测试速度的函数
 楼主| 发表于 2013-6-30 15:34:57 | 显示全部楼层
[阿然][阿然] 15:34:57
[qqimg]oldimg/{EB380D2A-74F9-6C6E-F4E4-5A6AE927C384}.jpg[/qqimg]可恋的效率高很多
[夏生生][x_s_s_1]生无可恋 15:36:05
阿然兄的用了if和append
[夏生生][x_s_s_1]生无可恋 15:37:47
纯粹用cond、car、cdr、cons会快好多,我想了半天没想到,对递归理解不透
[阿然][阿然] 15:37:50
[qqimg]oldimg/{B2FA08AF-9ED5-B1AB-EE56-21CDC367B6F3}.jpg[/qqimg]append改成cons,速度快了一点点,关键还是if
[阿然][阿然] 15:38:30
cond会比if快?
[夏生生][x_s_s_1]生无可恋 15:38:43
是的
[HNFSF](看海) 15:38:44
(defun delsame (l)
  (if l
    (cons (cons    (car l)
        (- (length l) (length (vl-remove (car l) (cdr l))))
      )
      (delsame (vl-remove (car l) (cdr l)))
    )
  )
)

(defun tj(lst / a tt n)
  (while lst(setq n(length lst)a(car lst))
  (setq lst(vl-remove a lst))
  (setq tt(cons(cons a (- n (length lst)))tt)))
)
这两个哪个快?
[阿然][阿然] 15:39:26
[qqimg]oldimg/{B427CB8A-086E-E908-2198-37BD2DE4C3C1}.jpg[/qqimg]
[夏生生][x_s_s_1]生无可恋 15:39:31
应该还是tj快
[夏生生][x_s_s_1]生无可恋 15:41:04
(defun delsame (l)
  (cond (l
    (cons (cons    (car l)
        (- (length l) (length (vl-remove (car l) (cdr l))))
      )
      (delsame (vl-remove (car l) (cdr l)))
    ))(t nil)
  )
)
看看这样如何
[阿然][阿然] 15:41:34
[qqimg]oldimg/{D57C8D7D-E16B-A6DD-623E-F168F9EE72A6}.jpg[/qqimg]if改成cond,确实快了一点点
[qqimg]oldimg/{68B04F63-AEE2-12D2-0304-5E9EB6B3602F}.jpg[/qqimg]
可恋第二版的慢了
[夏生生][x_s_s_1]生无可恋 15:42:40
(defun delsame (l / y)
  (setq y (vl-remove (car l) (cdr l)))
  (cond (l
    (cons (cons    (car l)
        (- (length l) (length y))
      )
      (delsame y)
    ))(t nil)
  )
)
这样可能会提高一点
[阿然][阿然] 15:43:06
[qqimg]oldimg/{9B19C2F9-48CA-9AF5-9DD1-52330F6B7A83}.jpg[/qqimg]
[pzweng][pzweng]路人 15:43:30
把times函数发给我
[pzweng][pzweng]路人 15:44:02
[阿然][阿然] 15:44:22
是qjchen写的
[pzweng][pzweng]路人 15:44:28
高人呐
[阿然][阿然] 15:44:39
chlh_jd这个人
写的
[pzweng][pzweng]路人 15:44:51
两人?
[阿然][阿然] 15:44:59
后面这个人写的
[夏生生][x_s_s_1]生无可恋 15:45:36
高山流水
[pzweng][pzweng]路人 15:45:51
都是些高人
M=$(edtime这种格式怎么写的
在CAD宏里出常出现
没研究过
[阿然][阿然] 15:47:02
menucmd帮助里有
[pzweng][pzweng]路人 15:48:21
嗯,这种语法挺好用的
可以定义自定义按钮
可以自定义按钮
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-23 22:13 , Processed in 0.214543 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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