计算机辅助设计二次开发案例教程ch11
第11章 三维参数化设计 11.1 AutoCAD三维设计概述 AutoCAD支持3种类型的三维模型,每种模型都有自己的创建方法和编辑技术 : 线框模型: 描绘三维对象的骨架。线框模型中 没有 面,只有描绘对象边界的点、直线和曲线。 曲面模型: 不仅定义三维对象的边,而且还定义三维对象的面。 实体模型: 通过创建长方体、圆柱体、球体、楔体和圆环体等不同实体模型来创建三维对象,然后对这些形状进行并(UNION)、差(SUBTRACT)、交(INTERSECT)操作来实现复杂的三维图形。 11.2 参数化绘图 参数化(Parametric)设计(也叫尺寸驱动Dimension-Driven)是CAD技术在实际应用中提出的课题,它不仅可使CAD系统具有交互式绘图的功能,还具有自动绘图的功能。 对于结构固定而只是尺寸大小变化的系列产品的图样,采用Visual LISP编制参数化程序,用户只需输入一组新的参数值,就能自动生成相应尺寸的图样。 11.3 综合案例1 参数化3D齿轮的程序设计与开发 1. 案例说明 齿轮是能互相啮合的有齿的机械零件,它在机械传动及整个机械领域中的应用极其广泛,如图所示。 齿轮的组成结构一般有轮齿、齿槽、端面、法面、齿顶圆法面、齿顶圆、齿根圆、基圆、分度圆。 11.3 综合案例1 参数化3D齿轮的程序设计与开发 轮齿:简称齿,是齿轮上每一个用于啮合的凸起部分, 齿槽:齿槽是齿轮上两相邻轮齿之间的空间。 端面:端面是圆柱齿轮或圆柱蜗杆上,垂直于齿轮或蜗杆轴线的平面。 法面:法面指的是垂直于轮齿齿线的平面。 齿顶圆法面:齿顶圆法面指的是垂直于轮齿齿线的平面。 齿顶圆:齿顶圆是指齿顶的圆。 齿根圆:齿根圆是指槽底所在的圆。 基圆:基圆是形成渐开线的发生线作纯滚动的圆。 分度圆:分度圆是在端面内计算齿轮几何尺寸的基准圆。 分类:齿轮可按齿形、齿轮外形、齿线形状、轮齿所在的表面和制造方法等分类 齿形:齿轮的齿形包括齿廓曲线、压力角、齿高和变位。 11.3 综合案例1 参数化3D齿轮的程序设计与开发 2. 齿轮算法 底面圆心 P1 模数 mod 如果mod>1.25 ht=2.25 否则 ht=2.4 齿数 n 高度 gh 内圆直径 d P2=(P1(x) p1(y)+(n+2)*mod/2 ) P3=(P2(x)+0.14175*pi*mod P2(y)) P21=(P1(x) P1(y)+(2*ht*mod-(n+2)mod)/2) p4=(P21(x)+h22 P21(y)) p5=(P4(x)+2*0.14175*pi*mod P4(y)-(2*0.14175*pi*mod)/(2*ht*mod-(n+2)*mod)) 11.3 综合案例1 参数化3D齿轮的程序设计与开发 对一个完整的齿做阵列处理,根据P4、P5连接相邻的齿,合并后拉伸,绘制内圆底面并拉伸,齿轮与内圆做差集处理,再完成体着色,形成最后的齿轮,如图11.6所示。 11.3 综合案例1 参数化3D齿轮的程序设计与开发 3. 程序设计过程 (1) 首先设计输入数据的对话框,如图11.7所示。 11.3 综合案例1 参数化3D齿轮的程序设计与开发 (2) 绘制参数化3D齿轮的Visual LISP程序。 11.3 综合案例1 参数化3D齿轮的程序设计与开发 (defun c:gear() (setq gear_value (load_dialog "D:/gear.DCL")) (if (null (new_dialog "gear" gear_value)) (exit) ) (action_tile "Key_x" "(setq X $value)") (action_tile "Key_y" "(setq Y $value)") (action_tile "Key_d1" "(setq D1 $value)")