宏程序设计
- 格式:ppt
- 大小:1.24 MB
- 文档页数:75


2016年 2月上 世界有色金属79Comprehensive综合宏程序在SolidWorks非标金属机械设计中的应用黄华(闽北职业技术学院信息与工程系,福建 南平 353011)摘 要:Solidworks的宏是一系列命令的合集,相当于DOS操作系统下的批处理文件,用来实现VisualBasic程序和Solidworks之间的参数传递。在企业三维化设计过程中,利用SolidWorks三维软件设计的宏程序编制功能编写特定的宏程序,能够解决设计中的属性传递的一致性和统一修改便捷性的问题,给企业非标机械设计带来便利。关键词:SolidWorks;宏程序;非标机械设计;中图分类号:TG51 文献标识码:A 文章编号:1002-5065(2016)03-0079-3Application of macro program in the design of SolidWorks non-standard metal machineHUANGHua(InCareerTechnicalCollege,DepartmentofinformationandEngineering,Nanping 353011,China)Abstract: SolidWorksmacroisaseriesofcommandscollection,equivalenttoDOSbatchfileprocessing,usedtotransferparametersbetweenthevisualbasicprogramandSolidWorks.Inthedesignprocessofenterprisethree-dimensionalusingmacroprogramof3DCADsoftwareofSolidWorksencodingfunctionofwritingspecificmacroprogram,cansolvethetransferpropertiesinthedesignofaconsistentanduniformchangesinconvenience,toenterprisesofnonstandardmechanicaldesignbringsconvenience.Keywords: SolidWorks;macroprogram;non-standardmechanicaldesign;随着非标机械设计越来越复杂,仅用二维设计表达已经很难直观、明显的表达设计者的设计意图并向工人传递。针对这一情况,厂家逐步推广用三维设计来取代二维设计。利用SolidWorks三维软件设计的直观性,设计者能通过虚拟装配直接发现设计中的不足;通过三维软件的模型属性设置和传递,便于机械零部件自动统计和设计汇总的自动生成;通过三维软件直接生成二维图纸,能很好的对接传统设计,适应工人的要求,同时三维模型的变更能直接在二维图纸中反映,利于产品的修改和升级,为非标机械设计提供了极大的便利。但是在三维软件的使用过程中,也发现了诸多不便之处[1]。主要体现在自动生成的二维图纸的标题栏的自动生成、明细表中制件和标准件的分开并能自动统计和生成符合企业需求的设计汇总表、零件代号的自动生成收稿时间:2016-01作者简介:黄华,生于1981年,男,福建建阳人,硕士,讲师。工作单位:闽北职业技术学院。研究方向:机械设计、模具设计与制造方向。通讯地址:福建省南平市江南职教园区海瑞路9号。联系方式:sp3@163.com和修改、分类等方面,利用SolidWorks软件的宏程序功能编写符合特定要求的宏程序,可以有效的解决上述问题而较大的提高设计的效率和准确性。1 宏程序及Solidworks软件的性能Solidworks作为一款主流的三维CAD解决方案,具有性能强大、易于创新及操纵简单等特点。在非金属机械设计应用Solidworks,可以供应不一样的设计方案,减少设计进程里的失误,增加产品设计的准确度及质量,具有一定的实用性。采用Solidworks软件进行独立的实体扫描、放样和尺寸驱动,以及强大的三维立体造型功能,经过对设计的产品进行拉伸、旋转、扫描等特征,能够生成非金属机械设备的三维图像;在形成三维图像的根本上经过尺寸修改、对比就能改变分金属机械设备的尺寸,是一款很好的设计软件。数控系统为用户配备了强有力的类似于高级语言的宏程序功能,用户可以使用变量进行算术运算、逻辑运算和函数的混合运算,此外宏程序还提供了循环语句、分支语句和子程序调用语句,利于编制各种复杂的零件世界有色金属 2016年 2月上80Comprehensive综合加工程序,减少乃至免除手工编程时进行繁琐的数值计算,以及精简程序量。宏程序指令适合抛物线、椭圆、双曲线等没有插补指令的曲线编程;适合图形一样,只是尺寸不同的系列零件的编程;适合工艺路径一样,只是位置参数不同的系列零件的编程。较大地简化编程;扩展应用范围。而将其使用在SolidWorks非标金属机械设计中在提高设计准确度和效率方面具有重要作用。2 宏程序编写Solidworks的宏是一系列命令的合集,相当于DOS操作系统下的批处理文件,用来实现VisualBasic程序和Solidworks之间的参数传递。宏所包含的调用相当于使用用户界面执行操作时对API的调用[1]。Solidworks应用程序对象(在宏程序里面声明为swApp)是所有调用SWAPI功能的最顶层,要调用SWAPI的其他功能,必须先调用此对象。Solidworks活动文档对象指的是“零件环境”、“装配环境”、“工程图环境”和“非工作环境”四个状态,它仅处于Solidworks应用程序对象下,要调用SWAPI功能必须在调用应用程序对象后调用此对象。通过对企业需求和设计习惯的分析,设计中单个零件一般采用手动输入的方式比较便捷,但是对于非标机械来说整套下来往往成百上千个零件,如果一个个手动输入则太过麻烦,如果能在整体设计好后一次性修改所有的零件属性则工作效率将得到极大的提升。故宏程序应用的优势主要体现在对装配体乃至总装的处理上,根据这一原则宏程序首先需要判断是否装配体,是则需要逐一填写装配体下属的零、部件属性。按照SolidWorks软件的编程接口和格式,编写宏程序如下:Submain()SetswApp=Application.SldWorksSetTopDoc=swApp.ActiveDoc'获取当前活动对象IfTopDoc.GetType<>2ThenExitSub'不是裝配体则退出……SetswModel=swApp.ActiveDocSetConfiguration=AsmDoc.GetConfigurationByName(ConfString)SetRootComponent=Configuration.GetRootComponentComponents=swModel.GetComponents(False)'获取整个装配体的组成(零件或者部件)ForEachSingleComponentInComponents'遍历……在整个非标机械设计的过程中,对于一般企业而言,首先总装编号有可能在设计完成后给出,需要能够针对所有的设计结果批量且灵活的修改。根据这一特定要求,以总装文件名为总装名称,总装文件所在文件夹名称为“工作号总装图号”,这样利用文件夹重命名就能够做到方便的修改:TopDocPathSplit=Split(TopDoc.GetPathName,"\")TopDocName=TopDocPathSplit(UBound(TopDocPathSplit))TopDocName=Left(TopDocName,Len(TopDocName)-7)TopDocPathOnly=TopDocPathSplit(UBound(TopDocPathSplit)-1)……L12=InStrRev(StrReverse(TopDocPathOnly),"",,0)L11=InStrRev(TopDocPathOnly,"",,0)’利用空格分割工作号和总装图号TopDocPathOnly1=Right(TopDocPathOnly,L12-1)TopDocPathOnly2=Left(TopDocPathOnly,L11-1)’获取工作号和总装图号……其次,处理总装下属的部件和零件的属性。一般企业零部件文件名格式要求是“编号_名称”,零、部件命名完成后工程图还要再填写一次。万一遇到需要修改时则两边同时都要改,常常出错。如果能直接读取零、部件的命名加以属性传递,例如编号和名称分别通过零部件的:“编号”和“名称”属性进行传递,则简化工作任务的同时亦不会出错。按照这一原则编写宏程序代码主要如下:DimDRAWNO_valueAsStringDimPARTNAME_valueAsStringDimDRAWNO_value3AsStringL1=InStrRev(SingleComponentName,"_",,0)L2=InStrRev(SingleComponentName,".",,0)DRAWNO_value3=StrReverse(SingleComponentName)IfL1<>0Thencode_=Right(DRAWNO_value3,L1-1)name_=Mid(DRAWNO_value3,8,L2-L1-1)IfSingleComponentModel.GetType()<>1ThenDRAWNO_value=TopDocPathOnly1+StrReverse(code_)PARTNAME_value=StrReverse(name_)SingleComponentModel.AddCustomInfo3"","分类",swCustomInfoText,"零、部件"SingleComponentModel.AddCustomInfo3"","分类-细",swCustomInfoText,"部件"Else2016年 2月上 世界有色金属81参考文献L3=InStrRev(name_,"#",,0)IfL3<>0Thenname1_=Right(name_,L2-L1-L3-1)code1_=Left(name_,L3-1)MATERIAL_value=StrReverse(code1_)PARTNAME_value=StrReverse(name1_)ElsePARTNAME_value=StrReverse(name_)EndIfDRAWNO_value=TopDocPathOnly1+StrReverse(code_)SingleComponentModel.AddCustomInfo3"","工作号",swCustomInfoText,TopDocPathOnly2SingleComponentModel.AddCustomInfo3"","代号",swCustomInfoText,DRAWNO_valueSingleComponentModel.AddCustomInfo3"","名称",swCustomInfoText,PARTNAME_value同样的,利用if语句和相同规准下的差异化命名方式,例如用最后一位“H”代表焊接件等,就可以一一判断识别标注焊接件、标准件和外购件,便于后续设计汇总的分类生成,更加便捷的指导生产和采购。3 程序的运行按照企业设计一般程序,分别画出每个零件并装配,最后对总装图执行宏程序结果如下:图1宏程序执行完成图2宏程序执行完成后总装属性图3宏程序执行完成后零件属性通过对零、部件属性的自动生成,可以方便的传递给后续的二维工程图和生产设计汇总,以下达工作任务。4 实验分析为了证明宏程序在SolidWorks非标金属机械设计中的应用,采用宏程序在SolidWorks非标金属刀具实体设计中的应用为对比,进行实验分析得到结果如下:图4SolidWorks在非标金属机械设计及非标金属刀具实体设计中所需时间对比由图4可知,在需要设计的非标金属机械及非标金属刀具数据量一定的情况下,采用宏程序在SolidWorks非标金属机械设计时所需时间约为380ms;而宏程序在SolidWorks非标金属刀具实体设计时所需时间约为630ms;由此可知宏程序在SolidWorks非标金属机械设计比在SolidWorks非标金属刀具实体设计更具有实用性。图5SolidWorks在非标金属机械设计及非标金属刀具实体设计中的能耗对比 由图5可知,在需要设计的非标金属机械及非标金属刀具数据量一定的情况下,采用宏程序在SolidWorks非标金属机械设计时总的能耗约为38J;而宏程序在SolidWorks非标金属刀具实体设计时总的能耗约为60J;宏程序在SolidWorks非标金属机械设计时总的能耗比在SolidWorks非标金属刀具实体设计时总的能耗节省了24J,由此可知宏程序在SolidWorks非标金属机械设计比在SolidWorks非标金属刀具实体设计有一定的优越性。5 结论通过宏程序可以自动生成相应零部件的属性,通过程序的属性传递可以直接将属性赋予工程图明细栏,方便二维图纸的生成。通过宏程序可以自动生成相应零部件的图号,且图号直接与总装图所在文件夹的名称关联,便于修改。通过宏程序可以区分设计中的零部件和标准、外购件,便于分类生成设计汇总,下达任务。[1]詹友刚.SolidWorks工程图教程(2010中文版)[M].机械工业出版社,2011.基金项目:2015年福建省中青年教师教育科研项目(JA15866)Comprehensive综合
例析宏程序的手工编制
手工编程是指利用一般的计算工具,通过各种数学方法,人工进行刀具轨迹的运算,并进行指令编制。文章以FANUC 0i—MC系统的数控加工中心中的“椭圆”和“正弦曲线”两种曲线为例,分析宏程序的手工编制过程与技巧。
标签:数控技术;手工编程;宏程序
随着我国现代制造技术的发展,数控机床的应用逐渐普及,从业人员也在不断增加,数控加工越来越受到人们重视。数控程序编制的效率和质量在很大程度上决定了产品的加工精度和生产效率,它既是数控技术的重要组成部分,也是其关键技术之一。在我国,相当多的数控铣床(包括加工中心)应用在模具行业,大部分模具厂应用CAD/CAM软件,手工编程、宏程序应用的空间日趋缩小。究其原因就是大家对手工编程不重视,对宏程序不熟悉。其实,手工编程是自动编程的基础,宏程序是手工编程的高级形式和精髓,也是手工编程的最大亮点和最后堡垒。同时,编制简洁合理的数控宏程序有非常重大的现实意义,既能锻炼从业人员的编程能力,又能解决自动编程在生产实际中的不足。
自动编程软件生成的程序少则上千行,多则几万行,可读性差,不容易理解,且存储容量大,一般机床的内存无法满足要求,只能用DNC方式进行在线加工。但宏程序可以弥补这种不足,它结构严谨、分析方便、可读性好、短小精悍。宏程序结合了机床功能和数控指令系统的特点,融入编程人员的智慧。编程人员根据零件的几何信息建立相应的数学模型,采用模块化的程序设计思想进行编程,除了便于调用外,还使编程人员从繁琐的、大量的重复性工作中解脱出来,这是任何自动编程软件都不能达到的效果。因为在自动编程软件中,当零件的几何参数改变时,都要重新建模,重新设置加工参数,重新生成数控程序。
尽管宏程序有诸多优点,但很多初学者往往不易理解,且要求编程人员有相应的数学基础。所以,在教学过程中,如何让学生结合所学的数学知识理解和掌握宏程序,成为编制宏程序的一个重要前提。首先让学生明白宏程序编制的基本方法——微分法,即将要编制的曲线微分成一个个很小的直线段,以此进行拟合所要编制的曲线。正如砌圆弧形的房子,需要方砖一样。在此以FANUC 0i—MC系统的数控加工中心为例,分析宏程序的手工编制。
Des ̄n and R删『ch设计与研究
CNC系统中图形辅助宏编程的设计与实现 高 慧 吴文江 王 品 (中国科学院沈阳计算技术研究所,辽宁沈阳110004) 摘要:介绍了数控系统中图形辅助编程和宏程序编程两种编程方法,并给出了宏程序的语法分析过程。鉴 于两者的优越性,提出一种新的编程方法,将图形编程和宏编程相结合,用图形化的方法形成对宏程 序的调用指令。该方法已成功应用于蓝天数控系统中。 关键词:图形辅助编程 用户宏程序 宏指令 图形模板
Design and Implementation of Macro Pr0gramming with Aiding G raphs on CNC System GAO Hui。WU Wenjiang,WANG Pin (Shenyang Institute of Computing Technology,Chinese Academy of Sciences,Shenyang 1 1 0004,CHN)
Abstract:The paper introduces graphs aided programming and macro programming in NC system,and then presents the syntax analysis process of macro program.Considering the advantages of the two ways,a new ap’ proach is proposed which combines them with each other by using graphs to form macro— call instruc。。 tion.This approach has been successfully applied to LanTian CNC system. Keywords:Graphs Aided Programming;User Macro Program;Macro~call Instruction;Graph Template
基于CATIA的宏程序自动生成车门限位器臂杆轨迹的设计
付凯;班正逸;丁光学;朱伟;刘少峰
【摘 要】本文通过对车门限位器臂杆轨迹的常规设计方法的探究总结,将其编写成CATIA软件可读的宏程序.程序中只要在CATIA软件中点选设计限位器臂杆时所需要的四个基础元素,并将元素转化为程序可读参数,代入程序进行运算.根据限位器臂杆轨迹的设计方法,将需要进行重复的设计步骤,利用其设计方法中的重复性,使人为可以设定最大开启度和间隙角度等参数,让程序根据所输入的参数进行重复的运算,最后自动绘制生成限位器臂杆轨迹.使车门限位器的开发周期得以缩短;开发方法得以简化;布置调整得以轻松;设计结果得以准确.
【期刊名称】《汽车实用技术》
【年(卷),期】2015(000)003
【总页数】5页(P4-8)
【关键词】限位器;臂杆轨迹;宏程序;自动生成
【作 者】付凯;班正逸;丁光学;朱伟;刘少峰
【作者单位】安徽江淮汽车股份有限公司技术中心,安徽 合肥 230601;安徽江淮汽车股份有限公司技术中心,安徽 合肥 230601;安徽江淮汽车股份有限公司技术中心,安徽 合肥 230601;安徽江淮汽车股份有限公司技术中心,安徽 合肥 230601;安徽江淮汽车股份有限公司技术中心,安徽 合肥 230601
【正文语种】中 文
【中图分类】U463.8 CLC NO.: U463.8 Document Code: A Article ID: 1671-7988(2015)03--
对汽车而言,车门限位器是必不可少的元件。一方面它可以限制车门的最大开度,防止车门开得过大;另一方面,它可在需要时使车门保持开启,车门也不会自动关上。限位臂杆是限位器总成的关键部件,为实现限位器力矩大,角度准确,噪音小等特点,一般对限位臂的轨迹要求非常粗确,以免使限位臂受到开门力矩以外的力矩,造成限位臂撕拉断裂、早期磨损等不良现象。
在进行车门限位器设计时,安装支架和限位器盒等零部件通常借用现有车型的成熟,只对臂杆进行重新设计。限位器的设计是在车门钣金、A柱、B柱钣金以及铰链、玻璃升降器等零部件设计完成之后进行的,其涉及的内容主要有: