《机械CAD/CAM技术》实验指导书
1
目录
第一部分: AutoLisp语言简介 .......................................................................... 1 一、启动 Visual LISP ......................................................................................... 1 二、AutoLISP基本函数...................................................................................... 2 三、基本函数..................................................................................................... 3 第二部分 三维几何建模技术 ............................................................................ 5 一、常用的建模方法 .......................................................................................... 5 二、PRO/E系统三维实体造型功能 ..................................................................... 5 三、PRO/E系统三维实体造型的关键技术 .......................................................... 6 四、实例............................................................................................................ 6 五、PRO/E NC加工系统的的关键技术 ............................................................... 8 用AutoLISP设计传动轴的参数化绘图................................................................ 8 《机械CAD/CAM》标准实验报告 ................................................................... 12
1
第一部分: AutoLisp语言简介
AutoLISP 是为扩展和自定义 AutoCAD 功能而设计的一种编程语言,它的起源可以追溯到五十年代末的 LISP 语言。LISP 最初是为编写人工智能 (AI) 应用程序设计的,现在仍是许多人工智能程序的基础。用户可以十分方便地利用AutoLISP编程语言对AutoCAD进行二次开发,它非常适合于图形的应用。
AutoLISP程序实际上是由函数名、自变量和参数等构成的函数表的集合。从AutoLISP程序中所得到的是一个个的表,每一个表相当于一条语句,所以LISP语言就是对表进行处理的语言,简单来说:AutoLISP程序=(函数名,变量,参数)的集合,如(Setq A 3) 表示A=3。
一、启动 Visual LISP
Visual LISP是Autodesk公司为增强AutoLISP程序开发能力,加速AutoLISP程序开发而设计的一种软件工具,它内嵌于AutoCAD2000中。VLISP 的集成开发环境提供了许多功能,使编写、修改代码以及测试和调试程序更加容易。另外,VLISP 还提供了工具,用于发布用 AutoLISP 编写的应用程序。 ㈠ 启动步骤: 1 2
首次启动 VLISP 时,它将显示如下屏幕:
启动 AutoCAD。
在 AutoCAD 菜单中选择“工具/AutoLISP/Visual LISP 编辑器”,或在命令提示处输入如下命令:vlisp
VLISP 屏幕包括如下区域: ⊙ 菜单
1
用户可以通过选取各个菜单项来发出 VLISP 命令。如果您亮显菜单上的某一个菜单项,VLISP 将在屏幕底部的状态栏上显示相关命令功能的简介。 ⊙ 工具栏
单击工具栏按钮可以快速发出 VLISP 命令。VLISP 中一共有五个工具栏:标准、视图、调试、工具和搜索,各自代表不同功能的 VLISP 命令组。(在本页的图中,五个工具栏衔接在一起,每个工具栏都以图标
开始。可以通过工具栏执行部分(但不是全部)菜单
命令。如果您将鼠标指针指到工具栏某按钮并在其上停留几秒钟,VLISP 将显示工具提示说明按钮功能,而且还会在屏幕底部的状态栏上显示更详细的描述。
⊙控制台窗口
控制台窗口是 VLISP 主窗口中的一个的可滚动窗口。在控制台窗口中可以输入 AutoLISP 命令,方式与在 AutoCAD 命令窗口中式类似。也可以不用菜单或工具栏而直接在控制台窗口中发出很多 Visual LISP 命令。
⊙状态栏
位于屏幕底部的状态栏中显示的信息因您在 VLISP 中所做的工作不同而异。
㈡ 在 VLISP 文本编辑窗口中加载和运行程序的步骤
1 首先请确认包含程序 drawline.lsp 的文本编辑窗口是活动窗口。如果不能肯定该窗口是否是活动的,请在窗口的任何地方单击它,使它成为活动窗口。
2 从“工具”工具栏中选择“加载活动编辑窗口”按钮,或从 VLISP 菜单中选择“工具”“加载编辑器中的文字”。VLISP 将在控制台窗口中显示一条信息,表明已加载该程序。 3 在控制台提示下输入括号和函数名(函数名包括在括号内),按 ENTER 键后就可运行
drawline 函数:
二、AutoLISP基本函数
在此,对 AutoLISP 函数语法的描述遵循如下惯例:
在本样例中,函数 foo 有一个必要参数 string 和一个可选参数 number。还可以提供附加的 number 参数。参数的名称经常表明所需的数据类型。下面的样例同时展示了对 foo 函数的有效和无效调用:
有效调用 无效调用
(foo \"catch\") (foo 44 13)
2
(foo \"catch\" 22) (foo \"fi\" \"foe\" 44 13) (foo \"catch\" 22 31) (foo)
三、基本函数
1.定义函数
(defun sym ([arguments] [/ variables...]) expr...) 参数说明:
sym 函数名。
arguments 函数需要的形式参数名。
/ variables 函数使用的一个或多个局部变量名。局部变量名称前的斜线和第一个局部名称之间,以及该斜线和最后一个参数(如果存在的话)之间,都必须保持至少一个空格的距离。
expr 执行函数时要执行的任意数目 AutoLISP 表达式。
① 如果没有声明任何参数或局部符号,则在函数名称后必须使用空括号。
② 如果定义了名称格式为 C:XXX 的 AutoLISP 函数,则该函数可以象内置的 AutoCAD 命令一样在 AutoCAD 命令行提示中使用。无论任务是在 Visual LISP 中还是在 AutoCAD 命令提示下定义和加载此函数,情况都是一样。可以用这个功能为 AutoCAD 添加新命令或重定义现有的命令。
要将函数用作 AutoCAD 命令,必须确保它们遵循如下规则:
函数名必须使用格式 C:XXX 格式(大写或小写字符)。名称的 C: 部分必须存
在;XXX 部分是用户选择的命令名。C:XXX 可以用来替代内置的 AutoCAD 命令。函数必须定义为不带参数。然而,允许使用局部变量,并且使用局部变量是一个很好的编程习惯。
2.AutoLISP 的基本赋值函数
将一个或多个符号的值设置为相应表达式的值 (setq sym expr [sym expr]...)
可以在对 setq 函数的一次调用中给多个符号赋值。 3. 输入函数
① (getpoint [pt] [msg]) **暂停以等待用户输入点,并返回该点
用户既可以通过拾取点来指定点,又可以通过输入以当前单位格式表示的坐标来指定点。如果提供了 pt 参数,那么 AutoCAD 会从该点到当前十字光标位置画一条拖引线。该函数的返回值是当前 UCS 中的一个三维点。
用户不能输入一个 AutoLISP 表达式来响应 getpoint 的请求。
参数说明:
pt 当前 UCS 中的二维或三维基点。
请注意 getpoint 函数还可以接受一个整数或实数作为 pt 参数,并使用直接距离输入法来指定点。这种方法以 LASTPOINT 系统变量的值作为起点,将 pt 作为距离,根据当前光标相对于 lastpoint 的位置确定方向。其结果是在当前光标位置的方向上和上一点之间的距离为指定值的点。
msg 用于提示用户的字符串。
② (getdist [pt] [msg]) **暂停以等待用户输入距离
3
用户可以通过选择两个点来指定距离,如果提供了基点的话,则只需选择第二个点。用户还可以通过输入一个以 AutoCAD 的当前距离单位格式表示的数来指定距离。虽然当前距离单位格式可能是以英尺和英寸(建筑单位制)表示的,getdist 函数总是以实数形式返回这个距离值。getdist 函数从第一个点到当前十字光标位置显示一条拖引线,以帮助用户确定距离值。
用户不能输入另一个 AutoLISP 表达式来响应 getdist 的请求。 参数说明:
pt 二维或三维点。用作当前 UCS 中的基点。如果已经提供了 pt,则仅提示用户输入
第二点。 msg 用于提示用户的字符串。如果未指定该参数,则 AutoCAD 不显示提示信息。 4. 求某点的坐标
(polar pt ang dist) **在 UCS 坐标系下,求某点的指定角度和指定距离处的点,并返
回该点
参数说明:
pt 二维或三维点。
ang 以弧度为单位的角度值,它是相对于当前构造平面 X 轴按逆时针方向计算的。 dist 与指定点 pt 的距离。
返回值 根据 pt 指定点的类型,返回二维或三维点。 样例:
为 polar 提供一个三维点:
命令:(polar '(1 1 3.5) 0.785398 1.414214) (2.0 2.0 3.5)
为 polar 提供一个二维点:
命令:(polar '(1 1) 0.785398 1.414214) (2.0 2.0)
5.COMMAND 函数
(command [arguments] ...) **执行一条 AutoCAD 命令
参数说明:
arguments AutoCAD 命令、选项或表达式。
command 函数的参数可以是字符串、实数、整数或点,但必须与要执行的命令所需的参数一致。空字符串 (\"\") 表示从键盘键入 ENTER 键。不带参数调用 command 相当于键入 ESC 键,这样可取消大多数 AutoCAD 命令。
command 函数将每一个参数顺序传给 AutoCAD 以响应提示。它以字符串形式提交命令名和选项;以两个实数组成的表的形式提交二维点;以三个实数组成的表的形式提交三维点。只有在命令提示下 AutoCAD 才能识别命令名。
要注意的是,如果从 Visual LISP 中使用 command 函数,控制并不会转移到 AutoCAD 中。如果命令要求用户输入,则可以在控制台窗口中看到返回结果 (nil),但 AutoCAD 将等待输入,必须手动激活 AutoCAD 并响应提示。在这样做以前,任何后续命令都会失败。
4
第二部分 三维几何建模技术 一、常用的建模方法
1. 2. 3.
线框建模 表面(曲面)建模 实体建模
这种方法是由一个二维形面图形在空间沿某一方向或某一轴线旋转来定义实体的方法。 B) 构造实体几何(CSG)表示法
CSG(Constructive Solid Geometry)表示法认为任何复杂的形体都是由有限的简单体素组合起来的,通过最基本的体素,经过布尔运算来构造各种不同的复杂形体。
A) 扫描表示法
二、PRO/E系统三维实体造型功能
1、拉伸扫描法(Extrude)
用户可以选择由AutoCAD二维命令所形成的封闭曲线沿某一方向进行平行拉伸,便形成了一个三维实体。
注意:所形成的封闭曲线必须是单一实体。 2、 旋转扫描法(Revovle)
用户可以选择由AutoCAD二维命令所形成的封闭曲线在空间沿某一轴线旋转,便形成了一个三维实体。
注意:所形成的封闭曲线必须是单一实体。 3、 体素拼合法(Intersect、Union、Subtract、)
5
用户选择已存在的基本体素或构造体素通过交、并、差布尔运算来形成新的三维实体。
三、PRO/E系统三维实体造型的关键技术
a) 设置视角(Vpoint) b) 建立用户坐标系(Ucs) c) 实验具体步骤见视频教学。
四、实例
11.2.2013 0.5
6
7
五、PRO/E NC加工系统的关键技术
A)制造设置; B)制造模型; C)铣削加工方法;
D)实验具体步骤见视频教学。
例题 用AutoLISP设计传动轴的参数化绘图
一、图形参数的确定。
8
二、编制AutoLISP程序。
(defun c:shaft()
(setq p0 (getpoint \"\\n insert point:\")) (setq alf (getangle \"\\n rotation angle:\")) (setq d1 (getdist \"\\n shaft Diameter1:\")) (setq c (getdist \"\\n chamfer Distance:\")) (setq b1 (getdist \"\\n shaft Length1:\")) (setq d2 (getdist \"\\n shaft Diameter2:\")) (setq b2 (getdist \"\\n shaft Length2:\")) (setq d3 (getdist \"\\n shaft Diameter3:\")) (setq b3 (getdist \"\\n shaft Length3:\")) (setq sbd (getdist \"\\n slot Distance:\")) (setq sL (getdist \"\\n slot Length:\")) (setq sb (getdist \"\\n slot Width:\")) (setq oldosmode (getvar \"osmode\")) (setvar \"osmode\" 0)
(setq p2 (polar p0 (+ (* 0.5 pi) alf) (- (* 0.5 d1) c))) (setq p1 (polar p2 (+ (* 0.25 pi) alf) (* 1.414 c))) (setq p3 (polar p2 (+ (* 1.5 pi) alf) (- d1 (* 2 c)))) (setq p4 (polar p1 (+ (* 1.5 pi) alf) d1)) (command \"line\" p1 p2 p3 p4 \"\")
(setq x1 (+ (car p0) c)) (setq y1 (cadr p0)) (setq p01 (list x1 y1))
(setq p2 (polar p01 (+ (* 0.5 pi) alf) (* 0.5 d1))) (setq p1 (polar p2 alf b1))
(setq p3 (polar p2 (+ (* 1.5 pi) alf) d1)) (setq p4 (polar p3 alf b1))
(command \"line\" p1 p2 p3 p4 \"\")
(setq x1 (+ (car p01) b1)) (setq y1 (cadr p01)) (setq p02 (list x1 y1))
(setq p2 (polar p02 (+ (* 0.5 pi) alf) (* 0.5 d2))) (setq p1 (polar p2 alf b2))
(setq p3 (polar p2 (+ (* 1.5 pi) alf) d2))
9
(setq p4 (polar p3 alf b2))
(command \"line\" p1 p2 p3 p4 \"c\")
(setq x1 (+ (car p02) b2)) (setq y1 (cadr p02)) (setq p03 (list x1 y1))
(setq p2 (polar p03 (+ (* 0.5 pi) alf) (* 0.5 d3))) (setq p1 (polar p2 alf b3))
(setq p3 (polar p2 (+ (* 1.5 pi) alf) d3)) (setq p4 (polar p3 alf b3))
(command \"line\" p2 p1 p4 p3 \"\")
(setq x1 (+ (car p02) sbd)) (setq y1 (cadr p02)) (setq p04 (list x1 y1))
(setq r (* 0.5 sb) L1 (- sL sb))
(setq p1 (polar p04 (+ (* 0.5 pi) alf) r)) (setq p2 (polar p1 alf L1))
(setq p4 (polar p2 (+ (* 1.5 pi) alf) sb)) (setq p3 (polar p1 (+ (* 1.5 pi) alf) sb))
(command \"pline\" p1 p2 \"a\" p4 \"l\" p3 \"a\" \"cl\") (setvar \"osmode\" oldosmode) )
《机械CAD/CAM》标准实验报告
课程:《机械CAD/CAM》 系别:机电学院 实验室:CAD中心 专业:机械设计 班级: 学号: 姓名:
实验一 设计传动轴的参数化绘图程序
一、实验目的
1. 掌握参数化绘图的方法; 2. 熟悉AutoLISP语言的语法。 二、实验内容
用AutoLISP完成简单传动轴的参数化绘图程序。
三、 实验步骤
a) 图形参数的确定。(在下图中标出各参数)
10
b) 编制AutoLISP程序。
四、 程序清单
实验二 三维实体建模
一、 实验目的
1了解和熟悉Pro/ENGINEER野火版;
2掌握Pro/ENGINEER野火版基础特征和放置特征的创建方法和过程; 3掌握Pro/ENGINEER野火版进行零件设计的方法和步骤。
二、实验内容
用PROE完成典型扳手、泵盖、轴、链条等结构的三维模型图。
三、实验步骤
1、 设置视角(Vpoint)和建立用户坐标系(Ucs)。 2、 3、 4、 5、
四、实验结果(将模型树和创建好的零件的三维造型用屏幕拷贝的方式获取后打印出来)
11
实验三 装配建模
一、实验目的
1、掌握PROE三维实体装配建模技术; 2、掌握生成爆炸图方法。 二、 实验内容
用PROE完成装配链条的三维模型图,并生成爆炸图。 三、 实验步骤(参考ProE NC设计.ppt中实例或视频) 1. 2. 3. 4. 5. 四、 实验结果(将模型树、创建好的零件的三维造型用屏幕拷贝的方式获取并生成爆炸图
后打印出来)
12
实验四 PRO/E的NC加工
一、实验目的
1、了解和熟悉Pro/ENGINEER野火版; 2、了解和熟悉数控加工的相关知识;
3、掌握Pro/ENGINEER野火版进行数控加工程序设计的方法和步骤。 二、实验内容
1、自己选择零件完成数控铣削加工(一种)
三、实验步骤(参考ProE NC设计.ppt中实例或视频) 1. 2. 3. 4. 5.
四、实验结果(将将刀具路径数据文件和数控加工程序文件打印出来;用屏幕拷贝的方式获取加工仿真后打印出来)
13
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务