![]() |
【转帖】lisp的应用
lisp的应用
www.dimcax.com lisp的应用 我在网上面看到很多人想学lisp编程序,其实我是完全自学的,只是用得早一些,我在网上看到很多人用得很好,比我强。但我退休无事我来给想学得人 讲课,我只能讲一些皮毛,但学好了一般的程序都课自己编,我讲课用实例来讲,你们可按例自己编把程序发短消息给我看。 编程不是什么都编,一般是你画图经常用,如编了程序可提高画图的速度。或用autocad画图很烦,用编程画图简单又快。还有autocad是外国人编的 画图的习惯不一样。例如:园我们说直径,而人家说半径,你要去除一下,或先输入d回车再输入直径。 所有我第一课我就举画园为例。 编画园的程序我的思路是这样的,园需要输入圆心,但你要输入到你要的位置上,一般要去偏线,后输入 圆心时用求交点,我的思路输入一个参考点,但孔到参考点的位置你知道,输入圆心后要求输入园的直径 它一次可画多个同心园。 (defun c:hy () (setvar "osmode" 39) ;39 是 终点,中点,中心,交点的和 (setq p1 (getpoint "/n输入一个参考点:")) (setq p2 (getpoint "/n用键盘输入圆心相对参考点(x,y):")) (setq p3 (list (+ (car p1) (car p2)) (+ (cadr p1) (cadr p2)) 0)) (setq a (getreal "园的直径:")) (setvar "osmode" 0);不扑捉 (command "circle" p3 "d" a) ;画图的过程不能错。 ) 以上是画一个园。 (defun c:hy () (defun c:?? ()为自定义命令 也就是说加载后在命令下课直接使用,相当给cad增加了一条命令。 (setvar 是设置系统变量的 "osmode" 是指扑捉 后面的数字39 1-终点 2-中点 4-中心 8-结点 16-90度弧 32-交点 这里的39 是 终点,中点,中心,交点的和 (setq p1 (getpoint "/n输入一个参考点:")) (setq 赋值 这里p1为变量 getpoint为要你输入一个点 例:输入矩形的一角,你用鼠标扑捉,设在世界座标中为(100 100 0) (setq p2 (getpoint "/n用键盘输入圆心相对参考点(x,y):")) 同上是输入点但要用键盘输入,它计算出园心,如:输入10,10 也是p2点离p1点x为10 y为10回车p2为(10 10) (car 是取表的头 (cadr 取表头后的数 (caddr 取表的尾 (+ (car p1) (car p2))= (+ 100 10)为110 (+ (cadr p1) (cadr p2))= (= 100 10)为110 (list 是构造表 (setq p3 (list (+ (car p1) (car p2)) (+ (cadr p1) (cadr p2)) 0)) p3 (110 110 0) (setq a (getreal "园的直径:")) ;它是输入一个实数 如:输入5回车 a为5 (它的计算函数有 加 (+ 数 数 ...) 减 (- 数 数 ...) 乘 (* 数 数 ...) 除 (/ 数 数 ...) 增1 (1+ 数 ) 减1 (1- 数 ) 绝对值 (abs 数 ) .. 今天说到这里,你们下去后模放去编一下,如去编一个画矩形的。可给我发短消息。 gbg 请问老顾 您多大啦? 真退休了吗? 如果真是那我们所有的人都应该向您学习! 个人认为: 1、对lisp的基本开发步骤有一个了解 2、掌握常用函数,不多,至少应该过一遍 3、开始干活吧 : 我今年已70岁了,我从89年就用autocad 2.18版本,我是搞结构设计的,使用后90年我就开始编程,因我是搞设计的,所以怎样去画图,90年我的二维参数法软件就出来了,从90年起我一直辅导大家用autocad软件,到98年退休,厂里不让退休,2000年才出来。后面有开发了三维软件,我都是在autocad下开发的,我只会autocad其它软件我都不行,连输入字都比较困难。我全部自学,你们年轻人应该学,尤其是搞设计的,我看过你们设计全部靠手的速度。 看到您,看到了中国软件业的希望。虚心向您学习,如果按目前中国软件开发行业的观点,我也早就结束了软件开发的职业生命,我现在正在想以后作什么(现在在机械制造企业作管理、acad相关软件开发),很想听您的意见。 相老前辈学习! 向老顾学习 我很担心老顾有一天从这个论坛退休 首先向老前辈致敬!不过我们这些后起之秀一定会让你老人家放心的,我们有能力,也有决心学好cad! 非常敬佩!向您学习! |
所有的时间均为北京时间。 现在的时间是 12:26 PM. |