vipsolidworks二次开发报告

上传人:小** 文档编号:55575308 上传时间:2018-10-02 格式:DOC 页数:41 大小:782KB
返回 下载 相关 举报
vipsolidworks二次开发报告_第1页
第1页 / 共41页
vipsolidworks二次开发报告_第2页
第2页 / 共41页
vipsolidworks二次开发报告_第3页
第3页 / 共41页
vipsolidworks二次开发报告_第4页
第4页 / 共41页
vipsolidworks二次开发报告_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《vipsolidworks二次开发报告》由会员分享,可在线阅读,更多相关《vipsolidworks二次开发报告(41页珍藏版)》请在金锄头文库上搜索。

1、1SolidWorks 二次开发二次开发零件参数化设计零件参数化设计及自动装配与工程图及自动装配与工程图2目录目录第一部分:绪论3 1.1 SolidWorks 系统简介.3 1.2 solidworks 部分功能介绍 4 1.2.1 造型功能.4 1.2.2 绘图功能.5 1.2.3 装配功能.5 1.2.4 二次开发.6 第二部分:设计目标7 第三部分:solidworks 运行 .8 3.1 零件图.8 3.1.1 大齿轮生成.8 3.1.2 小齿轮生成.8 3.1.3 键 1 生成.9 3.1.4 键 2 生成.9 3.1.5 轴的生成.10 3.2 装配图.10 3.3 参数化设计.

2、11 第四部分:程序设计12 4.1 设计步骤.12 4.1.1 创建一个 ATL COM AppWizard 文件 .12 4.1.2 添加 Solidworks API12 4.1.3 编辑字串表.13 4.1.4 插入对话框,并编辑对话框.14 4.2 零件图主要程序代码.15 4.2.1 齿轮生成程序.15 4.2.2 轴的生成程序.21 4.2.3 键的生成程序.23 4.3 装配图.25 4.3.1 新建装配体程序.25 4.3.2 装配体插入零件并装配.26 4.4 参数化设计.35 4.4.1 参数化程序.35 4.4.2 生成工程图程序.39 4.4.3 尺寸标注.40 第五

3、部分:总结423第一部分:第一部分:绪论绪论1.1 SolidWorks 系统简介系统简介SolidWorks 是一套基于 Windows 的 CAD/CAE/CAM/PDM 桌面集成系统,是美国 SolidWorks 公司在总结和继承了大型机械 CAD 软件的基础上,在 Windows 环境下实现的第一个机械三维 CAD 软件,于1995 年 11 月研制成功。它全面采用非全约束的特征建模技术,其设计过程全相关性,可以在设计过程的任何阶段修改设计。同时牵动相关部分的修改。它即提供自底向上的装配方法,同时还提供自顶向下的装配方法。它具有独创性的“封装”功能,可以分块处理复杂的装配体。具有产品配

4、置功能,为用户设计不同构性的产品。它集成了设计、分析、加工和数据管理过程,所获得的分析和加工模拟结果成为产品模型的属性,在 SolidWorks 的特征管理器中清晰的列出了详细的数据信息。它还可以动态模拟装配过程,进行静态干涉检查、计算质量特征,如质心、惯性矩等。它将 2D 造型绘图与3D 造型技术融为一体,能自动生成零件尺寸、材料明细表(BOM)、具有指引线的零部件编号等技术资料,从而简化了工程图样的生成过程。同时有中英文两种界面可以选择,其先进的特征树结构使操作更加简便和直观。具有交好的开发性接口和功能扩充性。能轻松实现各种 CAD 软件之间的数据转换传送。SolidWorks 系统具有如

5、下的特点:(1) 具有独特的特征管理员,提供的特征管理员设计历史树同具4体的实体模型是实时的动态联接;(2) 具有强大的实体建模功能和直观的 Windows 用户界面;(3) 支持 Windows 的 DDE 机制和 OLE 技术;(4) 支持 Internet 技术,可以共享设计数据; (5) 双向关联的尺寸驱动机制;(6) 提供了 VC + +、VB 和其他支持 OLE 的开发语言接口;(7) 给基于 Windows 的桌面集成赋予了新的含义。它以 Windows 为平台,集成了动态仿真软件(Motionworks) 、工程分析软(CosMo- SolidWorksorks) 、数控加工软

6、件(SurfCAM) 、以及工程数据管理软(SmarTeamWorks) 等,使它们成为SolidWorks 家族中的一员。这些软件的数据可以相互传递共享。而且 SolidWorks 公司还设有网上站点,可方便用户快速了解此系统的最新发展情况,或获得最新的技术支持。1.2 solidworks 部分功能介绍部分功能介绍1.2.1 造型功能造型功能SolidWorks 提供了新一代的造型功能,它包括了草图和实体,参数化特征造型技术。提供丰富的基本特征,并且提供用户自定义特征的功能。SolidWorks 支持强大的三维参数化设计功能,可以方便地在设计的任何阶段修改零件.51.2.2 绘图功能绘图功

7、能工程绘图系统 Drawing 主要用于三维模型的工程图纸绘制与输出,可同时编辑多张图纸。当设计人员建图纸文件时,可以将 PART 文件上的特征历史树的总结点用鼠标点取移动到图纸文件上,图纸文件上自动生成三视图。绘制的图纸上可以自动标注尺寸信息。图纸与模型是相互关联的,当模型上的尺寸或造型变化时,图纸也相应改变。视图包括标准视图、投影视图、一般视图、局部视图以及剖面视图,是零件或装配体在图纸上的某种形式的投影。在视图上可以增加或删除符合国标的工程标注。本系统随时维护三维模型与二维绘图的一致性。注释及辅助线段、圆注释和辅助的线段、圆用于给图纸增加一些视图中未给出的信息,如加工注意点、材料选择等。

