当前课程知识点:计算机辅助设计 > 第7章 AutoCAD 二次开发 > 7.4 Visual Lisp 语言逻辑判断与绘制命令 > 7.4 Visual Lisp 语言逻辑判断与绘制命令
同学们好
这一讲 讲Visual LISP语言里面的
条件判断函数和具体的绘制命令
首先来看一下条件判断函数
里面的其中一个 关系运算函数
那么关系运算函数 有6种
有等于 不等于 小于 大于 小于等于 大于等于
那么这些关系运算
建议大家 如果有VB基础的
建议跟VB的知识结合起来
因为VB里面也有这个关系
只不过 现在是用表的形式来判断
比如 括号 小于 2 4 5 6
那我们要求这个2 2开始跟4比较
跟5比较 跟6比较 是全程的一个比较
那么符合的 都是小于4小于5小于6 就返回T
比如等号 s跟b判断 肯定不等于
所以返回nil
根据自己已有的VB编程语言
可以直接来对应这些关系
学这个语言时候 首先一定要有其中一门的
C++或者VB编程语言
所以在这里介绍这些东西的时候
做了一个相对而言比较简单的知识罗列介绍
不做详细展开 希望大家注意这门课讲课特点
关系运算符 6种 主要是比较 后面判断用的
然后逻辑的运算3种 逻辑和 逻辑或 逻辑非
也是一样的道理
比如 这边not 2
这个2是确实存在的数据
所以not 2 因为是逻辑非 所以整体不成立
那来看一下 如果逻辑或 or 1 2 a b
因为1 2是确实存在的事实 所以结果返回T
这个是逻辑的运算函数
然后条件的判断 这是F
然后测试表达式 如果成立 那这个成立
如果不成立 是这种
那么这个基本上跟VB的逻辑判断基本相符的
只不过是解代码的形式不一样
只不过 这个F用这个测试表达式
后面的知识希望大家参考VB来进行对比
比如多分支的 这里已经写好很详细的
对照这个PPT 大家回去看一下就知道了
如果多个条件 只是选中一个
有一个成立了 那就不执行了
如果不成立 那要一直比较下去
比如 这里条件是2小于1
那2是不是小于1 那肯定不成立
4小于5 成立 所以x等于6
那后面再成立 也都不管 就这样的道理
那顺序的控制函数progn 如果条件成立
如果x大于0成立 那执行从这开始到这结束
把这整段全都执行
这就是整个一段的顺序控制函数
然后常见测试函数
1 2 3 4 5 5种测试函数
要判断表里面的原子 是不是0
是不是负的 是不是数
这个我们提供了 1 2 3 4 5种的
编程肯定离不开循环的运算
循环 这里有while
这个测试表达式 如果成立的 就计算
如果不成立的 就不计算
具体的我们可以看一下 如果现在要算一个
1平方加上2平方一直加到10平方
就是给定一个a等于0 n等于1
具体的进行10轮循环 当n小于等于10
大于10以后 就不计算了 打印结果385
这个是用while这样一个格式
当然也可以用REPEAT 重复10次
那么重复10次以后 可以来看一下
这个repeat 就是重复10次
第1次的时候 a就变成1乘1 因为n等于1
一直算10次 等到第10次算完以后
这里有个问题 看到没有
第10次算完 没错 385
但是第10次算完的时候
n等于多少 n等于11
因为如果再回来 就加上1 为什么
算上第10次 这里n还要n加1
所以第10次算完的时候 n等于11
那么这里算完退出的时候 while n=10
这里有个微小的区别
在Visual LISP有这个特点
在VB里面 也有可能有这个特点
就是while语言和repeat语言有小小的区别
下面来看一下绘图的一些命令
绘图的命令也是很重要的 要编程的
首先比如这个 直接等待用户输入的getint
int是一个整数 得到一个整数
一般用get 后面是对这个数类型的英文简称
那我们就不做详细的展开了
getreal 就得到一个实数
getstring 得到一个字符串
getpoint 得到一个点 可以用鼠标去点一点
这里是getdist 就得到一个距离
那么有了这些输入的数据以后
就可以得到某些点的坐标
这里是直接得到一个点
这个30和40 就可以通过前面
getline getint得到30 得到40
得到以后 就可以绘制了
这个就是绘制的直线 注意绘制直线
这两个是设置这个点 关键是这句命令
绘制直线 第一个是command 空一格
双引号英文状态下的 line 表明是绘直线
直线的第1点 直线的第2点
两点再用两个双引号 表示退出
注意这双引号一定要用到
不用双引号 最后AutoCAD会看到等待命令输入
就是没有退出来 这个时候很容易出错
所以一定要习惯command最后两个双引号
一定要是英文状态下 表示退出
直线的会画了 直线还可以把所有点连起来
p0 p1 p4 p2 到最后再输个c
表示close 所有的线是连起来的
这是另外一种命令的形式
连起来以后就可以绘制出矩形
那么除了line命令 来看看多义线绘制
实际上多义线绘制 起点 这个宽度
这个跟具体进入命令窗口绘制多义线是相仿的
所以许多命令就可以模仿
AutoCAD里面具体绘制命令窗口里面的形式
这里看到没有 w一定要双引号 表示线宽度
宽度起始的是5 第1个是5 第2个也是5
最后结束的也是5 从5开始到5结束
然后从p1这个点坐标有 p4到p2
最后c把它们close 连接封闭起来
这个是多义线的绘制
那绘制矩形 矩形可以用pline多义线绘制
或者line绘制 到最后封闭起来就可以
实际还可以直接一个命令
矩形的命令就是rectang
然后这个C 这是一些倒角 这个F 是圆角
这两个是不同的 绘制出来是不同的
自己可以去尝试下
那么 这个是绘制矩形的命令
绘制圆 有许许多多的形式
我们看到具体绘制圆 有许多
那一般用最简单的 直接圆心 半径
也可以用两点 2p
也可以利用三点 那输入三点的坐标
两点输入两点的
那么这些绘制出这样一个圆
圆的命令可以利用一个点的圆心
再加半径 可以绘制
也可以利用两个点
过这两个点这一条就是直径 也可以画圆
过三个点 也可以画圆
圆弧比较复杂一点 来看一下
这个arc p1 就表示这样一个圆弧了
这个r d 这些一定要全都输完的
要改变的就是p1和p2
注意这个点的坐标是一样的
但是 这个圆 d是r 是150 是半径
只不过这里取名为d 实际上它指的还是半径
这个r 150 表明它是半径
但是 这两个不同 什么意思
看到没有 从p1到p2
从p1到p2 这里是从p2到p1
因为把这点放到这了
看到没有 这个是这样下来的 一定要逆时针
这个也是逆时针 看到没有
所以这一点在这 这一点到这 这一点到这
都要逆时针
一定要区别不同以及相同遵循的规律
相同遵循的规律就是 第1点到第2点逆时针
不同的 那两个画出来图是不一样的
还可以利用求交点 这个就不作详细讲解了
还可以进行图层的设置
因为这个没有多少的变化
调用图层都可以模仿
画剖面线 这个命令hatch 关键是比例 角度
这个填充对象用entlast 表明最后画的对象
画好一个圆 填充 画好一个多义线
这个多义线画好 实际是一个矩形 就填充
就是画完一个 填充一个
这时候问题来了 这个比较麻烦 不断填充
当然后面有一个命令 给大家会讲到的
我们可以把不断画好的实体
把它添加起来组成一个大的实体
最后再来 用这个来绘制
那么这个就是具体的命令 画出一个东西
这个是矩形
这是两个矩形 这一串命令得到是这一个图
尺寸标注 有不同的标注模式
有水平的 有垂直的
不同的标注 这个ver
标注p1 p4 p6 在这
ver的标注 表示是垂直的标注
hor 表示是水平的标注
标注时 要p1 p2
p5表示100 写在这个位置
通用的命令在这 那么除了水平标注以外
还可以 这个非常特殊 把φ写上去
φ写上去 用的还是ver 或者hor
但是这里写了个t
相当于在标注的时候 输了个t回车
这样可以手工输入标注的内容
什么内容 百分号百分号c 就等于φ
这个小于大于 表明默认的数据是多少
这个p5 注意数据写的位置
这边写在这个位置 这个水平的
这个垂直的 写在这个位置 p6
可以把直径的符号写上去
还可以进行半径和直径 单独的标注
等会切入以后 可以做个示范
这个标注的时候 这个是进行小圆半径的标注
这个是一个直径的标注
这个点要在圆上 这个也是一样的
那么这个 是一个标注的位置 pt2 pt3
这个命令应该还是比较容易执行的
这个是一个角度的标注
角度进行标注怎么标
这个是一种角度标注的模式
这样一个命令进去以后 p3 p2 p4
p3是直线上的一个点 p2也是直线上的一点
那么p4就是标注的内容 90°在这个位置
角度标注除了这条命令以外
也可以用这条命令 看到没有
这条命令的区别在 p1 p2 p3 p4
把角的顶点也放上去
角的顶点 角的其中一条线上的一个点
角的另外一条线上的一个点
默认的数据 标注的位置在这
那么大家回去可以试一下
这两种是不是都可以用
那么有时候不同的AutoCAD版本里面
如果其中一种不能用了
希望大家通过这两种之间的转换
有时候可能这种可以用 有时候这种不能用
那有时候两种都可以用
这个要注意了 角度标注的时候
那么坐标标注 来看一下
坐标标注 根据标注点的位置不同
有时候是标注x坐标 有时候是标注y坐标
如果强制标注x坐标 那像这个要写一个这个
当然强制标注y坐标 这里写个y
这里是一个很清晰的图 展示给大家
自己回去以后仔细研究下
那么我们绘图里面 有时候还可以用镜像
镜像 可以减少图形的绘制
因为左边跟右边一样 那只要画一边就行了
这个时候就可以利用镜像
镜像的实体 刚绘制完 又是这个命令
跟搭剖面线是一样的
所以利用这样一个格式
这个就是p1 p2 这个中心线
镜像的时候以p1 p2为中心线
刚才说过实体的添加
因为镜像也好 搭剖面也好
画好一个就要镜像
画好一个就要搭剖面
这个时候可以把所有画的东西
setq 通过ss
然后不断的把画的东西加到ss上去
所有的最后 entlast 变成ss了
所以看到没有 所有最后mirror
这里面ss 包含了好多前面添加成功的实体
当然搭剖面时 也可以仿照实体的添加功能
这里面详细的代码给大家再演示下
那么绘制椭圆弧 怎么绘
这里面给了具体的三种情况
椭圆弧绘制的时候 因为它有长轴和短轴
所以它的起始角 都从长轴某一个端点开始
这个自己认真的去琢磨下
并且它的角度 都是逆时针的
这里从长轴开始 60度
长轴 这里开始 60度
从长轴的某一个端点 逆时针的 取角度
详细的 对应这些代码
回去以后自己认真去看一下
前面讲了许多Visual LISP里的条件判断函数
以及具体的绘制命令
这些判断函数 绘制命令
自己要对照前面PPT里的内容
认真的把每一个自己去运行一下
下面给大家做一些基本的演示
来看看 转入AutoCAD的界面
来看下某些已经调试好的 或者已经写好的
看下它运行的结果 首先进入LISP的界面
给大家来展示下 比如 首先来看看
绘制 刚才是大圆 小圆 坐标
来看下这一组 加载以后 相当于圆的绘制
半径直径 这个命令全都看一下
然后来看一下 点击加载选定代码
这里没有错误提示 那到这来
那么到这来 也是会出现一个问题
出现一个问题 这个圆在哪里 好像没看到
那不用着急 也是视图
退出来 刚才在哪里 在这 视图
视图里面 缩放 全部
原来在这 移到我们需要的地方来 在这
这个位置 再把它退出来
再进入刚才要加载的代码
有时候会出现一些小的错误
如果出现问题 可以把这个命令多用几次
这个命令是什么 实际是一个退出命令
我们就Ctrl V把它放上去
这个没问题的 就是多按几次回车键
这样可以看到 工具 不用点击工具
在这个命令里面 这里有点小问题 不怕
这的话是这个工具 刚刚点到那个工具去了
加载
这时候看看 那这里就已经画好了
看到没有 数据都已经有了
圆也画了 坐标也标上去了
这是我们这一组命令的绘制
那么还可以来看看另外一组
看看已经加载上去的 来看一下这个
来看一下这个 这个是一个坐标的标注
这个是矩形的或者画的直线的 看这个也可以
这个是一个坐标的标注 加载选定代码
没有错误出现
那来看一下 坐标的标注在这
这里颜色跟图层置换有关系
这里全都是黑色的
坐标 具体的一些数字 来看一下
80 100 那边 100
400是其他的 可以把原来的删掉
所以坐标的标注也可以进行这样
当然还可以看看角度的标注怎么样的
角度的标注在这
当然还可以绘制图形什么之类的 都可以
我们看到 角度 在这
这个跟刚才说的 这里用了4个点
有时候有些程序 只要3个点
加载 看看 成功的话 就可以转到这来
那么角度标注也是成功的
为了更加清晰 把这个删掉
那进入这个 这个就是角度的标注
工具 加载选定代码 再退到这来
看到没有 这里有点快了 不用着急
再退到这来 打开 90度的角度标注
对于条件判断函数绘图命令演示就到这为止
再转到PPT
这讲里面讲了条件判断
有大于等于 小于等于 运算的6种关系
有逻辑的 逻辑和逻辑或 逻辑非not
那么这些东西的条件判断 还有循环判断
这样一些函数 再加上绘制的命令
就可以为二次开发打下扎实的基础
注意 这些二次开发打下扎实的基础
前提一定要有一门编程语言
如果没有编程语言的基础
直接学这个讲解的内容
是没办法理解和吸收的
希望如果没有编程语言的同学
一定先去学一门编程语言
那么这里提出了这样几点的小结
小结 注意 关键有一个绘制命令的时候
都是用command开头的
在绘制的时候 括号 command
就是告诉电脑程序 现在
实际上相当于去点击AutoCAD里面的
某一个绘直线也好 绘矩形也好
就是去点击某一个绘制图形的命令
所以都要用command开头
那么回去以后 要完成这个作业
这个作业 是相对比较简单的
直接由Visual LISP开发 画出这样一个矩形
这个矩形 线条是粗的
中间还要画跟中心线 线条是细一点的
还要把这两个标注全都标上去
我们直接用Visual LISP把它编写好以后
通过加载 直接可以绘制
跟刚才演示的是一样的过程 就ok了
那么今天这一讲的内容就到这里为止
谢谢大家
-0 绪论
-0 绪论--作业
-1.1 Auto CAD 基本绘制工具
-1.1 Auto CAD 基本绘制工具--作业
-1.2 Auto CAD 基本修改工具
-1.2 Auto CAD 基本修改工具--作业
-1.3 Auto CAD 基本标注工具
-1.3 Auto CAD 基本标注工具--作业
-1.4Auto CAD 基本格式设置
-1.4Auto CAD 基本格式设置--作业
-1.5Auto CAD 综合应用
-1.5Auto CAD 综合应用--作业
-1.6 课件下载
--第1章样图文件
--第1章普通课件
--第一次线下作业
-2.1 如何绘制化工图样
-2.1 如何绘制化工图样--作业
-2.2 如何绘制化工厂PID图样
-2.2 如何绘制化工厂PID图样--作业
-2.3 如何绘制化工图样通用部件
-2.3 如何绘制化工图样通用部件--作业
-2.4 课件下载
--第2章样图
--第2章普通课件
--第2次线下作业
-3.1 半球形封头的绘制
--Video
-3.1 半球形封头的绘制--作业
-3.2 椭圆形封头的绘制
--Video
-3.2 椭圆形封头的绘制--作业
-3.3 碟形封头的绘制
--Video
-3.3 碟形封头的绘制--作业
-3.4 锥形封头的绘制
-3.4 锥形封头的绘制--作业
-3.5 法兰的绘制
--Video
-3.5 法兰的绘制--作业
-3.6 支座的绘制.
--3.6支座绘制
-3.6 支座的绘制.--作业
-3.7 人孔和手孔的绘制
--Video
-3.7 人孔和手孔的绘制--作业
-3.8 课件下载
--第3章普通课件
--第3章样图
--第3次线下作业
-4.1如何设计化工容器
--Video
-4.1如何设计化工容器--作业
-4.2如何确定化工容器零件的尺寸
--Video
-4.2如何确定化工容器零件的尺寸--作业
-4.3如何绘制化工容器
--Video
-4.3如何绘制化工容器--作业
-4.4化工容器装配图的集成绘制
--Video
-4.4化工容器装配图的集成绘制--作业
-4.4 课件下载
--第4章普通课件
--第4章样图
--第4次线下作业
-5.1 换热器绘制策略
--Video
-5.1 换热器绘制-作业
-5.2 课件下载
--第5次线下作业
--第5章普通课件
--第5章样图
-6.1 精馏塔绘制策略
--Video
-精馏塔绘制策略--作业
-6.2 课件下载
--第6章普通课件
--第6章样图
--第6次线下作业
-7.1 AutoCAD 二次开发概述
--Video
-7.1 AutoCAD 二次开发概述--作业
-7.2 Visual Lisp 语言特性分析
--Video
-7.2 Visual Lisp 语言特性分析--作业
-7.3 Visual Lisp 语言各种运算与函数
-7.3 Visual Lisp 语言各种运算与函数--作业
-7.4 Visual Lisp 语言逻辑判断与绘制命令
--7.4 作业
--7.4 作业
-7.4 Visual Lisp 语言逻辑判断与绘制命令--作业
-7.5 Visual Lisp 语言窗体开发与数据传递
--7.5 Visual Lisp 语言窗体开发与数据传递视频
-7.5 Visual Lisp 语言窗体开发与数据传递--作业
-7.6 Visual Lisp 语言二次开发实例分析
--7.6 Visual Lisp 语言二次开发实例分析视频
-7.6 Visual Lisp 语言二次开发实例分析--作业
-7.7 课件下载
--第7次线下作业
-8.1Excel 中的宏应用
-8.1Excel 中的宏应用--作业
-8.2Excel 中的规划求解
-8.2Excel 中的规划求解--作业
-8.3 Excel 中的宏与规划求解1
-8.3 Excel 中的宏与规划求解1--作业
-8.4 Excel 中的宏与规划求解2
-8.4 Excel 中的宏与规划求解2--作业
-8.5 课件下载
--第8章普通课件
--第8章程序
--第8次线下作业
-9.1 VB基础概念
-9.2 VB程序开发入门
--Video
-9.3 VB对象三要素
-9.4 VB控件定义及主要控件
--Video
-9.5 变量与常量
--Video
-9.6 变量的作用域
--Video
-9.7 运算符和函数
--Video
-9.8 运行结构
--Video
-9.9 数组与过程
--Video
-9.11 绘图基础
--Video
--Video
-9.12 vb四则运算编程实际操作
--Video
-9.13 计算器开发实际操作
--Video
-9.14 VB 超越方程求解器实际操作
--Video
--Video
-9.15 学生大作业操作展示
--Video
-10.1 参数拟合实际操作-饱和蒸汽压与温度关系拟合
--Video
-10.2 参数拟合3.0实际应用视频
--Video
-11.1 ORIGIN 8.0 绘制入门
--Video
-11.2 ORIGIN2108 离心泵实验曲线绘制
--Video
-11.3 ORIGIN2108 反应过程动态浓度变化曲线绘制
--Video
-11.4 ORIGIN2018 参数拟合
--Video
-12.1 单变量超越方程求解
-12.2 超越方程组求解
-12.3 超越方程宏求解
--超越方程宏求解