autolisp新手入门教程
本帖最后由 wyl219 于 2021-6-21 15:52 编辑初版完成于2020年12月,本想再完善一些内容再发布出来,一直有各种事耽误着,索性先直接发出来了.
前言:
本文希望能借用《笨办法学python》的讲述方式,让初学者能在最短的时间内写出能用的程序,不会讲述全部的编程基础,也不会讲太多深入的东西,尽量保持初学者的学习兴趣和乐趣。
本文预计将以26节的篇幅介绍Alisp常用的函数和规则,并介绍一些Vlisp的入门知识。希望初学者看完本文以后有能力和兴趣自己去探索更多更大的世界。
《笨办法学python》的讲述方式:不以系统的概念和语法为导向,而是以完成实际任务的需要作为出发点.具体就是每节包含若干个新的小知识点,以及一个使用到本节以及之前介绍过的知识点的实际代码来展示知识点的用法.
后记:
历时三天写完初版,共26节,四万余字,接下来还要补充些东西,校对一下,添加一些图片.
写本文并不是想让人看完一后就一飞冲天了,只是希望能有更多的人进入Alisp这个圈子.
Alisp是一个目的导向很强的语言,除了少部分做CAD二开的人以外,更多的人是因为工作中需要用CAD,抱着提高自己效率,让自己有更多休息时间才来学的.
如果真按照其他语言,比如<C++ prime plus>那样写,九百多页,两百万字,又有多少人能看的下去呢?
又或者可以像大多数编程书一样,把教材写成手册,先讲数据类型、变量、运算符再讲栈堆算法,一本书看完也找不到一个完整的程序的示例,我就看过这样的书<C#图解教程>,书的质量确实不错,可是看到二百多页还在类的概念里挣扎,完全不知道怎么把自己学到的东西应用起来.
我觉得这样是很打击初学者的积极性的.
如果你希望依靠Alisp吃饭,比如去天正、鸿业之类的二开公司工作,那你应该从<C++ prime plus>开始看,但是如果你只是有兴趣,抛开那么大块头,从实战开始吧.
本人能力有限,时间也比较短,肯定会有大量的错漏,希望高手能指出来.
目录:
版本说明
Autolisp介绍
其他的前言
部分名词解释
准备工作
ex1:hello world
代码分析:
小试手
ex2:更多的输出
代码解释
小试手
ex3:变量、数学运算函数
代码解释
变量的简单介绍
常用的数学运算函数
小试手
ex4:注释、自定义函数与更好的编码习惯
注释
函数的自定义
变量的作用域
更好的编码习惯
小思考
ex5:简单的输入
ex6:获取图元的属性
小试手
ex7:图元的操作
ex8:第一个实用命令
小试手
ex9:表与原子
什么是原子(atom)
什么是表
什么是元素
什么是点对
空表
如何确定是不是原子
小试手
ex10:构造一个表
小试手
ex11:扩充和编辑表
ex12:编辑表和提取表中的元素
小试手
ex13:第二个实用命令
小试手
ex14:逻辑判断
ex15:数据类型和图元类型
数据类型
图元类型
小试手
ex15:分支语句
两个示例代码
ex16:简单的循环
代码一:使用while循环,遍历所有图层,并打印图层名到命令行
代码二:使用repeat循环,遍历一个存储了多个图层名的表,并以默认设置新建图中不存在的图层.
代码三:用foreach改写代码二
ex17: 选择集的操作
小试手
ex18:调用cad的自带命令
示例代吗:拆分command函数
ex19:调用自己写的其他命令与命令别名
ex20:更好用的ex8
ex21:更多自定义函数相关
ex22:匿名函数lambda
ex23:mapcar,apply
mapcar
示例
apply
示例
ex24:mapcar,apply和lambda的配合
macpar与lambda配合的示例代码
macpar与apply配合的示例代码
macpar、apply与lambda配合的示例代码
ex25:其他有用的函数
ex26:了解Vlisp
结语
lllllja 发表于 2021-6-22 08:35
感谢楼主,问下楼主用什么工具编辑的文档
用的是markdown语法,编辑器是typora caocaosasd 发表于 2021-7-3 20:55
大佬您好,您在教程里说,用entmod修改天正自定义对象会致命错误……如此的话,还有没有别的办法改天正自定 ...
天正单行文字好像能直接修改.
另外,老版本的天正帮助文件里提供了一下供Alisp调用的接口,但是不确定那些已经失效了,有需要可以去尝试一下 20060510412 发表于 2021-6-22 08:34
更希望看到visual lisp的入门教程,结合activex,整个dwg文件的层级关系特别直观,很实用。
能用到vlisp的人已经不需要入门了吧, 谢谢楼主的分享! 历时三天写完初版,共26节,四万余字。厉害 重量级大牛。 感谢楼主为新手的努力 我感觉也是这样的,学了很久,一直都是在学基础,却不知道怎么去应用于工作或生活中~ 版主我爱你 更希望看到visual lisp的入门教程,结合activex,整个dwg文件的层级关系特别直观,很实用。 感谢楼主,问下楼主用什么工具编辑的文档