资源描述
本科毕业论文(设计)
论文题目:基于 SolidWorks的球头立铣刀参数化 设计
摘 要
本课题针对数控刀具的设计与制造现状进行研究分析,以 SolidWorks2011为CAD开发平台,利用 SolidWorks提供的API技术,结合Visual Basic技术,对 SolidWorks进行二次开发, 探索能够满足现代企业需求的“直柄立铣刀的三维参数化设计系统”的开发途径。本文主要以四刃球头立铣刀为例进行研究。
本文从球头立铣刀的几何模型着手,在国内外关于球头立铣刀的设计、分析等方面研究的基础上,通过对传统等螺旋角刃口曲线的模型进行分析,建立了球头立铣刀柱面、球面上等导程螺旋线的数学模型。并联系加工过程等计算出球头立铣刀刃部及球头部分前刀面成形曲线的数学模型。
本论文应用 SolidWorks API技术和VB技术对 SolidWorks进行二次开发,研究了基于 SolidWorks的刀具三维参数化设计系统的开发思路和开发规范,通过调用 SolidWorks内部的API函数对刀具参数化模型进行驱动,达到通过改变参数可以得到一系列不同尺寸的铣刀模型,使铣刀的设计变得方便、快捷。
关键词:球头立铣刀, SolidWorks,数学模型,参数化,VB
Technology of Parametric Design System for Ball end Mill
Based on SolidWorks
Abstract
3D Parameterized Design System for Helix—Bladed Milling Cutter Base on SolidWorks2011 platform was developed to satisfy the requirement for design andmanufacturing of numerical control cutter in machining shop.The development tools,Visual Basic were applied in the development process,This designsystem provides an effective program platform to design Four blade Helical ball-end cutter.
In this Paper, Based on the geometric model and discretization of the milling cutting edge, a internal analyse and research about design and analysis of the ball-end cutter is reviewed. By the traditional analysis of the equal helix angle edge curve model,a mathematical model of the equal Spiral lead is established on the cylinder and sphere of the ball-end cutter.With Practice and Process to calculate the ball- end cutter knife groove back, And contact the processing and calculation of a ball-milling blade Ministry and the ball head part of the rake face forming the curve of the mathematical model.
SolidWorks API technology and VB tool were employed in the development process.The aim of development SolidWorks is to implement 3-dimensional Parameterized design of helix—bladed milling cutter.The special module was embedded the CAD platform SolidWorks, Achieve by changing the parameter can be a series of different size cutter model, the design of the cutter becomes convenient, fast.
Keywords:Ball end mill, SolidWorks,Mathematical model,Parametric,VB
目 录
第一章 绪 论 1
1.1引言 1
1.2 球头立铣刀的特点 1
1.3 球头立铣刀三维参数化建模与分析软件 2
1.3.1 参数化建模软件及二次开发方法的选择 2
1.3.2 SolidWorks简介 2
1.3.3 Visual Basic简介 2
1.4课题的意义和研究内容 3
1.4.1课题的意义 3
1.4.2 课题的研究内容 3
第二章 球头立铣刀的设计 3
2.1 球头立铣刀设计概论 3
2.2球头立铣刀刀刃曲线的分析和数学建模 4
2.3 球头立铣刀螺旋角数学模型 4
2.3.1球头立铣刀螺旋角的作用 4
2.3.2球头立铣刀螺旋角数学模型的建立 4
2.4球头立铣刀刃形曲线数学模型 5
2.5球头立铣刀退刀槽扫描曲线的数学模型 7
2.6端截面形状的数学建模 8
第三章 SolidWorks的二次开发实现方法 11
3.1 SolidWorks二次开发概述 11
3.2 VB 在SolidWorks 二次开发中参数化的实现方法 11
第四章 球头立铣刀的参数化设计 15
4.1 参数化设计的概述 15
4.2 四刃球头立铣刀参数化模型的建立 16
第五章 总 结 22
参考文献 23
致 谢 24
附录 源程序 25
第一章 绪 论
1.1引言
在当今快速发展的制造业中,切削加工起着十分重要的作用。现代切削刀具在推动制造技术进步和提高工厂加工效率、降低制造成本、节约材料等方面发挥了重要的作用[l]。其中,球头立铣刀作为一种高性能的曲面加工刀具,其性能和品质的优劣对于切削加工的效率、精度以及产品质量都有直接而重要的影响。球头立铣刀与数控机床或数控加工中心配合可以实现高效率、高质量的精确加工,在模具制作、汽车制造、航空航天、机械电子等领域具有广泛的应用。
现代刀具设计、制造技术是机械制造与设计的重要技术之一。它已逐步发展
成集数学理论、计算机应用技术、现代设计方法等为一体的高新技术产业[2]。随着数控加工技术的不断发张,加工对象也日趋复杂,对于加工复杂曲面的特种刀具如球头立铣刀、成形铣刀等高精度、高性能、高效率刀具的需求也与日俱增。
国外较我国在切削刀具方面的研究起步早、投入成本高,在刀具设计与制造方面储备了大量的经验和先进的技术。中国市场在高精度数控刀具领域,起步较晚,目前总的来说技术的水平还比较落后。因此,引进新技术,并进一步研究和应用,自己掌握现代产品制造的先进技术,使技术成果理论化,是振兴我国刀具行业主要的路径之一[3] [4]。对于刀具方面,加强对各种刀具的设计与制造理论的研究,研究出属于自己的刀具设计体系,是实现此类刀具国产化的重要途径。
1.2 球头立铣刀的特点
球头立铣刀主要用于加工外形复杂的回转面。它在数控精加工刀具中占有很大的比例,被广泛应用于航空航天、汽车制造、磨具制造等多种行业。它也是复杂的三维曲面精加工中所用的重要刀具之一,其独特的刃形(S形、螺旋型等)使得球头立铣刀的加工精度高,刀具寿命长、并且还可以轴向进刀,它满足了对复杂空间曲面数控加工的需要。
球头立铣刀的制造一般都采用磨制加工,其螺旋沟槽的加工也有通过轧制成形的。由于球头立铣刀的尺寸比较小,刃型复杂,所以球头立铣刀的成形过程和加工方法都比较复杂,设计与制造也相对困难。所以这种刀具在国内目前主要依靠进口或者通过进口昂贵的加工设备来进行制造与生产。
1.3 球头立铣刀三维参数化建模与分析软件
1.3.1 参数化建模软件及二次开发方法的选择
目前国内CAD市场上比较流行的三维CAD软件有EDS公司的UG, SolidWorks 公司的 SolidWorks等,这些软件在功能上都是比较强大的,也都提供有各自的二次开发接口。从现有的资料来看,国内对Pro/E和UG的二次开发研究得较多,己发表过不少的论文。本文拟采用 SolidWorks软公司的 SolidWorks,Autodesk公司的AMD ,PTC公司的Pro/E,和SDR公司的件系统进行球头立铣刀参数化建模,并通过与VB的结合,进行 SolidWorks集成的二次开发
1.3.2 SolidWorks简介
SolidWorks是美国 SolidWorks公司基于Windows平台开发的著名的全参数化三维实体造型软件,其功能强大、性能优良,易学易用。 SolidWorks是特征造型软件的新秀,向广大机械设计人员提供用户界面更友好、运行环境更大众化的实体造型实用功能,它将零件三维造型与装配设计、二维出图融为一体,可使工业界迅速普及三维产品设计技术。 SolidWorks是一套智能型的高级CAD/CAE/CAM组合软件,它集设计、加工、分析功能于一身,能方便的进行三维实体设计、加工制造以及动力学及热力学的各项分析。 SolidWorks具有良好的开放性和兼容性。不仅可以向下兼容二维AutoGAD,同时也可以与许多其它专业软件(如有限元分析软件Ansys、三维实体设计软件UG、Pro/E等)无缝集成为功能十分强大的CAD/GAE/CAM/PDM系统,完全能胜任大型工程与产品的设计、分析、制造和数据管理。
1.3.3 Visual Basic简介
Visual Basic是微软(Microsoft)公司开发的高级程序设计语言,主要用于Windows操作系统下的软件开发,目前普遍使用的是6.0版本。本文主要利用VB对 SolidWorks进行二次开发,对球头立铣刀进行参数化建模。
1.4课题的意义和研究内容
1.4.1课题的意义
本文选取了“基于 SolidWorks的四刃球头立铣刀设计与参数化描述”作为研究课题。本课题以解决球头立铣刀设计中的参数化建模为目的,其主要意义在于:
1.建立球头立铣刀的完整的数学模型,使得球头立铣刀的刃形设计更加理论化、系统化。
2.根据球头立铣刀的数学模型及相应的 SolidWorks技术对球头立铣刀进行参数化建模,从而缩短刀具的设计周期,满足快速设计的需要。
3.对球头立铣刀的刃形、角度及制造过程进行分析,使刀具的设计更加快捷,简单,同时便于加工。
1.4.2 课题的研究内容
在国内外对于球头立铣刀的设计、分析等方面的研究的基础上,以计算机软件和相关数学、力学理论、加工工艺为手段,对球头立铣刀的参数化系统进行研究。本文的主要研究内容包括以下几个方面:
1.通过对传统等螺旋角的刃形曲线的模型进行研究、分析,建立球头立铣刀柱面上、球面上的等导程螺旋线的数学模型。并结合实际加工过程,计算出球头立铣刀退刀槽扫描曲线以及前刀面成形曲线的数学模型。
2.以球头立铣刀的建模曲线模型为基础,在 SolidWorks上建立球头立铣刀的三维参数化模型。并利用VB对 SolidWorks系统进行二次开发,建立球头立铣刀参数化系统。
第二章 球头立铣刀的设计
2.1 球头立铣刀设计概论
球头立铣刀的设计包括铣刀的刃形曲线设计、前后刀面的建模、沟槽螺旋面的设计等。而球头立铣刀设计的重要部分则在于刃形曲线的设计。因此本文主要针对圆柱形球头立铣刀的刃形曲线进行研究,而对于铣刀的沟槽螺旋面则未深入研究。
2.2球头立铣刀刀刃曲线的分析和数学建模
刀具的设计和制造过程中,刀刃曲线的设计尤为重要,因为刀刃曲线不仅决定了刀具外形,也决定了加工表面的形状(成形加工时),而且它对刀具的切削性能、刀具的加工质量也起着重要作用。螺旋形刀刃可改变切屑的流向,使切削顺着螺旋槽流出,易于散热,减少切削阻力,防止切屑刮伤已加工表面,有助于提高加工质量,增加刀具使用寿命与性能,同时螺旋角能使刀具的实际切削前角增大,改善切削刃的锋利程度和切削条件。本文将用回转刀具与螺旋运动概念,建立球头立铣刀正交螺旋刃形刀刃曲线的数学模型。
2.3 球头立铣刀螺旋角数学模型
2.3.1球头立铣刀螺旋角的作用
球头立铣刀带有螺旋切削刃,螺旋角的作用为:改变切屑的流向,使切屑顺着螺旋槽流出,从而快速散热、减小切削阻力、防止切屑擦伤己加工表面等作用,能够有效地防止切屑粘附在切削刃上,避免切削刃损伤。同时,较大的螺旋角可以增加同时参与切削的齿数,减少铣削过程中的冲击和增加切削平稳性,并使刀具实际切削前角增大,改善了切削刃的锋利程度.但是,螺旋角过大,会使刀齿强度减弱、刚性降低、刀具使用寿命缩短,刃磨也比较困难,因此,一般将刀具的螺旋角设计为30°-45°。
2.3.2球头立铣刀螺旋角数学模型的建立
球头立铣刀切削刃螺旋线可视为点M沿刀具回转表面做螺旋运动而形成的轨
迹.如图2-1所示,设点M到刀具轴线的距离为p,M点作螺旋运动的切向速度为V,将V分解为三个分量Vt、Vz、Vr,其中Vz平行于刀具轴线;Vr沿矢径p的方向;Vt垂直于刀具轴线和矢径p。则Vz和Vr的合速度Vs的方向为刀具回转表面上母线的切线方向。设速度Vt、Vz、Vr的大小为vt、vz、vr,螺旋角为p,则:
(2-1)
设M点作螺旋运动的螺旋角速度为ω,诱导导程为P(单位弧度的轴向位移),
图 2-1螺旋运动的速度分解
则:
(2-2)
所以:
(2-3)
式(2-3)即为球头立铣刀螺旋角的通用数学表达式
2.4球头立铣刀刃形曲线数学模型
球头立铣刀螺旋线有“等螺旋角螺旋线”和“等导程螺旋线”两种,实践中
发现等螺旋角切削刃刀具的性能优于等导程切削刃刀具,但在刀具的制造工艺中,大部分刀具的螺旋槽是在普通机床上按“等导程”方式加工出来的,因此这些刀具的数控刃磨加工也只能按“等导程”方式进行,因此本文主要研究等导程螺旋线的数学模型。
1. 柱面上的等导程螺旋线
在柱面上,因为半径为定值r,导程设为p,螺旋角为β,则
tanβ=r/p, (2-4)
根据诱导导程P的定义,在己知圆柱半径R,圆柱长度L,以及螺旋角β时定义坐标原点为圆柱底面圆心,圆柱轴线为Z轴,向上为Z轴正向,θ逆时针为正,则圆柱面等导程(等螺旋角)螺旋线的柱坐标方程为:
(2-5)
其中,t∈(0~l)
图2-2 圆柱面上的等导程螺旋线
2. 球面上的等导程螺旋线
对于“S”形刃球头立铣刀,一般要求其“S”形刃与主刃(周边刃)光滑连接,即“S”形刃与主刃相切,此时“S”形刃在切点Q的刃倾角λsq应等于球头立铣刀周刃螺旋角β(如图2-3),即球面上的螺旋线和柱面上的螺旋线等导程,则可根据柱面上的导程来建立球面上的螺旋线数学模型。其中长度与半径相等,L=R0只需修改柱坐标中r的值即可。
图 2-3 “S”形刃与主刃相切
图 2-4 球面上的等导程螺旋线
由图 2-3 可知: (2-6)
其中: z=-Rt (2-7)
可得: (2-8)
最终可得球面上的螺旋线的柱坐标方程为:
(2-9)
2.5球头立铣刀退刀槽扫描曲线的数学模型
退刀槽扫描曲线与球面上的螺旋曲线比较相似,只不过球面上的螺旋线是有正交螺旋线在球面上的投影,而退刀槽的扫描曲线可以看做是正交螺旋线在砂轮外圆柱上的投影,设砂轮外径为R4,前刀面深度为D,槽底半径为R3,扫描曲线的半径为:
(2-10)
其中t为变量,t∈(0-1)
由于退刀槽要与柱面的周刃螺旋沟槽连接,θ和Z值要在柱面螺旋线的基础上进行计算,由此可得球头立铣刀退刀槽扫描曲线的柱坐标方程为:
(2-11)
2.6端截面形状的数学建模
立铣刀的螺旋槽截形数学建模中,当需要满足端截面上前角、后角以及后刀面刃宽要求时,可以直接在端截面上根据给定前后刀面参数,设计出理论过渡圆弧并计算出关键点坐标,即可绘出螺旋槽端截形。立铣刀的螺旋槽端截形有如下:
图 2-5四刃立铣刀螺旋槽端截面形状
以四齿为例,铣刀端面截形如图2-5所示,刀槽截形曲线由前刀面AB、第一圆弧BQ、第一二圆弧过渡QD、第二圆弧DP、齿弧过渡面PM、凸台深ME、第二后刀面EG以及第一后刀面GH七部分组成。在工件坐标系O-XYZ中,给定己知量如下表2-1:
表2-1 球头立铣刀螺旋槽端截形参数表
变量名称
变量符号
数据类型
刀具直径
d
double
柱齿齿深
h1
double
柱齿前角
γ0
double
柱齿第一后角
α1
double
柱齿第二后角
α2
double
柱齿第一后角刃宽
L1
double
柱齿凸台宽度
L2
double
柱齿凸台深度
H2
double
柱齿槽底R
Rc
double
刀具齿数
N
int
如图2-5所示,要得到一个齿的完整沟槽截形,需要根据已知量计算出点A(xA,yA),B(xB,yB),D(xD,yD),H(xH,yH),G(xG,yG),E(xE,yE),M(xM,yM),pf(xp,yp)以及Rf的值。
在z=0端截面上,可得A(xA,yA)二(O,r),其中r=d/2。
图2-6 前刀面长度求解示意
L0=LAB=LAS-LBS (2-12)
(2-13)
(2-14)
(2-15)
根据A(xA,yA),B(xB,yB)以及Rc,可计算出:
(2-16)
H点为A点逆时针方向转角360°/N后得到的点:
(2-17)
点G与点E的坐标为:
(2-18)
(2-19)
由于PD段圆弧与MP段直线、BD段圆弧分别相切,于是有关系式(2-20):
(2-20)从式(2-20)中求得PD段圆弧半径Rf以及F点坐标分别为:
(2-21) (2-22)
在式(2-21)与式(2-22)的基础上,就可求出点D坐标为: (2-23)
第三章 SolidWorks的二次开发实现方法
3.1 SolidWorks二次开发概述
SolidWorks 是一种通用的智能型CAD/CAM软件,它的特征造型和参数化功能非常强大,但是其中有些功能不符合我国国标,也不带标准插件。因此,为了满足特定的需求,使 SolidWorks 能够更有效地,更好地发挥作用,并使特定的复杂任务自动化,提高工作效率,就必须对其进行实用化和专业化的二次开发工作。为了方便用户进行二次开发, SolidWorks 提供了几百个API 函数,这些函数就是 SolidWorks 的OLE 或者COM 接口,通过这些接口,就可以使用VB/ VBA/ VC/ Delphi等高级语言进行二次开发, 建立需要的、专用的 SolidWorks 功能模块。参数化的设计思想为 SolidWorks 进行二次开发提供了捷径,由于其利用的是参数化设计,新旧图形只是在某些具体的尺寸上发生了变化,特征形状并未根本改变,特别适合于系列化零件标准件库的建立。然而,在编程过程中怎样获取标准件模型中的尺寸参数并将其作为变量更新是要解决的主要问题。
3.2 VB 在 SolidWorks 二次开发中参数化的实现方法
针对上述问题,可以利用下面两种方法进行解决。
方法一:直接在VB 环境中通过编程实现。
模拟实际建模过程———通过 SolidWorks 软件提供的API 函数,通过选择基准面,建立草图,进行特征操作等一系列同实际建模过程相同的步骤,得到所需要的实体模型。使用这种方法,每个步骤完成之后都需要详细计算所需要的点、线、面的坐标用于下一步的选择。这种方法适用于结构形状不一致,但建模使用的特征较少的三维模型(如主轴、组合夹具等) 的建模过程。但是建立过程比较复杂,容易出错,且对于一些复杂型面的模型(如旋转类刀具等) ,采用这种方法是很难实现的。
方法二:利用 SolidWorks 中的宏录制命令辅助编程。
(1) 宏工具条
Solidwords软件中的宏工具条如图3.2所示,主要包括宏操作的命令按钮,同时也可以调用菜单栏中的工具来调出宏命令。宏工具栏的按钮主要包括运行、停止、录制/暂停、编辑等按钮。
图 3-2 宏工具条
(2) 使用宏录制圆柱的建模过程,录制代码如图3-3。
图 3-3 圆柱的建模程序
(3) 单击菜单栏中【工程】【引用】命令,选择“ SolidWorks 2011 exposed Type Libraries For add-in Use”( SolidWorks插件库文件)、“ SolidWorks 2011 Type Libray”( SolidWorks库文件)和“ SolidWorks 2011 Consant Type library” 在VB程序开发环境中建立标准EXE文件,并且引用 SolidWorks类型库,其引入步骤如( SolidWorks常数库)
(4) 在VB开发环境中添加2个lable控件,2个textbox控件,2个commandbutton控件,并将lable控件分别命名为圆柱直径,圆柱长度,将commandbutton控件分别命名为连接 SolidWorks,开始绘制。程序界面如图3-4。
图 3-4圆柱的参数输入界面
(5) 代码编写
A. 在代码编写窗口,通用区定义变量,代码如下:
Dim swapp As Object
Dim part As Object
Dim boolstatus As Boolean
'定义接口
B. 双击第一个commandbutton控件,并且写入如下代码:
Set swapp = CreateObject("SldWorks.Application")
Set part = swapp.NewPart()
swapp.Visible = True
'获取 SolidWorks软件接口并新建一个零件文件
(至此,就可以使用VB启动 SolidWorks)
C. 双击第二个commandbutton控件,并把 SolidWorks录制的宏文件的相关代码复制到VB的第二个commandbutton控件Click的事件中,并且对代码进行修改,修改后的代码如下:
boolstatus = part.Extension.SelectByID2("前视", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
part.SketchManager.InsertSketch True
part.ClearSelection2 True
Dim skSegment As Object
Set skSegment = part.SketchManager.CreateCircle(0#, 0#, 0#, Val(Text1.Text) / 2000, 0, 0#)
part.ShowNamedView2 "*上下二等角轴测", 8
part.ClearSelection2 True
boolstatus = part.Extension.SelectByID2("Arc1", "SKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
Dim myFeature As Object
Set myFeature = part.FeatureManager.FeatureExtrusion2(True, False, False, 0, 0, Val(Text2.Text) / 1000, 0, False, False, False, False, 0, 0, False, False, False, False, True, True, True, 0, 0, False)
part.SelectionManager.EnableContourSelection = False
(6) 单击VB中的启动按钮,先进行程序调试,调试结果如图3-5。
图 3-5 圆柱的程序运行结果
注意:在 SolidWorks的API函数中的单位是米,如Set skSegment = part.SketchManager.CreateCircle(0#, 0#, 0#, Val(Text1.Text) / 2000, 0, 0#),至于除以2000的原因是API中的绘制圆的函数,是以半径为参数。各函数的特点可以参考 SolidWorks中的API帮助)
比较以上两种方法发现这两种方法各有优缺点:方法1一的程序设计工作量较小,且与造型过程无关,适用于模型标准化程度较高的情况以及造型过程复杂、可变参数少的情况;方法二 适合于零件的结构和尺寸简单的情形,对于初学者来说是比较通俗易懂,简单上手的。这两种方法在 SolidWorks 二次开发过程中都值得借鉴。本文对球头立铣刀的参数化建模采用方法二。
第四章 球头立铣刀的参数化设计
4.1 参数化设计的概述
参数化设计是指在构造产品模型时,模型结构特征在保持模型拓扑关系不变的情况下可随尺寸参数的具体数值变化而自动改变生成新的产品模型。通常基于三维CAD系统的参数化设计方法有以下两种:
(1) 用编程技术实现三维模型的参数化设计。该方法不利用三维CAD系统的建模工具,而是利用三维CAD系统提供的函数,用上述介绍的参数化思想编程,完成三维模型的参数化设计。这种方法的优点是三维模型完全实现程序驱动,可以成型形状复杂的零件,但不足之处是程序代码长,编程工作量大、开发效率低、需要专业的编程技术,适用范围较小。
(2) 用CAD系统的建模工具实现三维模型的参数化设计。通过拉伸、旋转、扫描、切除等手段创建三维模型,并生成设计变量。设计者以设计变量作为三维模型的参数,通过对设计变量数据的修改,实现三维模型的参数化设计。对于具有参数化功能的三维CAD系统均可采用这种方法。这种方法的优点是不用编程或编程量小,可实现结构简单的零部件的三维参数化设计。本文就是利用这种方法实现四刃球头立铣刀的参数化设计,其设计流程如图4-1所示:
图 4-1 三维模型的参数化设计流程
4.2 四刃球头立铣刀参数化模型的建立
图 4-2 四刃球头铣刀二维工程图
由于的一些参数已经统一规范化,本文采用直径为20mm,刃长为38mm,全长为100mm的,螺旋角为45°的整体式四刃球头直柄立铣刀为例,演示三维建模过程。
(1)创建球头立铣刀毛坯体
运行已编制好的程序,输入直径20mm,长度100mm,生成一段圆柱体毛坯,程序代码如下:
boolstatus = Part.Extension.SelectByID2("前视基准面", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
Part.SketchManager.InsertSketch True
Part.ClearSelection2 True
Dim skSegment As Object
Set skSegment = Part.CreateCircleByRadius2(0, 0, 0, D / 2000)‘以坐标原点为圆心,以D/2为半径绘制圆,其中D为变量参数
Part.ClearSelection2 True
Part.SketchManager.InsertSketch True
Part.ShowNamedView2 "*上下二等角轴测", 8
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("草图1", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
Dim myFeature As Object
Set myFeature = Part.FeatureManager.FeatureExtrusion2(True, False, False, 0, 0, L / 1000, 0.01, False, False, False, False, 0.01745329251994, 0.01745329251994, False, False, False, False, True, True, True, 0, 0, False)
Part.SelectionManager.EnableContourSelection = False‘此为拉伸源代码,L为变量参数。
此处赋值,令D=20mm,L=100mm,运行程序,生成的毛坯如图4-3。
图4-3 球头立铣刀毛坯圆柱
(2) 绘制圆柱面上的刃形曲线。这里取半径R=10mm,长L=100mm,螺旋角β=45°,刃长l=38mm。部分程序代码如下:
Set Part = swApp.ActiveDoc
Dim myModelView As Object
Set myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
Part.SketchManager.Insert3DSketch True
Part.ClearSelection2 True
Dim equationDriveCurve As Object
Part.SketchManager.CreateEquationSpline2("R*cos(t)", "R*sin(t)", "l*t", "0", "1", False, 0, 0, 0, True, True);(此处R,l为变量,可由输入界面赋值)
End Sub
此处通过开始界面的赋值,可得到R=10,l=38.程序运行结果如图4-4。
图4-4 柱面刃形曲线
(3)绘制一条与周刃曲线相切的直线,并利用组合曲线命令将其与周刃曲线组合,用来作为沟槽扫描切削路径。程序如下:
boolstatus = Part.Extension.SelectByID2("Point4@3D草图1", "EXTSKETCHPOINT", 0.005403023058684, 0.008414709848078, 0.03799999999999, True, 0, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("Spline2@3D草图1", "EXTSKETCHSEGMENT", 0.007079548247725, 0.007062624690604, 0.02979964235443, True, 1, Nothing, 0)
Dim myRefPlane As Object
Set myRefPlane = Part.FeatureManager.InsertRefPlane(4, 0, 2, 0, 0, 0)
Part.ClearSelection2 True
Part.SketchManager.Insert3DSketch True
boolstatus = Part.Extension.SelectByID2("Point4@3D草图1", "EXTSKETCHPOINT", 0.005403023058684, 0.008414709848078, 0.03799999999999, True, 0, Nothing, 0)
boolstatus = Part.SketchManager.CreateSketchPlane(8, 9, 0)
boolstatus = Part.Extension.SelectByID2("Plane2", "SKETCHSURFACES", 0, 0, 0, False, 0, Nothing, 0)
Part.ActivateSelectedFeature
Part.ClearSelection2 True
Set myModelView = Part.ActiveView
myModelView.RotateAboutCenter -0.005114220598867, 0
Set myModelView = Part.Ac
展开阅读全文