明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2926|回复: 7

[LISP群(1)] 2013-06-13 明经 AutoLISP 编程(102918348) 群聊记录:(vl-remove-if-not '(lambda (x) (/= 2 (

 关闭 [复制链接]
发表于 2013-6-13 07:53:47 | 显示全部楼层 |阅读模式
[雨的节奏][雨的节奏] 07:53:47
(vl-remove-if-not '(lambda (x) (/= 2 (vl-position x plist))) plist)
 楼主| 发表于 2013-6-13 08:58:59 | 显示全部楼层
[野狼谷]笨鸟 08:58:59
(vl-remove-if-not '(lambda (x) (/= 2 (vl-position x plist))) plist)
这句经典
 楼主| 发表于 2013-6-13 10:20:00 | 显示全部楼层
笑对人生 10:20:00
应该是第三个元素
笑对人生 10:22:18
经验证,却为第三个元素
笑对人生 10:22:49
vl-position 
  
 

返回指定表项目的索引

(vl-position  symbol list)
参数

symbol

任意 AutoLISP 符号。

list

表。

返回值

整数,包含 symbol 在 list 中的索引位置。如果在表中不存在 symbol,则返回 nil。

请注意表中第一个元素的索引为 0,第二个元素的索引为 1,依此类推。

示例

_$ (setq stuff (list "a" "b" "c" "d" "e"))
("a" "b" "c" "d" "e")
_$ (vl-position "c" stuff)
2
[雨的节奏][雨的节奏] 10:22:50
lisp里面的顺序都是从0开始的啊
笑对人生 10:23:07
呵呵,这个我也是新手,没有总结过
笑对人生 10:23:40
不过这个函数的第一个索引号是从0开始
笑对人生 10:27:07
不过不是所有的都是从零开始的
ssname是从零开始的
[ygp820601]风声 10:27:53
从甲方弄来的图
代理对象不允许复制,因此写块操作被拒绝
这是怎么回事?
[kwok][kwok]巭隼 10:28:17
开个新图,插入炸开
保存,试
[ygp820601]风声 10:28:45
呵呵,这样是可以,不过感觉有点麻烦
笑对人生 10:29:44
substr就是从1开始的
这个每个函数都有说明
用时,如果不清楚,查一下就可以了
[雨的节奏][雨的节奏] 10:30:55
谢谢指点
[夏生生][x_s_s_1]生无可恋 10:31:08
[夏生生][x_s_s_1]生无可恋 10:31:45
[qqimg]oldimg/{22D2BD27-CF90-DE3F-87BE-1411C1096490}.gif[/qqimg]
笑对人生 10:32:09
呵呵,太客气了
[kwok][kwok]巭隼 10:32:16
查出来用法,也要弄明白因果,我就是弄不明白它们
后悔当年数学不好好读
[kwok][kwok]巭隼 10:33:16
当年只对几何感兴趣.
笑对人生 10:37:16
呵呵。
[夏生生][x_s_s_1]生无可恋 10:37:38
求指导,渐变色的entmake
[雨的节奏][雨的节奏] 10:38:14
随着鼠标移动改颜色还是按时间变色?
[夏生生][x_s_s_1]生无可恋 10:38:48
就是填充的渐变色
与时间无关
[夏生生][x_s_s_1]生无可恋 10:41:00
[qqimg]oldimg/{FA8A4C75-06A6-D8F4-5A1E-89F1343EA3CC}.jpg[/qqimg]
[夏生生][x_s_s_1]生无可恋 10:42:34
450 463 63 421组码搞晕菜了
[qqimg]oldimg/{9A942530-6A1F-FC47-3237-3EC8D802598B}.jpg[/qqimg]大侠请不吝赐教
 楼主| 发表于 2013-6-13 13:42:16 | 显示全部楼层
[xxdxx001][xxdxx001]刀 13:42:16
我想定做个插件,请联系我
 楼主| 发表于 2013-6-13 15:35:49 | 显示全部楼层
[天财]天财 15:35:49
谁有计算书最大值减去一个数的
例如大于25-10
[qqimg]oldimg/{BD1ADD2B-9FBE-B19A-7615-D6F2DAA2C84B}.jpg[/qqimg]
 楼主| 发表于 2013-6-13 15:54:00 | 显示全部楼层
[雨的节奏][雨的节奏] 15:54:00
什么意思?
[蔡__洛]不快乐 15:56:51
我见过 自动配筋程序 没见过怎么算的
[天财]天财 15:57:33
就是24- 10
[qqimg]oldimg/{DC3A8FDF-0B5A-1C3A-5EEC-618BAD716BA7}.jpg[/qqimg]
[蔡__洛]不快乐 15:58:05
等于12啊 哈哈
[天财]天财 16:02:34
我有
 楼主| 发表于 2013-6-13 21:02:58 | 显示全部楼层
[Casa小宝]Cas 21:02:58
请问有没有办法让屏幕在command zoom的时候不闪烁呢
[邹锋]Tony 21:10:50
[ZZXXQQ] 21:11:18
不行
[Casa小宝]Cas 21:11:48
[Casa小宝]Cas 21:13:48
那么ssget在大范围选小物体时产生的精度问题,除了缩放之外,有其他方法解决么?
[VBALISPER]恐龙 21:23:17
选小东西会选不上吗?
[Casa小宝]Cas 21:23:42
会选了旁边的东西
[VBALISPER]恐龙 21:24:28
哦.是哈.手动选的时候也见到出现此种问题.
[Casa小宝]Cas 21:26:20
嗯。。不知道是不是拾取框的问题
[yanshengjiang]明镜 21:27:27
[VBALISPER]恐龙 21:27:28
选择的时候,物品不在窗口内的东西也选不到.手选还好理解.用程序控制时也这样.不爽
[yanshengjiang]明镜 21:27:39
@[VBALISPER]恐龙 
[VBALISPER]恐龙 21:27:50
[yanshengjiang]明镜 21:28:28
好久没来晃来了
[VBALISPER]恐龙 21:28:55
就是啊.
哪里鬼混去了嘛
[ZZXXQQ] 21:29:19
面壁参禅去了
[xiaomm09]江湖 21:29:23
[yanshengjiang]明镜 21:29:47
@[ZZXXQQ] 
@[xiaomm09]江湖 
是啊 悟道去了
[xiaomm09]江湖 21:30:16
这什么动作?
[yanshengjiang]明镜 21:30:43
[qqimg]oldimg/{514E8F56-87E1-5828-5039-A6897CF423C8}.gif[/qqimg]
[VBALISPER]恐龙 21:30:52
明镜太淫荡了
[yanshengjiang]明镜 21:31:04
谁淫荡啊你淫荡
[革天明]三体 21:31:18
明经的书现在进展如何?
[mccad][MCCAD] 21:31:27
上面的表情已经把舌头吐出来了
目录重新整理中
[革天明]三体 21:32:13
好期待啊,
[xiaomm09]江湖 21:32:20
明总,书里有三维方面的内容没?
[OWEN7]ya雀无声 21:32:43
请推荐一种DCL,
[VBALISPER]恐龙 21:32:59
DCL
[OWEN7]ya雀无声 21:33:20
普通DCL界面太丑了
[Casa小宝]Cas 21:33:27
opendcl
[yanshengjiang]明镜 21:33:32
晚上好明总
[OWEN7]ya雀无声 21:33:47
opendcl 高版本能用吗
[VBALISPER]恐龙 21:33:53
晚上好,小明总
[yanshengjiang]明镜 21:34:04
又多了很多新面孔啊
[OWEN7]ya雀无声 21:34:59
看了下明总的 ObjectDCL, 好像是 ARX,高版本不能用
[阿然][阿然] 21:35:03
[qqimg]oldimg/{227E0BC5-E16E-9599-9A57-4E6D0837BBFA}.jpg[/qqimg]
这是Z版么?
[yanshengjiang]明镜 21:35:12
[alwtyp][alwtyp] 21:35:20
13可以,14理论上也可以
[Casa小宝]Cas 21:35:51
[yanshengjiang]明镜 21:36:40
[mccad][MCCAD] 21:40:07
ObjectDCL各个版本都可以用啊
[OWEN7]ya雀无声 21:40:35
明总,ObjectDCL 好,还是 OPENDCL好
[VBALISPER]恐龙 21:42:12
别纠结这个问题了.能做出来就行.主要任务是编程序.又不是天天做DCL
[OWEN7]ya雀无声 21:42:47
有道理
[kwok][kwok]巭隼 21:45:22
明总,外参照xclip后,在移动时怎么弄才不会全显示?只显示已剪那部分,我试也好多办法都不行, 在2014上,听说其它版本也是这样,除了2004,
这是论坛上有人问的,我在试了下真是这样.
[xiaomm09]江湖 21:46:18
[mccad][MCCAD] 21:52:57
opendcl是开源的
而objectdcl已经变成了收费软件
opendcl是在objectdcl被收购后自己出来做开源软件的
所以你说哪个好
xclip就是那个特性
[OWEN7]ya雀无声 21:58:20
OPENDCL好,可是没有教程
[mccad][MCCAD] 21:59:11
[Casa小宝]Cas 21:59:20
安装后sample那个文件夹里有很多实例的
[OWEN7]ya雀无声 22:02:36
收藏了。
[OWEN7]ya雀无声 22:03:48
[qqimg]oldimg/{C9D1BF9D-D28F-D5EF-524C-29C18E436470}.jpg[/qqimg]我在家装的DCL 事件都是灰色的,在公司就没事,
[邹锋]Tony 22:04:51
如何在插入一个属性块后,编辑它
Yakamoz 22:09:00
怎么中断循环。
[ZZXXQQ] 22:10:20
直接将循环变量置成结束
Yakamoz 22:10:40
要是没有设,已经进入了死循环呢
怎么强制中止
[ZZXXQQ] 22:11:06
ESC
Yakamoz 22:11:18
无效。。
点不进命令行了
[ZZXXQQ] 22:11:56
直接拔计算机的电源
Yakamoz 22:12:13
提示进入键盘中断循环
[OWEN7]ya雀无声 22:14:44
[qqimg]oldimg/{911375E2-1C79-4396-87C8-7960BE5C69B8}.jpg[/qqimg]
[VBALISPER]恐龙 22:14:51
Yakamoz 22:14:56
有没有更好的方法
[OWEN7]ya雀无声 22:15:16
把电脑砸了
[VBALISPER]恐龙 22:15:22
保存了.重开CAD
[邹锋]Tony 22:15:27
任务管理器
[qqimg]oldimg/{09883D08-D61D-D9E1-E6E9-F196DF1681C2}.jpg[/qqimg]
结束CAD
Yakamoz 22:15:54
没有一个强制中止键?
[OWEN7]ya雀无声 22:16:07
[qqimg]oldimg/{5B41344A-813A-CED7-0ACB-3ABE813B15AC}.jpg[/qqimg]
Yakamoz 22:16:17
一般的程序都会有吧
[VBALISPER]恐龙 22:16:24
有.有时不管用.
Yakamoz 22:17:04
什么键?
[VBALISPER]恐龙 22:17:08
[qqimg]oldimg/{8176569B-2201-C9DC-6E15-14507AE697EC}.jpg[/qqimg]最下一排.第二个吧.有提示
Yakamoz 22:17:32
不说这个了
[VBALISPER]恐龙 22:17:38
调试____立即停止
Yakamoz 22:17:39
问另一个问题
[ucuc2003][ucuc2003]易水 22:17:54
[qqimg]oldimg/{3F44BE06-3A6E-2F9A-8BD0-ACC1AA493DAE}.jpg[/qqimg]哈哈
Yakamoz 22:17:56
if  条件1 or 条件2
我要用两个条件进行判断
如此两个条件有一个成立
则if成立
怎么表示。
Yakamoz 22:19:34
是不是用or
[ZZXXQQ] 22:19:45
(if (or 条件1 条件2)
...
[VBALISPER]恐龙 22:19:45
Yakamoz 22:20:17
其中条件一是a=b,条件二是a=c
那么是不是写成
(if  (or (= a b) (= a c))
....
[ZZXXQQ] 22:21:05
Yakamoz 22:21:38
(setq text (car (entsel " 选择要提取内容的文字: ")))
  (while text
  (setq text_data (entget text))
  (setq text_value0 (cdr (assoc 0 text_data)))
    (if (or (= text_value0 "Text") (= text_value0 "TCH_TEXT"))
    (prin1)
      (progn
    (prompt " 所选图元不是文字格式! ")
    (setq text (car (entsel " 选择要提取内容的文字: ")))
    )
     )
    )
那我这个怎么成了死循环了呢
[邹锋]Tony 22:23:00
我有个判断,不知怎么不对了,
Yakamoz 22:23:19
哥们别插队啊。
先请高手给咱指点一下啊
[VBALISPER]恐龙 22:23:50
不一定是死循环,可能是你操作不对,在CAD和VIDE之间切换的时候出错了.
Yakamoz 22:23:59
切换?
我这个循环有问题吗?
[VBALISPER]恐龙 22:24:36
嗯.比如叫你选择对象时,你没选,又切换回程序窗口来了.
[邹锋]Tony 22:24:42
[qqimg]oldimg/{157E901C-787D-19CD-BF04-5B5CE1FB8E06}.jpg[/qqimg]
点左边第一个
[ZZXXQQ] 22:25:20
(while (setq text (car (entsel " 选择要提取内容的文字: ")))
  (setq text_data (entget text))
  (setq text_value0 (cdr (assoc 0 text_data)))
  (if (wcmatch text_value0 "TEXT,TCH_TEXT")
     (prin1)
   (prompt " 所选图元不是文字格式! ")
  )
 )
[VBALISPER]恐龙 22:25:31
我前两天也遇到几次这样的问题.保存程序.重开CAD就好了.有时可以点调试____立即停止
[邹锋]Tony 22:29:10
我这个程序不对,
我是订料用的,
[邹锋]Tony 22:30:05
[qqimg]oldimg/{E008C123-20DC-270A-2520-28FD794634CE}.jpg[/qqimg]
这是第一种情况,
[qqimg]oldimg/{52618B37-A4AC-F279-EAEE-EB0025824192}.jpg[/qqimg]
这是第二种情况
[邹锋]Tony 22:32:29
?小明
[不死猫][nonsmall]不死猫 22:35:04
笔记本电脑就杯具了  拔电源木有用滴
[天财]天财 22:35:25
[qqimg]oldimg/{2D12DEED-D3DD-CE46-E011-E41A4A233235}.jpg[/qqimg]
[不死猫][nonsmall]不死猫 22:36:00
哪种时候哪来的及啊
[vormittag]桔子 22:36:14
切断能源就行了,我还不信有什么能违反热力学定律的。
[ZZXXQQ] 22:36:59
本机死机时只能拆电池
[yxp]小蜜蜂 22:37:24
((0 . "TEXT") (1 . "通常做法,也可不做由设计人员定") (10 0 0.0 0)   (40 . 4.5) (41 . 0.76) (50 . 0.0) (51 . 0.0) (8 . "0") (7 . "dHzTxt"))
这个组码有什么问题?问什么 entmake 不成功
[ZZXXQQ] 22:38:51
少了对齐组码
Yakamoz 22:38:55
有没有一个命令是这样的
while 条件1
(if (条件2成立)
(跳出while循环)
(继续while)
)
[ZZXXQQ] 22:39:12
和组码11
Yakamoz 22:39:13
有没有跳出while循环的命令。
[天财]天财 22:39:19
(< ts1 15)
[yxp]小蜜蜂 22:39:30
这个可以正常entmake
没有对齐组码
Yakamoz 22:40:00
我说的是if的条件不成立
[天财]天财 22:40:01
要表达  10
[VBALISPER]恐龙 22:40:05
你写错了吧.跳出while,继续while.前一个是IF
Yakamoz 22:40:08
然后跳出while
[ZZXXQQ] 22:40:09
(setq tj T)
(while tj
(if 条件成立 (setq tj nil))
Yakamoz 22:40:20
就是这个目的
[ZZXXQQ] 22:40:29
(< 10 ts1 15)
[天财]天财 22:40:36
(< 10 ts1 15)
Yakamoz 22:40:45
没有一个跳出命令?
类似break?
其他语言的
[偏爱云~小吴] 22:41:36
弱弱的问下
怎么都这么用
[yxp]小蜜蜂 22:42:13
奇怪的问题
[ZZXXQQ] 22:42:23
没有。因为LISP是结构化的人工智能语言
GOTO是编程混乱最大问题
[yxp]小蜜蜂 22:42:25
exit 就是跳出啊。
[vormittag]桔子 22:42:31
什么怎么都这么用?
[GJ_zx][junkegg]街角 22:42:34
表的数量有没有限制
[不死猫][nonsmall]不死猫 22:42:41
[qqimg]oldimg/{F92A1D80-35AF-576B-26C0-30F032B11DA2}.jpg[/qqimg]
Yakamoz 22:43:00
我只是要跳出循环
不跳出程序
这在其他语言里是一个很常用的功能啊
[GJ_zx][junkegg]街角 22:43:44
周老师,表的大小有没有限制啊
[ZZXXQQ] 22:43:50
可GOTO使程序可读性变差
[偏爱云~小吴] 22:44:06
List 后面啥意识
[yxp]小蜜蜂 22:44:29
创建表
[天财]天财 22:44:35
想编个计算书最大值批量减去某个数 大家有没思路
[OWEN7]ya雀无声 22:44:50
[飞鸟集] 怎么那么专业
Yakamoz 22:44:53
嗯。我知道、好像所有语言都不提倡用goto
[yxp]小蜜蜂 22:45:15
批量减
Yakamoz 22:46:21
entmake中列表有顺序要求吗?
[GJ_zx][junkegg]街角 22:46:45
请问表的大小有没有限制啊
[天财]天财 22:46:49
(progn
 (if (< 10 ts1 15) 
 (- ts1 5))  
 (if (< 15 ts1 25) 
 (- ts1 10))
 (if (> ts1 35) 
 (- ts1 15))
)
[ZZXXQQ] 22:47:09
如果不想出错,最好按CAD的顺序
[yxp]小蜜蜂 22:47:12
有顺序要求
你把 0 和 1 放到后面
entmak就不成功了。
[偏爱云~小吴] 22:47:55
初学,见笑了
[GJ_zx][junkegg]街角 22:48:05
谁告诉我一下
[ZZXXQQ] 22:48:52
一般没有限制,但如果超过计算机内存或硬盘的话……
[yxp]小蜜蜂 22:49:23
我生成了一个5000万长度的表
[GJ_zx][junkegg]街角 22:49:24
超过内存?
[yxp]小蜜蜂 22:49:28
运行速度还是很快么
[不死猫][nonsmall]不死猫 22:49:58
CAD差不多会爆掉了
[yxp]小蜜蜂 22:50:12
现在内存都是以 GB 为单位
[GJ_zx][junkegg]街角 22:50:14
生成一万个数据的表也够用的了
[ZZXXQQ] 22:50:19
如果内存不够用,计算机会将不用部分放到硬盘上
[yxp]小蜜蜂 22:50:35
就是,有虚拟内存么
[GJ_zx][junkegg]街角 22:50:47
哪够用的了
[不死猫][nonsmall]不死猫 22:51:12
不管是进行什么运算  跑起来都要很久的
等不起
[GJ_zx][junkegg]街角 22:51:36
LISP就是一个表处理语言,应该没有问题
[yxp]小蜜蜂 22:51:50
长表就是运算慢
想想用一个 (nth 一千万 Lt) 试试。
[ZZXXQQ] 22:52:42
本身NTH就处理不了
整数没那么大
[不死猫][nonsmall]不死猫 22:53:14
都是理论值  实际上跑到百万级的处理 都要几十秒或更多了
[yxp]小蜜蜂 22:53:15
哦,那就用 cdr和car 组合。
[yxp]小蜜蜂 22:53:53
lisp为啥会慢
[GJ_zx][junkegg]街角 22:54:02
百万级的?
[yxp]小蜜蜂 22:54:04
就是因为表的操作不够快
[GJ_zx][junkegg]街角 22:54:16
能用到这么大的吗
[yxp]小蜜蜂 22:54:22
有啊。
我那个 base64 的转码程序,将文件 5M 文件转为表,
表的长度就是 5000万
[ZZXXQQ] 22:55:11
不能用顺序处理?
[yxp]小蜜蜂 22:55:34
文件是一次读入的,怎么顺序读入?
Yakamoz 22:56:02
有没有一种属性可以表示所有的文字
[yxp]小蜜蜂 22:56:21
一个字符是 8 个二进制
5M 文件 = 5 * 1000 * 1000 * 8 个二进制。
Yakamoz 22:56:21
象text表示单行
mtext表示多行
有没有一种属性可以表示这两种文字
以及其他种类的文字
[ZZXXQQ] 22:57:13
没有
Yakamoz 22:57:20
呃。
[yxp]小蜜蜂 22:57:22
分解一下mtext就成一种了。
Yakamoz 22:57:38
不处理原图元。
[ZZXXQQ] 22:57:54
5M=5*1024*1024*8
[yxp]小蜜蜂 22:58:19
是的,你有兴趣的话我给你源码
转一个5M文件,用了20多秒
等啊等
[GJ_zx][junkegg]街角 22:58:54
够用就行。不研究这个
Yakamoz 23:04:49
觉得lisp主程序只能调用子程序的设置不好。
[yxp]小蜜蜂 23:05:15
??
Yakamoz 23:05:24
这样子程序就只能是子程序了
[yxp]小蜜蜂 23:05:48
一切都有可能
你也可以把所有子程序前面都加上 c:
CAD 也没有意见,不会增加开销
Yakamoz 23:07:05
那样它就不能被主程序调用了
[yxp]小蜜蜂 23:08:03
一样可以调用
Yakamoz 23:08:40
不行了吧
[yxp]小蜜蜂 23:09:17
用 (c:xxx) 试试
Yakamoz 23:09:33
?什么意思。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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