明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: 明经快报

[LISP群(1)] 2013-06-12 明经 AutoLISP 编程(102918348) 群聊记录:还错了两个地方.

 关闭 [复制链接]
 楼主| 发表于 2013-6-12 16:58:45 | 显示全部楼层
[OWEN7]ya雀无声 16:58:45
有道理
[zark]虚心请教 17:01:03
你应该回答“有意义”[qqimg]oldimg/{13816513-7313-5B14-AF12-E030759D8B43}.gif[/qqimg]
[OWEN7]ya雀无声 17:01:51
你语文还得补补, 反问句代表强调。
[VBALISPER]恐龙 17:04:15
是你的语文要补补哦,哪里是反问,明明是正问
[zark]虚心请教 17:04:42
[OWEN7]ya雀无声 17:07:08
)刷屏有意义吗? 什么是 刷屏
[VBALISPER]恐龙 17:08:24
你发那么长一片白板
[zark]虚心请教 17:08:37
你刚才是“擦屏”,不像“刷屏”[qqimg]oldimg/{2E311005-486D-9ECB-24A1-F80905B04B75}.gif[/qqimg]
[OWEN7]ya雀无声 17:08:55
……  那个是不小心,
抱歉
[仲文玉][仲文玉]wygjx 17:13:12
[雨的节奏][雨的节奏] 17:15:33
[qqimg]oldimg/{7BAE7D98-890B-368A-FDA5-4CB3253A15E4}.gif[/qqimg]
端午节不放假的孩子伤不起啊
[不死猫][nonsmall]不死猫 17:16:54
啊 不要影响放假孩纸的心情
[weiqi]weiqi 17:25:08
[qqimg]oldimg/{17FC8858-4E43-783D-0658-569CAF0D0730}.gif[/qqimg]
[不死猫][nonsmall]不死猫 17:25:54
3倍工资呢
 楼主| 发表于 2013-6-12 17:56:42 | 显示全部楼层
[236004]张牙舞爪 17:56:42
((937.759 -86.2437) (857.631 -157.188))
转成
(937.759 -86.2437 857.631 -157.188)
这个怎么转换下?
上面有括号的转成下面没有括号的?
用MAPCAR可以实现吗?
[雨的节奏][雨的节奏] 17:57:03
append
[236004]张牙舞爪 17:59:23
 楼主| 发表于 2013-6-12 18:31:09 | 显示全部楼层
[雨的节奏][雨的节奏] 18:31:09
(apply 'append list)
 楼主| 发表于 2013-6-12 18:41:40 | 显示全部楼层
[weiqi]weiqi 18:41:40
[qqimg]oldimg/{12027B6F-9D04-DE0F-E2B6-EC84088B84BB}.gif[/qqimg]
[雨的节奏][雨的节奏] 18:44:27
(vl-remove (nth 3 list) list)
[雨的节奏][雨的节奏] 18:45:30
236004]张牙舞爪(13885696)
[ZZXXQQ] 18:45:30
如果后面有与第四位相同内容的会不会也被删了?
[雨的节奏][雨的节奏] 18:45:49
貌似会、、还没试
试一下看
[雨的节奏][雨的节奏] 18:46:21
很明显会
已经试了、、
[236004]张牙舞爪 18:46:39
我刚试了,不行哟
[雨的节奏][雨的节奏] 18:46:49
会删掉相同元素
[236004]张牙舞爪 18:47:02
只删除表中第3个表,其它的全部保留
[雨的节奏][雨的节奏] 18:47:29
假如还有其他的元素跟第三个一样的话、也会被删除
你那不行可能是你忽略了是从0开始的
[236004]张牙舞爪 18:47:49
有一个序号
[ZZXXQQ] 18:47:55
可你要删的是第四个
[236004]张牙舞爪 18:48:27
(nth ** lst)
[雨的节奏][雨的节奏] 18:48:47
我这边完全可以啊
[236004]张牙舞爪 18:49:46
((270.589 206.676) (215.366 282.115) (165.873 211.358) (90.8533 285.237)) 


这种表
[雨的节奏][雨的节奏] 18:51:44
命令: (setq tlist (list (getpoint) (getpoint) (getpoint)))
((3809.17 28023.7 0.0) (13305.7 22754.3 0.0) (22740.2 24180.1 0.0))
命令: (vl-remove (nth 2 tlist) tlist)
((3809.17 28023.7 0.0) (13305.7 22754.3 0.0))
[236004]张牙舞爪 18:52:26
只删除表中第3个表,其它的表全部保留
[雨的节奏][雨的节奏] 18:53:05
对啊
关键是vl-remove会删除跟第三个相同的所有元素
[236004]张牙舞爪 18:54:02
有办法按ID号删除不?
[雨的节奏][雨的节奏] 18:54:16
晓不得啊
[雨的节奏][雨的节奏] 18:55:29
你不要告诉我其实你是得到了三维点、、、你想转化为二维点吧、、、
其实很简单的
[236004]张牙舞爪 18:56:25
我要删除PL拟合线的顶点坐标
[雨的节奏][雨的节奏] 18:58:27
难道就没有从表内移除第几个元素的函数吗
[236004]张牙舞爪 18:58:49
我不知道,才大家的
[雨的节奏][雨的节奏] 18:59:08
难道要用cdr来弄了吗、、、
[236004]张牙舞爪 18:59:21
我是这样的
[雨的节奏][雨的节奏] 18:59:27
弄N个cdr再用cons把前面的加进来
[236004]张牙舞爪 18:59:29
我用笨方法
[236004]张牙舞爪 19:00:35
[qqimg]oldimg/{16015834-FFD9-1555-11F5-ABC12D775321}.jpg[/qqimg]  我找不到,只有用这种方法,再把二个表合并
[野狼谷]笨鸟 19:02:23
获取每一个字表的前两个值,组成一个新表,然后循环,组成一个大的新表
[ZZXXQQ] 19:02:27
(defun removenlst (lst n / i x nlst)
 (setq i 0)
 (foreach x lst (if (/= i n) (setq nlst (append nlst x) i (1+ i))))
 nlst
)
[ZZXXQQ] 19:03:59
(defun removenlst (lst n / i x nlst)
 (setq i 0)
 (foreach x lst (if (/= i n) (setq nlst (cons x nlst) i (1+ i))))
 (reverse nlst)
)
[236004]张牙舞爪 19:05:36
不地,
不行,
把指点定的前面的删除了
把指定点的前面的删除了
[qqimg]oldimg/{FE513903-77FC-1D03-0948-5F3C542A8760}.jpg[/qqimg]
[ZZXXQQ] 19:06:35
别乱说,仔细看看
[236004]张牙舞爪 19:06:46
兰色的线是你的函数转的,
粉红色的线是原线
[雨的节奏][雨的节奏] 19:07:34
我看行
[ZZXXQQ] 19:07:55
可程序中只要不是第n个元素就加到新表中呀
[雨的节奏][雨的节奏] 19:09:04
very行
经测试very行
[236004]张牙舞爪 19:10:17
[qqimg]oldimg/{A00B99B1-3E7B-9068-E087-AD72C4C331F4}.jpg[/qqimg]
画元的点是要删除的点
删除画元的点后,之后重新组合成一个表
[qqimg]oldimg/{7E5108EE-FD69-1CB8-24A2-7B6866859F35}.jpg[/qqimg]
就是我这样的
我只是分开做的,
[ZZXXQQ] 19:11:42
(defun removenlst (lst n / i nlst)
 (setq i 0)
 (repeat (1- n)
  (setq nlst (cons (car lst) nlst)
        lst (cdr lst))
 )
 (setq nlst (append nlst (list(cdr lst))))
)
[ZZXXQQ] 19:12:30
(defun removenlst (lst n / i nlst)
 (setq i 0)
 (repeat (1- n)
  (setq nlst (cons (car lst) nlst)
        lst (cdr lst))
 )
 (setq nlst (append (reverse nlst) (list(cdr lst))))
)
[ZZXXQQ] 19:13:08
(defun removenlst (lst n / i nlst)
 (setq i 0)
 (repeat (1- n)
  (setq nlst (cons (car lst) nlst)
        lst (cdr lst))
 )
 (setq nlst (append (reverse nlst) (cdr lst)))
)
[236004]张牙舞爪 19:14:02
[qqimg]oldimg/{1E7CD5BB-74B6-5BED-87AF-179BB7C676EE}.jpg[/qqimg]
还少一个点
第二个点少了,
[雨的节奏][雨的节奏] 19:14:45
(foreach x list (if (/= 2 (vl-position x list)) (setq nlist (cons x nlist)))
[ZZXXQQ] 19:15:44
程序将出错,用了不该用的变量
[雨的节奏][雨的节奏] 19:17:52
成功了
[qqimg]oldimg/{43F78691-C43F-4CC5-4AB6-6CCA1EBF18B4}.GIF[/qqimg]
突然觉得自己是个天才
[OWEN7]ya雀无声 19:18:17
foreach比较神奇
LISP最好玩的地方,就是会突然让自己觉得自己是人才
 楼主| 发表于 2013-6-12 19:32:57 | 显示全部楼层
[236004]张牙舞爪 19:32:57
怎么用 entmod 函数更新坐标表,能给一个例子嘛?
[雨的节奏][雨的节奏] 19:33:18
什么意思?
[236004]张牙舞爪 19:33:47
更新DXF坐标
[OWEN7]ya雀无声 19:33:56
entmod ENT
[236004]张牙舞爪 19:34:11
给一个例子,
[雨的节奏][雨的节奏] 19:34:12
你肯定要先subst啊
[236004]张牙舞爪 19:34:36
没用过,我一直都是用 vlax-put 函数
[OWEN7]ya雀无声 19:34:39
subst 新  旧
然后 entmod
[236004]张牙舞爪 19:35:10
是不是只取出坐标就可以了?
其它的要不要
[雨的节奏][雨的节奏] 19:36:02
用vlax-put也行
更快速
[236004]张牙舞爪 19:36:21
有些线不行
不知道为什么
所以想用 LISP试试
[雨的节奏][雨的节奏] 19:36:39
[qqimg]oldimg/{DE068692-2930-8E27-622F-E342C6D583E1}.gif[/qqimg]那就用subst呗
[236004]张牙舞爪 19:36:57
这个怎么用,给一个例子
[雨的节奏][雨的节奏] 19:38:16
假如你要更新一个圆的圆
圆心
[雨的节奏][雨的节奏] 19:39:24
(entmod (subst 新圆心 旧圆心 dxf))
[236004]张牙舞爪 19:39:56
不是一个坐标,很多的坐标
坐标表
[雨的节奏][雨的节奏] 19:40:19
[ZZXXQQ] 19:40:21
repeat;mapcar;foreach;while
[OWEN7]ya雀无声 19:42:00
foreach 怎么写
[雨的节奏][雨的节奏] 19:42:30
无解
[weiqi]weiqi 19:49:57
[qqimg]oldimg/{97B7D9CB-AE4B-1FF7-E18F-8F4BC1196DC6}.jpg[/qqimg]
像这样..
要把AA 修改为第一个AA
第一个AA
第二个AA
第三个AA
~~~~~~
第N个AA
用什么办法好...
[ZZXXQQ] 19:50:43
都是AA,怎么区分?
[雨的节奏][雨的节奏] 19:50:55
[OWEN7]ya雀无声 19:50:57
[qqimg]oldimg/{0CF154F2-065F-876B-8566-504F83EC91F5}.jpg[/qqimg]
为什么我的Events 是灰色的
[qqimg]oldimg/{7960D3A7-A7BF-0EFB-FB72-8441C36C0E5F}.jpg[/qqimg]
 楼主| 发表于 2013-6-12 20:08:24 | 显示全部楼层
[weiqi]weiqi 20:08:24
就是 都是AA
然后 自动排序..
[ZZXXQQ] 20:09:06
如果都是AA那就不用排序了
[ZZXXQQ] 20:10:26
如果都是AA那就不用替换了
[weiqi]weiqi 20:18:05
 楼主| 发表于 2013-6-12 21:13:57 | 显示全部楼层
Yakamoz 21:13:57
((-1 . ) (0 . "LINE") (330 . ) (5 . "19E") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") 
(100 . "AcDbLine") (10 56730.1 4020.06 0.0) (11 62214.0 11966.9 0.0) (210 0.0 
0.0 1.0))
-1和330两个图元名有什么区别?
[chen83lin]Denny 21:23:46
怎么用lisp建立块啊
[ZZXXQQ] 21:24:48
(command "BLOCK" ...)
Yakamoz 21:25:02
((-1 . ) (0 . "LINE") (330 . ) (5 . "19E") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") 
(100 . "AcDbLine") (10 56730.1 4020.06 0.0) (11 62214.0 11966.9 0.0) (210 0.0 
0.0 1.0))
-1和330两个图元名有什么区别?
[chen83lin]Denny 21:25:25
block之后呢
[chen83lin]Denny 21:26:22
然后呢
坐标
[OWEN7]ya雀无声 21:26:52
建议 搜索帖子
[chen83lin]Denny 21:28:55
建立块找不到啊
用程序建立块
[chen83lin]Denny 21:29:54
像建立文本“text”一样建立块比较难
LSP爱好者 21:30:31
有个快速进块  快速退出块 不需要缓冲的没
[chen83lin]Denny 21:31:47
哇塞
厉害
雀无声
[chen83lin]Denny 21:39:43
雀无声你这个程序是用来建立什么块的啊?
[OWEN7]ya雀无声 21:40:41
……你想要什么块呢
[chen83lin]Denny 21:40:51
海图块
[chen83lin]Denny 21:43:24
用activex生成图元更快吧
[chen83lin]Denny 21:49:43
谁知道用activeX做块吗?
[XIEWAWA]不变 21:51:02
端午节快乐
[236004]张牙舞爪 21:57:45
((734.656 232.104) (627.155 152.211) (539.655 246.251) (441.321 157.204))

怎么用这个表更新到对象的表里去?
 楼主| 发表于 2013-6-12 22:34:53 | 显示全部楼层
[qianzj]太阳 22:34:53
同问  有没有快速进出块的方法  每次进行块编辑很慢
LSP爱好者 22:35:23
好像有吧
[qianzj]太阳 22:35:44
有么  什么方法
LSP爱好者 22:35:52
想我现在的公司 画的图几乎都是块  郁闷死
每次进块退出的都等半天
我现在没有这个
LSP爱好者 22:37:11
所以没必要建块就别建  就是复制拷下的也很快的
[csc123456]顽强 22:37:20
块名是不是都一样?
[qianzj]太阳 22:37:56
一样
[csc123456]顽强 22:39:30
一样的话干嘛还要改?要不就把所有的块分解了,用程序改需要改的地方,要不就用程序修改块也可以改呀!
[csc123456]顽强 22:40:24
一张图中的内容多了之后,关闭块编辑是要等很常时间
要改的块多不多呀?
[qianzj]太阳 22:41:11
块里有时要增删内容 就要编辑
[csc123456]顽强 22:44:49
要不就用一个最土的方法,把所有的块剪切到一个新建的文件内,用pu命令清理掉原文件的块名,再到那个新建的文件内修改块,应该反映会快些
[qianzj]太阳 22:46:43
这个影响 效率。。
看来加强硬件是王道。。
[csc123456]顽强 22:47:51
剪切再粘贴影响不了多少呀,都是原做标操作,直接粘贴到原坐标就可以了呀
[qianzj]太阳 22:48:46
这么一说好像有道理
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-6 07:16 , Processed in 0.156292 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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