cabinsummer
发表于 2012-5-3 13:34:47
本帖最后由 cabinsummer 于 2012-5-3 20:42 编辑
snddd2000 发表于 2012-5-2 14:40
更新内容
添加简单的轴承绘图部分(不带剖面线和圆角)替换原来的一个圆。
增加判断块名是否存在,如存在 ...
checkblockname函数复杂了
直接用(tblsearch "BLOCK" blockname)即可判断是否有块blockname,有则返回一个表,无则返回nil
jxjaxa
发表于 2012-5-3 16:29:48
好的,谢谢,学习学习
snddd2000
发表于 2012-5-4 19:47:08
cabinsummer 发表于 2012-4-27 20:51 static/image/common/back.gif
程序不完整,一上手就是动态,对初学者有点难度,而且没有做出效果。
先给你一个对话框驱动的通用函数 ...
是不是少了一个初始化函数(initialize)
cabinsummer
发表于 2012-5-4 20:46:22
cabinsummer 发表于 2012-4-27 20:51 static/image/common/back.gif
程序不完整,一上手就是动态,对初学者有点难度,而且没有做出效果。
先给你一个对话框驱动的通用函数 ...
函数名可以当变量调用,本身函数就是表,表的第一个元素就是运算符,这是LISP的优点
cabinsummer
发表于 2012-5-5 07:06:25
本帖最后由 cabinsummer 于 2012-5-7 22:31 编辑
数据文本test.txt结构Index para1 para2 para3
A 1 2 3
B 10 20 30
C 100 200 300
D 1000 2000 3000
用以下程序读取参数
(defun get_para (filename id / fn para val)
(setq fn (open (findfile filename) "r")) ;;;打开数据文件
(setq para (read (strcat "(" (read-line fn) ")"))) ;;;读第一行
(while ;;;读到索引为id的行
(and (setq val (read-line fn))(not (eq id (car (setq val (read (strcat "(" val ")")))))))
(setq val nil)
)
(close fn) ;;;关闭数据文件
(if val (foreach x (setq mtr (mapcar 'cons para val))(set (car x) (cdr x))));;;参数赋值
)
可以得到index为某个值时,各值存在变量para1 para2 para3中。
由于以表为参数,所以可以扩展任意数量的参数,也不在乎参数顺序。
程序运行完毕后,清理无用的自定义变量
(foreach x mtr (set (car x) nil))
(setq mtr nil)
示例:
(get_para "test.txt" 'A) ;;;得到INDEX=A; PARA1=1; PARA2=2; PARA3=3
(foreach x mtr (set (car x) nil)) ;;;清空
(get_para "test.txt" 'B) ;;;得到INDEX=B; PARA1=10; PARA2=20; PARA3=30
(foreach x mtr (set (car x) nil)) ;;;清空
(get_para "test.txt" 'C) ;;;得到INDEX=C; PARA1=100; PARA2=200; PARA3=300
(foreach x mtr (set (car x) nil)) ;;;清空
(get_para "test.txt" 'D) ;;;得到INDEX=D; PARA1=1000; PARA2=2000; PARA3=3000
(foreach x mtr (set (car x) nil)) ;;;清空
(get_para "test.txt" 'E) ;;;得到INDEX=nil; PARA1=nil; PARA2=nil; PARA3=nil
cabinsummer
发表于 2012-5-9 08:35:22
没人关注继续了
along_99
发表于 2012-8-28 14:14:36
学习,差距还是很大的啊。
illcyt
发表于 2012-10-29 19:11:52
很好,感谢分享
村夫
发表于 2012-12-29 12:38:56
来看看最新进展
cable2004
发表于 2013-3-13 23:54:48
关注继续了