8、1.2.3 装配功能装配功能SolidWorks 中装配的功能是由用户指定装配体中各零件之间的装配约束关系,将零件装配成装配体。装配系统不但可以将零件装配起来,也可以读入已经装配好的装配体,作为子装配体进行装配;子装配体在装配过程中可以视为一个整体,等效于一个零件。SolidWorks 可以模拟仿真装配的全过程。61.2.4 二次开发二次开发虽然 SolidWorks 所提供的功能非常强大,但要使其在我国企业中真正发挥作用,就必须对其进行本地化、专业化的二次开发工作。为了方便用户进行二次开发,SolidWorks 提供了几百个 API 函数,这些 API 是 SolidWorks 的 OLE

9、或 COM 接口。用户可以使用高级语言对其进行二次开发,建立适合用户需要的、专用的 SolidWorks功能模块。SolidWorks 是一个非常开放的系统,提供了 VB ,VC + + 和其他支持 OLE 的开发语言接口。提供给用户必要的工具(宏语言、库函数等) 以开发个人化的应用模块,并且易于将它集成到系统中去。用 VC + +或 VB 调用 SolidWorks 的 API 函数,可以完成零件的建造、修改;零件各特征的建立、修改、删除、压缩等各项控制;零件特征信息的提取,如特征尺寸的设置与提取,特征所在面的信息提取及各种几何和拓扑信息;零件的装配信息;零件工程图纸中的各项信息;还可在 S

10、olidWorks 主菜单上增加按钮,将自己开发的应用模块嵌入到它的管理系统中。7第二部分:设计目标第二部分:设计目标本次设计的目标是开发一个 solidworks 的插件,使用 vc+语言进行编译,插件功能可以将几个简单零件进行参数化,达到对话框中修改尺寸自动生成零件并生成工程图及标注尺寸,其次将零件进行自动装配。本次报告的主要内容如下:1.简要介绍 SolidWorks 系统;2.VC+对 SolidWorks 的二次开发方法及其 API 函数;3 .简单零件的参数化;4.零件之间的装配;5.自动生成工程图并标注尺寸。8第三部分:第三部分:solidworks 运行运行3.1 零件图零件图

11、3.1.1 大齿轮生成大齿轮生成3.1.2 小齿轮生成小齿轮生成3.1.3 键键 1 生成生成93.1.4 键键 2 生成生成103.1.5 轴的生成轴的生成3.2 装配图装配图113.3 参数化设计参数化设计12第四部分:程序设计第四部分:程序设计4.1 设计步骤设计步骤4.1.1 创建一个创建一个 ATL COM AppWizard 文件文件4.1.2 添加添加 Solidworks API134.1.3 编辑字串表编辑字串表144.1.4 插入对话框,并编辑对话框插入对话框,并编辑对话框154.2 零件图主要程序代码零件图主要程序代码4.2.1 齿轮生成程序齿轮生成程序void firs

12、tdlg:OnOK() / TODO: Add extra validation here / TODO: Add extra validation here HRESULT retval; CComPtrpPartDoc = NULL; retval = m_iSldWorks_dlg-NewPart(IDispatch*) if(pPartDoc = NULL) AfxMessageBox(_T(“新建零件文件失败“); UpdateData(TRUE); long docType =-1;/定义类型 CComPtr m_iModelDoc;/定义 ModelDoc 对象 CComPtr

13、swDoc;/定义 ModelDoc 对象 m_iSldWorks_dlg-get_IActiveDoc2(/获得当前活动文档对象 m_iModelDoc-GetType(/获得当前活动文档对象的类型 if (docType != swDocPART) ) / 判断是否为零件. AfxMessageBox(_T(“打开的不是零件“),MB_OK|MB_ICONINFORMATION); m_iModelDoc= NULL;/释放 ModelDoc 对象 return ;/返回 CComPtr swDocExt;/定义 ModelDocExtension 对象 m_iModelDoc-get_E

14、xtension( CComPtr swFeat;/定义 Feature 对象 CComPtr swFeatMgr;/定义 FeatureManager 对象 m_iModelDoc-get_FeatureManager( if(swFeatMgr=NULL) AfxMessageBox(_T(“swFeatMgr=NULL“),MB_OK|MB_ICONINFORMATION); return; CComPtr swSketchMgr; m_iModelDoc-get_SketchManager ( VARIANT_BOOL res = VARIANT_FALSE; m_iModelDoc-

15、SetAddToDB(VARIANT_TRUE);/草图曲线加入 SolidWorks 数据库 m_iModelDoc-SetDisplayWhenAdded(VARIANT_TRUE); /显示新的实体16CString m=this-m_moshu;/ CString z=this-m_chishu; CString houdu=this-m_houdu; CString kongjing=this-m_kongjing; double moshu,chishu,hd,kj; moshu=atol(m.GetBuffer(0); chishu=atol(z.GetBuffer(0); hd

16、=atol(houdu.GetBuffer(0); hd=hd/1000; kj=atol(kongjing.GetBuffer(0); kj=kj/1000; double t,Y,X;double pai=3.1415926; double jiyuan=moshu*chishu*cos(20*pai/180)/2; double chidingyuan=(moshu*chishu+2*moshu)/2; double fenduyuan=moshu*chishu/2; double totaljiao=sqrt(chidingyuan*chidingyuan-jiyuan*jiyuan)/jiyuan; double zj=totaljiao/10; for (int i= 0; iSketchSpline (10-i), X/1000, Y/1000, 0);/ 生成样条曲线 CComPtr swSkSeg; CComPtr swSkSeg1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号