明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1684|回复: 12

[讨论] 新手学习autolisp,学的好慢

[复制链接]
发表于 2019-9-6 14:19 | 显示全部楼层 |阅读模式
自己学了一段时间autolisp,看的autolisp学习引导,请教论坛大神,看这个有没有用

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2019-9-26 16:05 | 显示全部楼层
lisp算是入门比较简单的语言了.
一方面lisp是纯面向过程的语言,关键字其实很少.当然Vlisp有很多二次开发的函数.
另一方面,lisp语法也比较简单,没有语句和函数的区别.
当然最重要的是vlisp作为解释脚本语言,而且和cad深度集成,可以很容易的看到一行代码的作用和返回值.而其他的编译语言,例如VB,C,C++和C#,都要编译以后运行后才能返回结果.
举个例子,对于初学者来说,很容易忽视一个问题,就是entsel函数获取的并不是图元名,而是(图元名 坐标点)这样的表,需要用car函数获取图元名,这时候如果直接将entsel获取的表当图元名使用,例如(setq ed (entget(setq en (entsel)))),会提示参数类型错误.这时候只需要在IDE的控制台输入!en,就能看到en存储的内容.而其他语言想处理只能加一句类似msgbox en,然后编译运行才能看到en存储的数据.
另外对于初学者,不太清楚组码的作用,用lisp就可以用简单的一句:
(setq ed  (entget (setq en (car (entsel)))))
(princ ed )(textpage)
来插件该对象的组码.

还有一个很重要的就是lisp的变量没有类型,所以也就不存在溢出的情况,而且自由度很高.之前用vb写过一个倒计时,就是因为类型用错了,导致到9个小时的时候崩溃了.

但是lisp最为第二古老的高级语言,也有不少不如意的地方,比如没有for循环,不过能用while循环并设置临时变量的方式解决.还有几个跟表相关的函数容易弄混,例如list cons append或者apply和mapcar.


发表于 2019-9-27 17:42 | 显示全部楼层
看你感兴趣不长的程序,一句一句打。

明白了defun 定义的参数和 局部变量 全局变量就可以看了。对了,有几个chm帮助文件做的很好的,推荐这两个
AutoLisp葵花宝典(函数大全) LISP学习手册(★分类很好★)
发表于 2019-9-9 08:44 | 显示全部楼层
觉得lisp难的各位,觉得什么语言不难呢?
CAD二次开发常用的几种语言,C++,C#,VB,LISP,从头开始学的话,LISP恐怕是最简单的了吧
发表于 2019-9-6 14:44 | 显示全部楼层
你需要视频或者一个人带
发表于 2019-9-7 21:03 | 显示全部楼层
很简单
(函数  数据)

(+ 12 23 34);==69
(* 12 23 34);==9384
发表于 2019-9-7 22:30 | 显示全部楼层
找不死猫买视频教程。。。我就是这么入门的(太高深,我也只能入门了哈)
发表于 2019-9-8 07:37 | 显示全部楼层
我也想学,觉得太难
发表于 2019-9-8 07:52 | 显示全部楼层
楼主的PDF电子书《Autolist学习引导》分享一下,我10几年前都想学,现在还没有开始。
发表于 2019-9-10 17:03 | 显示全部楼层
同入门+1,正在学习
发表于 2019-9-27 15:51 | 显示全部楼层
找简单的LISP程序,一句一句的写程序释义,然后自已编写最简单的程序,感觉只有去行动,才是最快的学习方法
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-20 08:24 , Processed in 0.366686 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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