搜档网
当前位置:搜档网 › solidworks二次开发

solidworks二次开发

solidworks二次开发
solidworks二次开发

论文:SOLIDWORKS二次开发技术班级:

姓名:

班级序号:

指导老师:

机械与电子信息学院

2014年5月25日

SolidWorks有着诸多的优点,但为了缩短产品开发周期、提高企业的市场竞争力,我们有必要对SolidWorks进行二次开发。本文主要介绍了SolidWorks二次开发的发展历程,并总结了SolidWorks的研究现状,还通过举了两个SolidWorks 二次开发的应用实例——基于Visual c++的SolidWorks的法兰盖三维标准件库的二次开发和基于VB的SolidWorks渐开线齿轮的二次开发,来说明如何进行SolidWorks的二次开发,对于设计人员来说具有一定的参考价值和现实意义。不仅如此,本文还对SolidWorks的二次开发的未来发展方向做了大体上的研究,并分析了二次开发的研究重点。

关键词:二次开发;研究现状;应用实例;发展方向

ABSTRACT

SolidWorks has many advantages, but it is necessary for us to do the secondary development of SolidWorks in order to shorten product development cycle and improve the market competitiveness of enterprises. This article mainly introduces the development course of the secondary development of SolidWorks, and summarizes the researchful status of SolidWorks. It also teaches you to carry on the secondary development of SolidWorks by two SolidWorks application examples.One is the secondary development of SolidWorks blind flange 3d standard parts library which is based on the Visual c ++.Another one is secondary development of SolidWorks involute gear which is based on Visual Basic. It has has a certain reference value and practical significance for designers .At last,this article also makes a general study for the future development direction of the secondary development of SolidWorks and analyzes the reseachful focus of the secondary development of SolidWorks.

Keywords-SolidWorks: secondary development; researchful status; application; development direction

第1章 Solidworks二次开发的目的与意义........................................................................... - 2 -

1.1 Solidworks的简介..................................................................................................... - 2 -

1.2 Solidworks二次开发................................................................................................. - 2 -

1.3 Solidworks二次开发的发展历程............................................................................. - 3 -

1.4 Solidworks二次开发的研究现状................................................ 错误!未定义书签。第2章 SolidWorks 二次开发应用举例.................................................................................. - 5 -

2.1 SolidWorks 二次开发应用步骤(法兰)................................................................ - 5 - ---- Visual C++二次开发SolidWorks ......................................................................................... - 5 -

2.1.1 Visual C++配置环境...................................................................................... - 5 -

2.1.2 用Swizard.swx生成DDL文件...................................................................... - 6 -

2.1.3 编制菜单栏...................................................................................................... - 9 -

2.1.4 建立交互式对话框........................................................................................ - 11 -

2.1.5 数据库链接.................................................................................................... - 15 -

2.1.6 检索界面设计................................................................................................ - 19 -

2.1.7 程序编译运行................................................................................................ - 21 -

2.2 SolidWorks 二次开发应用实例.............................................................................. - 23 -

----基于VB的SolidWorks 渐开线齿轮二次开发方法研究....................................... - 23 -

2.2.1 渐开线齿轮二次开发的基本思路[7]............................................................. - 23 -

2.2.2 建立渐开线齿轮模型.................................................................................... - 23 -

2.2.3编制应用程序[10]............................................................................................. - 26 -

2.2.4 VB程序与SolidWorks的连接..................................................................... - 26 -

2.2.5 绘图实例.......................................................................................................... - 27 - 第3章未来发展方向及研究重点.......................................................................................... - 28 -

3.1未来发展方向............................................................................................................. - 28 -

3.2研究重点..................................................................................................................... - 29 - 附录: ....................................................................................................................................... - 32 -

一、分工说明............................................................................................................................ - 32 -

二、结束语................................................................................................................................ - 32 - 参考文献.................................................................................................................................... - 33 -

第1章 Solidworks二次开发的目的与意义

1.1 Solidworks的简介

Solidworks最早由Solidworks公司于1995年推出,由于出色的技术与市场表现,它已经成为CAD行业一颗耀眼的明星。Solidworks软件功能强大,组件繁多。Solidworks有功能强大、易学易用和技术创新这三大特点,这使得Solidworks成为领先的、主流的三维CAD解决方案[1]。Solidworks能够提够不同的设计方案、减少设计过程中的错误以及提高产品质量。Solidworks不仅提供如此强大的功能,同时对每个工程师和设计师来说,操作都是简单方便、易学易用。对于熟悉微软的Windows系统的用户,基本上就可以用Solidworks来搞设计了。Solidworks独有的拖拽功能使用户在比较短的时间内完成大型装配设计。Solidworks资源管理器是同Windows资源管理器一样的CAD文件管理器,用它可以方便地管理CAD文件。使用Solidworks可以方便的管理CAD文件。使用Solidworks,用户能在比较短的时间内完成更多的工作,能够更快地将高质量的产品投放市场。

1.2 Solidworks二次开发

Solidworks二次开发简单来说就是利用诸如VB、C++、C#等支持OLE的编程语言作为开发平台,调用Solidworks API函数实现相应的功能,从而实现一些特殊的要求。同时,由于Solidworks API及其有关文档都包括在Solidworks软件中,任何用户都可以对其进行二次开发。Solidworks二次开发的必要性在于:虽然Solidworks系统提供的功能非常强大,但要使其更利于我国的企业以及设计师使用,我们必须使其本土化、专业化[2]。这就是Solidworks二次开发的意义所在。

由于SolidWorks API ( SolidWorks Application Programming Interface)提供了支持二次开发的应用编程接口,通过该接口可以开发嵌入式功能模块以扩充原 SolidWorks的功能,形成客户化定制的 SoIidWorks 软件系统[3]。所以自Solidworks问世以来,我国不少学者投入了对其进行二次开发的研究工作中。从本质上讲,二次开发是一个软件创新的过程,二次开发是增值开发商或最终用户在软件开发商所提供的开发环境与编程接口基础上,根据自身的技术需求,进行新功能开发或软件环境定制的过程。[4]在开发工具的选择上,主要有VC++/MFC/VB

以及Dwlphi等具有较强的可视化界面设计功能的编程工具,所设计出的系统对于用户具有使用界面友好、操作简便的特点,在系统功能方面,对Solidworks的二次开发主要有特种零部件的三维外形设计以及参数化设计两大方面。

1.3 Solidworks二次开发的发展历程与研究现状

Solidworks尽管面世较晚,但也有学者及工程开发人员对其进行了初步的二次开发尝试,如辽宁工学院的李卫民、刘淑芬,以及淮安市广播电视大学的张莉分别探讨了“Solidworks平台的二次开发技术”;华北水利水电学院的杜明侠、吴鲁纪、李刚研究了“基于Solidworks的三维CAD系统二次开发方法”。合肥工业大学材料科学与工程学院谢玉敏和董定福进行了“基于Solidworks 2001的标准件库的二次开发”;天津工业大学的孙建军、黎旭、唐慧海和天津大学机械工程学院的黄艳群共同进行了“基于Solidworks二次开发的非标准件参数化设计”;南京理工大学的李东波教授及其研究生刘萍萍进行了Solidworks关于尺寸公差动态查询的研究。这些研究成果促进了SolidWorks二次开发研究工作的进展[5]。

随后,更多的学者对Solidworks二次开发进行了研究。

上海理工大学陈洁婧、顾芸和兰州商学院的崔虹燕在CAD软件二次开发的界面设计方面也提出很多宝贵的想法,通过介绍三维CAD软件特点及对CAD软件二次开发技术的研究,他们于2006年得到一种如何根据企业实际需求建立出最适合企业使用的用户界面[6]。人机交互界面的好坏与否是判断CAD系统设计是否成功最直观的一步,他们提出的这种CAD软件二次开发的界面设计方法十分重要。

陕西科技大学的卢军、赵治国于2007年提出了一种基于Solidworks的冲压模的自动装配方法[7],这种关于零部件间自动装配的方法的提出,详细阐述了装配特征表示法和装配自动定位技术,提出并实现了一种基于Solidworks的自动装配的实现方法。这种基于Solidworks的自动装配法首先需要建立出关键零部件的参数化零件库和零部件间的配合关系库,采用自下而上的装配方式,从基础零件到子装配逐渐进行装配,最终得到模具的装配体,实现了模具设计的自动化。为产品设计过程中的零部件自动装配研究技术提供了坚实的理论依据。

上海理工大学的周汝望、仲梁维于2008年提出基于Solidworks二次开发的起重机斜梯参数化设计[8]。他们的想法是通过起重机关键零部件模型的建立、属性

的添加、方程式关系的建立和程序设计结合起重机斜梯的三维参数,开发出参数化设计系统,为高重复性设计工作减轻了负担。

北京交通大学的成龙、张奕黄、施洪声于2010年提出基于VB的Solidworks 标准件库的二次开发,运用VB语言编程在Solidworks中创建标准件库,为机械产品建模过程中简单便捷的插入符合我国国标要求的标准件及系统自动生成标准件功能提出了一种有效的可行方法[9]。这一创新使Solidworks更利于中国的企业及设计师使用。

大连理工大学的曾锋、钟治初、姚山于2011年提出了一种基于VB的Solidworks工程图二次开发方法,详细分析Solidworks API对象结构及BREP模型的基础上,构建了一套激光快速成型分层系统,给出了基于原点定位和对齐定位两种算法,所开发的系统具有较高的分层效率及分层精度[3] 。这一方法对Solidworks二次开发也具有十分重要的意义。

第2章 SolidWorks 二次开发应用举例

2.1 SolidWorks 二次开发应用步骤(法兰)[10]

---- Visual C++二次开发SolidWorks

SolidWorks分别通过COM对象和Dispatch提供其所有API(应用程序接口)功能和OLE(对象链接和嵌入)自动操作。Dispatch以Variants和IDispatch指针方式接受和返回自变量,因此Dispatch可以被VB,VBA或Visual C++等语言编译程序使用。使用COM可以使用户的应用程序直接操纵其下的对象。在计算等操作中,COM提供更细微的功能,并且为每一个API 调用函数返回一个HRESULT句柄。要使SolidWorks与Visual C++无缝集成在一起,充分利用SolidWorks现有的资源来为我们开发的第三方软件服务,就要做以下几方面的工作:

2.1.1 Visual C++配置环境

硬件环境:

处理器:PC机具有Intel或兼容Pentium的166MHz或更高配置的处理器。

内存 (RAM):至少64MBR AM(推荐使用128MB或更大容量的内存,根据操作系统的具体要求,可能需要增加内存);硬盘及网络设备:6.4G 以上硬盘、以太网卡和总线适配卡。

软件环境:

操作系统: Windows ProfessionalXP/Server/NT;

实用软件: 要求系统装有SolidWorks2007及Microsoft office。

如果直接创建SolidWorks二次开发的工程,就必须确保连接合适的SolidWorks头文件。另外一种方法就是利用SolidWorks公司提供的二次开发模板创建工程。

下载SWizard.Awx模板文件。SWizard.Awx文件分为两类,其中子目录“ SWizard不能注册有工具栏”中的SWizard.Awx能生成工具栏,但不能自动注册,需要该子目录中的小程序注册。子目录“SWizard能注册没有工具栏”中的SWizard.Awx不能生成工具栏,但能自动注册。调试成功前,最好选择不能注册的,调试成功后,再用能注册的或者修改*。Reg来注册,这样可以避免注册表日趋庞大。

无论选择哪种,都要将其复制到Visual C++安装目录:\Common\MSDev98\Template文件夹内。

同时把“\Program Files\SolidWorks\samples\appComm”文件夹下所

有文件拷贝到“\Program Files\Microsoft Visual Studio\VC98\Include”

文件夹下[11]。

2.1.2 用Swizard.swx生成DDL文件

具体操作流程如下:

(1)启动Visual C++,单击【File】→【New】,选择【Project】选项卡,选择【SolidWorks Add in AppWizard】,输入工程的位置和名称,如图2.1。

图2.1 SolidWorks Add in AppWizard在Visual C++中的位置

(2) 单击【OK】。检查电脑上的SolidWorks的安装目录是否与对话框中的一致,不一致的话,请改正。若在生成的DLL中想出现SolidWorks属性管理器,则勾选【Provid Sample Property Manage】。文件选项和模型视区则根据需要选择,如图2.2所示。

图2.2 选择 SolidWorks的安装目录、属性管理器、文件选项和模型视区选项

(3)单击【Next】。若想生成特征管理器视区,则勾选【Create Sample Feature Manager View】。在插件属性栏中的【Name】文本框中输入想要的名称,如【AA】,在【Description】文本框中输入想要的描述,如【Try】,若想在编译时添加注册表信息或生成*.reg文件用来以后注册插件,则选中【Register Add-In at compile time】,如图2.3所示。

图2.3 选择特征管理器视区、插件属性和注册

(4)单击【Finish】。出现新建工程信息,单击【OK】,完成DLL文件创建。如图2.4。

图2.4 新建工程信息

(5)单击【OK】。按快捷键F7,编译AA.dll,一般会出现编译成功的信息,如图2.5示。但若就此结束该工程,那么当在SolidWorks中添加此插件时,它就会什么也不做,无任何反映。

图2.5 编译AA.cpp文件

当在步骤(5)时,执行编译时可能会出现“D:add\sldworks.h(12) : fatal error C1083: Cannot open include file: 'amapp.h': No such file or directory Error executing cl.exe..这是因为在步骤(2)中采用了默认值,默认为的SolidWorks的安装位置与电脑上的不符合而造成在头文件目录中找不到amapp.h。其解决办法是:

单击【Project】→【Setting】→【Alt+F7】→选择【C/C++】,单击【category】中的下拉菜单,选择【Preprocessor】,输入\samples\amapp.h 文件夹的完整路径。如图2.6所示,然后单击【OK】。

图2.6 设置附加包含路径

在步骤(5)中,执行编译时可能会出现“LINK:fatal error LIN1104:cannot

open file “mfc42ud.lib””,这是因为VC安装时漏了一些文件。解决办法是:

到VC安装光盘上找到相应的文件后复制到相应的目录中或者重新安装VC。

2.1.3 编制菜单栏

具体操作流程如下:

(1)单击【File View】选项卡,单击【AA files】前的【+】,单击【Source Files】前的【+】,找到【ExampleApp.cpp】,如图2.7所示。

图2.7 查找ExampleApp.cpp文件

(2)在【ExampleApp.cpp】上,右击鼠标,在弹出菜单中选择【open】,

向下拖动鼠标到函数:

void CFalangaiApp::docCreateMenu(long DocumentType)

{

HRESULT hres;

VARIANT_BOOL bres;

LPFRAME pFrame;

hres = m_pSldWorks->IFrameObject(&pFrame);

// add menu

hres = pFrame->AddMenu(auT("标准件库"), 2, &bres);

// add menu item

hres = pFrame->AddMenuItem(

auT("标准件库"), auT("平面钢制法兰盖"), swLastPosition,

auT("Falangai@MenuItemCB, Falangai application menu item"),

&bres);

hres = pFrame->AddMenuItem(

auT("标准件库"), auT("凸面钢制法兰盖"), swLastPosition,

auT("Falangai@MenuItemCB1, Falangai application menu item"),

&bres);

// clean up

pFrame->Release();

}

将程序中的代码修改成对应的黑体代码。

(3)在Falangai.h头文件中添加如下所示的黑体代码:

void DllExport MenuItemCB(void);

void DllExport MenuItemCB1(void);

};

#endif

DllExport宏将声明为可输出函数,一旦函数被声明为可输出,其它应用程序可以通过加载库的方式调用此函数了,DllExport宏的定义为#define DllExport_declspec(dllexport)。如果我们在这里没有使用DllExport函数声明为可输出函数,我们仍然可以在ADD.def中将函数声明为可输出函数,如下所示。

(4)在ADD.def中可添加如下的黑体代码:

; InitUserDLL3 @1

; MenuItemCB @2

; MenuItemCB1 @4

(5)在ADD.cpp中添加如下所示的黑体代码:

//文件调回

Viod MenuItemCB(void)

{

Return;

}

Viod MenuItemCB1(void)

{

Return;

}

(6)单击【Build】→【build AA.DLL】,按F7编译,一般会出现编译

成功。

(7)启动SolidWorks,新建一个文件(可以是零件、装配体、工程文档),单击【文件】→【打开(open)】,在出现的打开对话框中,选择【文件类型】为ADD-Ins(*.dll),在文件目录D:\AA\TryAddin_Win32_Pseudo_Debug目录下找到AA.dll,如图2.8所示:

图2.8 准备打开Falangai.dll

(7)单击【打开】.在SolidWorks的菜单中出现【标准件库】,单击它,则出现下拉菜单【平面钢制法兰】,如图2.9所示:

图2.9 运行插件的结果

2.1.4 建立交互式对话框

从一个程序员的观点来看,对话框允许用户交互式地设置一些参数,是为了准备完成一些基于这些参数设置的动作。在用户来说,可以按确认按钮来执行这些参数设置的动作。要是按取消按钮的话,参数恢复到先前的状态。对话框简单明了,能够直观的对软件进行应用。

所以,在开发中,交互式对话框是必不可少的。下面以平面钢制法兰

盖为例,说明在Visual C++中如何建立用户喜欢的交互式对话框。

具体操作流程如下:

(1)单击Falangai resources资源文件,右击鼠标,在弹出的菜单选择【Insert】,如图2.10所示。

图2.10 插入资源菜单

(2)单击右键,出现【Resources Type】界面,如图2.11所示。

图2.11 插入资源对话框

(3)可看到其中提供了快捷键,位图,对话框等资源。在此界面中选择【Diolog】→【New】,这时主界面出现了一个除【OK】和【CANCEL】外的空白对话框,如图2.12所示。

图2.12 空白对话框

(4)在编译空白界面点右键,出现工具菜单,勾选【controls】打开控件编辑工具条,如图2.13所示。

图2.13 控件编辑工具条

(5)控件可以直接从工具条上选择并编辑到对话框里去,编辑好的对话框如图 2.14所示。用鼠标右键单击选中的控件,在弹出的菜单中选择【ClassWizard】。

图2.14 类向导菜单

(6)单击【OK】后,出现添加新类对话框。

(7)单击【OK】后,在出现的对话框中填写好类名后,其他选项可按确定选择,新的对话框类边建立好了,如图2.15所示。

图2.15 新类对话框

(8)单击【OK】,可以看到MFC向导对话框,在【Member Variables】标签中添加成员变量,如图2.16所示。

图2.16 成员变量对话框

(9)在【Message Map】中,【Class name】显示当前的编辑类名,【Object IDS】中是该类的所有对象的ID,选择ID就可以在Message中建立相应的消息函数。按钮和单击列表框的函数在这里建立,如图2.17所示。

图2.17 消息映射对话框

(10)成员函数和成员变量建立好后,就可编辑代码了。打开Falangai.cpp 文件,首先将“#include " \add additional includes here"”该为“#include "resource.h"”。编辑后的代码如下:

BEGIN_MESSAGE_MAP(CANSHUDLG, CDialog)

//{{AFX_MSG_MAP(CANSHUDLG)//映射消息

ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)//列表框

ON_BN_CLICKED(IDC_OK, OnOk)

ON_BN_CLICKED(IDC_CANCEL, OnCancel)

ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1)//组合框

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

打开CANSHUDLG.h,编辑后的代码如下:

// Generated message map functions

//{{AFX_MSG(CANSHUDLG)

afx_msg void OnCancel();

afx_msg void OnClickList1(NMHDR* pNMHDR, LRESULT* pResult);

afx_msg void OnOk();

afx_msg void OnSelchangeCombo1();

virtual BOOL OnInitDialog();

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

(11)打开Falangai.cpp文件,在开头出写上#include"CANSHUDLG.h"和#include "resource.h"。编辑后的代码如黑体所示如下:

void MenuItemCB(void)

{

CANSHUDLG dlg;

dlg.DoModal();

if (dlg.IsDrawing==TRUE)

{

……

}

(12)打开Example App.cpp文件,在开头处上写#include "resource.h"。编译通过后,运行DLL,就可以在SolidWorks中使用编辑的对话框了。

2.1.5 数据库链接

计算机辅助工艺设计和其它复杂的工程应用系统一样,所要处理的数据种类和数量都很可观,而且其中许多数据是和其它系统共享的。没有很好的数据管理技术,就会使某些算法变得十分复杂,效率不高,甚至难于实现既定的任务。合理地建立系统的数据库,以便对CADCAM系统运行过程中需引用和生成的大量数据进行有效的管理,使CAD /CAM系统各模块达到协同、并行工作的目的。因此采用的是Access数据库。

应用程序要访问一个数据库,首先必须用ODBC管理器注册一个数据源,

管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。

访问ODBC数据源时需要ODBC驱动程序的支持,而ODBC API不能直接访问数据库,必须通过驱动程序管理器与数据库交换信息。驱动程序管理器负责将应用程序对ODBC API的调用传递给正确的驱动程序,而驱动程序在执行完相应的操作后,将结果通过驱动程序管理器返回给应用程序。

由图 2.6可见,参数数据库中含有结构尺寸(D11 、D14、D1Z1、DL1等)决定了后续程序驱动的模型。

实现ODBC能与数据库一起工作,必须把数据库注册到ODBC驱动程序管理器,这项工作可以通过定义数据源名字来完成。具体步骤如下:(1)打开控制面板/管理工具/数据源 (ODBC)。如图2.18所示。

图2.18 控制面板

(2)在弹出的“ODBC数据源管理器”中选择“用户 DSN”属性页,点击“添加”按钮。弹出驱动程序列表的“创建新数据源”对话框,选择Microsoft Access Driver(*.mdb)。如图2.19所示.

(3)在该对话框中选择要添加的用户数据源的驱动程序,这里选择“Microsoft Access Driver(*.mdb)”作为数据源的驱动器,单击【完成】按钮,进入特定驱动程序的安装对话框。

图2.19 创建新数据源

(4)在对话框中,单击【选取】按钮将前面创建的数据库调入,如图2.20所示。

图2.20 ODBC Access安装对话框

(5)单击【确定】按钮,刚才创建的用户被添加在“ODBC数据源管理器”的“用户数据源”列表中,如图2.21所示。

图2.21 用户数据源列表

(6)在【Resource View】活动窗口中选择【DLG】对话框,在【Add Classes】上右键,选【New Class】;如图2.22所示。

图2.22 在MFC创建类

(7)在弹出的【New Class】对话框的【Base Class】栏选择【CRecordSet】作为新添加的类的基类,在【Name】栏填写类名【ZY】,点击【OK】,如图3.23所示。

图2.23 在MFC创建类

(8)在弹出的对话框的【ODBC】栏选择上节已经注册的【数据库】数据源,点击【OK】后选择该数据库的一个表【GBT9123 1-2000PM/A】,点击【OK】,这时在【ClassView】里就多了一个以【CRecordSet】为基类的新类【ZY】。如图2.24所示。

图2.24 “Databace Options”、“Select Databace Tables”对话框

(9)在Falangai.cpp文件中,链接数据库各级元素的绑定工作由以下黑体标记的函数完成。具体详细程序见附录文件夹ADD中的Falangai .cpp。

……

BOOL CANSHUDLG::OnInitDialog()

{

CDialog::OnInitDialog();

IsDrawing=FALSE;

// TODO: Add extra initialization here

UpdateData(TRUE);//获取界面信息

用c#进行Solidworks二次开发的简单步骤

用c#进行Solidworks二次开发的简单步骤1.录制宏 2.在Solidworks里画一个圆柱,画完后点停止,并将录制结果保存为.csproj 3.点击编辑,打开刚才保存的结果(默认是用vs2005打开的) 4.在项目里添加窗体输入框等 5.修改、添加窗体代码(加粗的部分是必须的) using https://www.sodocs.net/doc/be11525399.html,ponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using SolidWorks.Interop.sldworks;//需要添加的引用 using SolidWorks.Interop.swconst;//需要添加的引用 namespace Macro3.csproj { publicpartialclass Form1 : Form { SldWorks swApp = null; ModelDoc2 swModel = null; public Form1(SldWorks iswApp)//把SolidWorksMacro.cs下的swApp传递过来 { InitializeComponent(); swApp = iswApp; swModel = (ModelDoc2)swApp.ActiveDoc;

} privatevoid Form1_Load(object sender, EventArgs e) { } privatevoid button1_Click(object sender, EventArgs e) { long r=0,h=0; if (swModel == null) swApp.SendMsgToUser("请新建一个零件!"); else { if (long.TryParse(textBox1.Text,out r) &&long.TryParse(textBox2.Text,out h)) CreatCylinder(r, h); else MessageBox.Show("请输入有效的直径和高度!"); } } privatevoid CreatCylinder(double r, double h) //从main()函数下粘贴过来的代码,这里改写成一 个方法 { bool boolstatus = false; boolstatus = swModel.Extension.SelectByID2("前视基准面", "PLANE", 0, 0, 0, false, 0, null, 0); swModel.SketchManager.InsertSketch(true); SketchSegment skSegment = null; skSegment = ((SketchSegment)(swModel.SketchManager.CreateCircle(0, 0, 0, r, 0, 0))); boolstatus = swModel.Extension.SelectByID2("Arc1", "SKETCHSEGMENT", 0, 0, 0, false, 0, null, 0); Feature myFeature = null; myFeature = ((Feature)(swModel.FeatureManager.FeatureExtrusion2(true, false, false, 0, 0, h, h, false, false, false, false, 0,0, false, false, false, false, true, true, true, 0, 0, false))); } } } 6.修改、添加main()函数代码 using SolidWorks.Interop.sldworks; using SolidWorks.Interop.swconst; using System.Runtime.InteropServices; using System;

SolidWorks二次开发概述

SolidWorks二次开发概述 随着计算机技术的发展,尤其是三维CAD技术的广泛应用,设计者在产品设计时,可以直接在计算机上构造三维实体,进行虚拟装配,利用软件内置的干涉检验等功能可以极大地确保设计合理与高效,缩短产品的设计周期,为产品的更新换代提供较大的便利。设计者使用方便快捷、功能强大的三维CAD软件,与熟悉的Windows界面交互,可大大提高工作效率,也是企业进步的一个内在推动力。 作为三维建模软件中的佼佼者,SolidWorks软件是一款基于Windows平台开发的著名的全参数化三维实体造型软件,其设计过程全相关性,可以在设计过程的任何阶段修改设计,同时牵动相关部分的改变。SolidWorks软件具有强大的零件设计、钣金设计、管理设计、绘制二维工程图、支持异地协同工作等功能,它可以实现由三维实体造型向二维工程图的转化,能够使零件设计、装配设计和工程图保持时刻的全相关和同步。同时SolidWorks具有良好的开放性和兼容性。它不仅可以向下兼容二维AutoGAD,使得以前采用AutoCAD软件进行的设计得以继续使用和转化,同时还可以与许多其它专业软件(如有限元分析软件Ansys、数据加工软件Camworks、数据管理系统SmarTeams、三维实体设计软件UG、Pro/E等)无缝集成为功能十分强大的CAD/GAE/CAM/PDM系统,完全能胜任大型工程与产品的设计、分析、制造和数据管理。然而在工程实践中,其专业针对性不强。因此,人们通常在此平台上运用各种二次开发工具,开发符合国家标准、适合企业实际应用的功能模块,以极大地提高这一通用系统的附加值,提高操作人员的工作效率与产品的质量与市场竞争力,更好地满足企业设计要求,更好地发挥CAD的效能。通过对CAD软件的二次开发,可使CAD软件实现专业化、本地化。 SolidWorks通过COM(Component Object Model,组件对象模型)技术为用户提供了强大的二次开发接口(SolidWorks API),凡支持COM编程的开发工具,如Visual Basic, Delphi等均可用于SolidWorks的二次开发。SolidWorks中常用的API对象如图1所示。SldWorks对象为对SolidWorks工作环境进行访问处理提供了接口。通过此对象可以对SolidWorks工作环境添加菜单、删除菜单、添加工具条、打开文件、新建文件、退出SolidWorks系统。SolidWorks的API对象涵盖了全部的SolidWorks的数据模型,通过对这些对象属性的设置和方法的调用,就可以在用户自己开发的DLL中实现与SolidWorks相同的功能。进行二次开发时,调用SolidWorks中的API函数,可以完成零件的造型和修改,零件各特征的建立、修改、删除和压缩等各项控制,零件特征信息的提取,如特征尺寸的设置与提取,特征所在面的信息提取及各种几何和拓扑信息,零件的装配信息,零件工程图纸中的各项信息等。

solidworks二次开发

2.3 Solidworks 二次开发 Solidworks是在windows环境下实现的三维机械CAD软件。它采用了windows用户界面,拥有强大、动态激活的属性管理器,以灵活的草图绘制为基础,辅助以特征建立能力以及装配控制功能,并提供了自由、开放、功能完整的API开发工具接口。这些功能使solidworks实现了三维CAD软件所提倡的易操作性、高效性以及功能完全性。Solidworks软件进行参数化建模的主要技术特点是: (1)基于特征。将某些具有代表性的平面几何形状定义为特征,并将其所有尺寸存为可调参数,进而形成实体,以此为基础来进行更为复杂的几何形体 的构造。 (2)全尺寸约束。将形状和尺寸联系起来考虑,通过尺寸约束来实现对几何形状的控制。 (3)尺寸驱动设计通过编辑尺寸数值来驱动几何形状的改变,尺寸参数的修改将导致其他相关模块中的相关尺寸的全盘更新。采用这种技术的理由在于它能够彻底地克服了自由建模的无约束状态,几何形状均以尺寸的形式而被牢牢地控制住。 Solidworks通过OLE(对象的嵌入与)或者COM为用户提供了自由开放、功能完整的二次开发接口(API)。因此,凡支持OLE和COM编程的开发工具,诸如Visual Basic、Visual C++等均可用于Solidworks的二次开发,以创建出使用人员所需的、专门化的Solidworks应用模块。Solidworks支撑Activex Automation技术,在VB环境下建立客户程序可以直接访问Solidworks中的对象,在这里,为求方便,我们可将solidworks理解为一个服务程序,把二次开发工具的VB程序作为客户程序,它们之间只是服务器与客户的关系。用户主要在VB上进行操作,VB就可以驱动Solidworks完成相应的工作。通过调用API对象属性的设置和方法,就可以在开发的程序中实现与solidworks相同的功能。对于一般零件我们可采用人机交互的形式建立模型,设定合理的设计变量,再通过VB程序驱动设计变量实现模型的更新方法,系统开发流程如图2-5示:

基于Vb的Solidworks二次开发的经典实例

发表时间: 2009-6-5 来源: 智造网 关键字: solidworks二次开发 因为SW整合了VB编辑器(比较像,这个编辑器又可以进行宏与二次开发的制作。这里使用宏的建立来打好基础框架,以简化开发过程。用这种录制宏的方法也可以快速得到SW的操作命令,这比检索全英文的API 文档方便。 因为SW整合了VB编辑器(比较像,这个编辑器又可以进行宏与二次开发的制作。使用宏的建立来打好基础框架,以简化开发过程。用这种录制宏的方法也可以快速得到SW的操作命令,这比检索全英文的API 文档方便。目的:使用简单实例,向新手讲述最基本的二次开发步骤,让没用过二次开发的朋友能够迅速上手。本文需要VB6的基础技术,能看懂VB6程序代码,会写基本程序就行。 第一步:录制宏 运行SW,如图的两种方法开始录制宏 新建一个圆柱体,然后停止录制,并保存文件 第二步:创建程序 使用编辑宏,在VB编辑器中打开刚才制作的宏文件。界面跟VB6是一样的。程序并不长,通过读程序,我们找到刚才所作的两件事情--创建文件和建模的代码,以备后用。 插入用户窗体 在控件工具箱重托拽一个按钮控件到窗体,如图。把窗体和按钮的Caption属性分别改成:"SW基础二次开发"和"画阵列",这样窗口和按钮的文字就变成我们需要的样子了。当然你也可以写成其他文字。 第三步:整理代码 首先存盘,防止调试过程中死机带来的损失。 然后双基左上角"工程"窗口中的"模块"下我们刚刚建立的那个宏,来显示代码。在"Sub main()"下面

一行添加"Sub main()",让程序运行后首先显示刚刚创建的窗口。然后选中"Sub main()"到最后一个"end"之间的所有属于宏的代码,并剪切。这样宏代码就剩下下面的三句。(分隔线上面的声明代码不要动) 工程窗口双击"UserForm1",显示创建的窗口,再双击按钮,VB会自动建立按钮点击事件的代码:Private Sub CommandButton1_Click() End Sub 我们把刚才宏的所有代码先粘贴过来。通过命令的单词意思我们可以判断,前七句是用来创建新零件的,我们观察第6句,发现这种创建方法与SW的安装位置有关联,所以我们使用下面三句通用的创建零件方法来替代这些代码(忘了是哪位大侠教给笨笨的了,抱歉)。 Set swApp = Set Part = Set Part = 继续往下读,目的是找到创建圆柱体的命令代码。判断的依据是命令的英文词意,再建模的时候我们做了两件事情:创建草图和拉伸。在下面的代码中有两个命令:和,然后打开SW帮助菜单中的API帮助主题。 搜索这两个命令的用法,这样我们就在宏编辑功能的帮助下了结了我们需要的指令代码的用法。 第四步:编写程序 下面的事情就是编程的事了,笨笨的程序里面利用我们上面找到的圆柱体的建模命令来创建一个圆柱阵列,圆柱的高度按照正弦变化,圆柱的位置处在一个圆圈上。编程的思路就是利用循环语句,进行变量运算,然后将变量值付给建模的参数,让建立的圆柱模型的位置(草图圆的位置)和高度(拉伸特征的长度和方向)发生变化。别忘了保存,然后执行这个宏。宏代码和执行结果代码如下:

solidworks二次开发

2、3 Solidworks 二次开发 Solidworks就是在windows环境下实现的三维机械CAD软件。它采用了windows用户界面,拥有强大、动态激活的属性管理器,以灵活的草图绘制为基础,辅助以特征建立能力以及装配控制功能,并提供了自由、开放、功能完整的API开发工具接口。这些功能使solidworks实现了三维CAD软件所提倡的易操作性、高效性以及功能完全性。Solidworks软件进行参数化建模的主要技术特点就是: (1)基于特征。将某些具有代表性的平面几何形状定义为特征,并将其所有尺寸存为可调参数,进而形成实体,以此为基础来进行更为复杂的几何形体 的构造。 (2)全尺寸约束。将形状与尺寸联系起来考虑,通过尺寸约束来实现对几何形状的控制。 (3)尺寸驱动设计通过编辑尺寸数值来驱动几何形状的改变,尺寸参数的修改将导致其她相关模块中的相关尺寸的全盘更新。采用这种技术的理由在于它能够彻底地克服了自由建模的无约束状态,几何形状均以尺寸的形式而被牢牢地控制住。 Solidworks通过OLE(对象的嵌入与链接)或者COM为用户提供了自由开放、功能完整的二次开发接口(API)。因此,凡支持OLE与COM编程的开发工具,诸如Visual Basic、Visual C++等均可用于Solidworks的二次开发,以创建出使用人员所需的、专门化的Solidworks应用模块。Solidworks支撑Activex Automation技术,在VB环境下建立客户程序可以直接访问Solidworks中的对象,在这里,为求方便,我们可将solidworks理解为一个服务程序,把二次开发工具的VB程序作为客户程序,它们之间只就是服务器与客户的关系。用户主要在VB上进行操作,VB就可以驱动Solidworks完成相应的工作。通过调用API对象属性的设置与方法,就可以在开发的程序中实现与solidworks相同的功能。对于一般零件我们可采用人机交互的形式建立模型,设定合理的设计变量,再通过VB程序驱动设计变量实现模型的更新方法,系统开发流程如图2-5示:

Solidworks二次开发遍历

Solidworks二次开发—06—在装配体中添加配合 分类:devil-box about2005-04-07 10:38 1514人阅读评论(3) 收藏举报distanceinputfunctionalignmentobjectassembly Solidworks二次开发—06—在装配体中添加配合 折腾了三天终于完成了计划中的功能模块。在一个装配体中自动判断插入合适的零件,并添加配合。 在前面几篇文章中我已经基本上说明了如何得到零部件的数据信息、如何插入零部件、如何得到已经选择的特征等。 下面只介绍怎样进行配合 在做配合时,需要经常选择到零件的面、线等,这是一个问题,还有就是介绍一下addmate2函数的使用:一般进行配合我们按照下面的次序来进行: 1-ModelDoc.ClearSelection2 ‘取消所有选择 2-选择需要配合的实体(entity) 3-使用AddMate2函数进行配合 4-再次使用 ModelDoc.ClearSelection2 ‘取消所有选择 主要的问题在于如何选择合适的面: 由于面的命名没有什么规律,很多时候是程序自动来命名的,这样,不方便使用selectbyID来选择,我也不想使用坐标值来选择一个面,那样做更加糟糕。 在得到一个组件(component)或者一个特征(feature)时,我们有getfaces、getfirstface、getnextface 等方法,我们可以使用这些方法遍历一个组件或特征等的各个面,来达到选择面的目的,看下面程序:Private Function selectface(dcom As https://www.sodocs.net/doc/be11525399.html,ponent2, tp As Integer) As Boolean Set swdowelbody = dcom.GetBody() If swdowelbody Is Nothing Then '错误处理 MsgBox "选择零件失败" selectface = False Exit Function End If Set swDCface = swdowelbody.GetFirstFace ‘得到第一个面 Do While Not swDCface Is Nothing ‘遍历各个面 Set swDsurface = swDCface.GetSurface ‘得到表面对象 If swDsurface.IsCylinder Then ‘如果是圆柱面 If tp = 0 Then 'means cylinder Set swDEnt = swDCface swDEnt.Select4 True, selDdata selectface = True Exit Function End If Else ‘如果是其它,当然实际中我们可能需要使用select来定义好多分支 If tp = 1 Then 'means plane

基于C#的SolidWorks二次开发

摘要: 气动电阻点焊钳已经被各大汽车制造厂商广泛运的用于汽车焊接工艺中。它以无污染、压力稳定、动作敏捷等优点逐步替代了国内常见的液压传动焊钳,改变了液压传动滞缓的现象,从而达到了焊接循环的要求。本次毕业设计中,设计者使用了由微软公司开发的高级程序设计语言——C#(又名C SHARP)通过SolidWorks提供的“对象链接与嵌入技术(OLE)”与“部件对象模式技术(COM)”对SolidWorks进行了二次开发,完成了气动电阻点焊钳零件“电极臂”和“电极杆”的参数化设计及电阻点焊钳三维零件图库的生成任务,能方便设计者根据被加工物体的形状大小自动生成与之相适应的不同型号的电极臂和电极杆零件。 关键词: 电阻点焊钳C# 二次开发SolidWorks 设计者三维零件图库 Abstract: Pneumatic resistance spot welding tongs have been widely used in Welding process of automobile by the major automobile manufacturers. Known for traits such as pollutant-free, pressure stability, and response agility, PRSWT has gradually replaced the usual domestic the hydraulic pliers, improved the sluggishness of Hydraulic transmission and thus satisfies the welding cycle demand. In this Final year Project , designer has used the high-level programming language developed by Microsoft Corp——C#(also called C SHARP) and made secondary development on SolidWorks with the help of OLE(=Object linking and embedding technology) and COM(=Component object model technology) provided by SolidWorks, which completed the parametric design of the Pneumatic resistance spot welding parts — Electrode arm and electrode rod and the create task of 3D Part Library of Resistance spot welding tongs, which enables the designers to automatically generate the Electrode arms and electrode rod parts corresponding to different types according to the shape and size of the object to be processed with greater efficiency. Key words: Resistance spot welding tongs C# Secondary development SolidWorks designers 3D Part Library

solidworks型材库说明

图片: 图片:

图片:

图片:

图片:

图片: 焊接型材汇总,使用程序自动生成需要的型材。文件版本2006以上按照需要的尺寸安装所需,无需占用大量空间,随用随装! 再次升级为5.0.5版本 增加SW菜单,方便调用 新版本链接: https://www.sodocs.net/doc/be11525399.html,/topic_1190897.html [ 此帖被zhmh_1982在2011-02-12 12:48重新编辑]

顶端Posted: 2010-08-18 15:13 | [楼主] 孤雁82 级别: 工程师 精华: 0 发帖: 640 威望: 6 点 金钱: 16 机械币 贡献值: 0 点 注册时间:2008-03- 20 最后登录:2011-05- 30 小中大引用推荐编辑全看复制 太好了!怎么以前没发现这个好东东,多谢楼主~~~~~~~~~ 2010 sp4.0 安装应用成功 ==================================================== ==================================================== = [ 此帖被孤雁82在2010-10-21 11:19重新编辑] 顶端Posted: 2010-10-21 08:57 | 1 楼孤雁82 级别: 工程 师 精华: 0 发帖: 640 威望: 6 点 金钱: 16 机械币 贡献值: 0 点 小中大引用推荐编辑全看复制 发现好多朋友都在问怎么使用,所以不才替楼主做了个使用说明,水平有限,供大家参考,请勿拍砖。 并再次感谢楼主分享 =========================华丽丽的分割线=================== ========================= 下载后解压缩并安装该工具,一键操作自动安装,SW2006以上均可使用, 经本人测试2010SP4.0使用正常。 以下是安装使用教程: 1、安装该程序 2、启动SW程序,打开——C:\Program Files\Weldment Profiles for Sol dWorks\Weldment Profiles.dll,(注:该路径为默认路径)在 SW菜单栏会自动出现一个焊接件菜单,如下图所示

VB对solidworks进行二次开发入门2种方式

VB对solidworks进行二次开发 本次的开发均使用简单圆柱为例进行solidworks二次开发 方法一:借助API绘图函数 1.使用宏录制圆柱的建模过程,录制代码如下: 2.在VB程序开发环境中建立标准EXE文件,并且引用solidworks类型库,其引入步骤如 下:单击菜单栏中【工程】【引用】命令,选择“SolidWorks exposed Type Libraries For add-in Use”(SolidWorks插件库文件)、“SolidWorks 2007 Type Libray”(SolidWorks库文件)和“SolidWorks Consant Type library”(SolidWorks常数库) 3.在VB开发环境中添加2个lable控件,2个textbox控件,2个commandbutton控件, 并将lable控件分别命名为圆柱直径,圆柱长度,将commandbutton控件分别命名为连接solidworks,开始绘制。 程序界面如下: 4.代码编写 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 5.单击VB中的启动按钮,先进性程序调试,调试结果如下: 注意:在solidworks的API函数中的单位是米,如Set skSegment =

solidworks二次开发全教程系列

solidworks二次开发全教程系列 solidworks二次开发-01-录制一个宏 第一步: 我们需要自己录制一个宏,然后看看程序产生了什么代码。当初学习excel时候就是这么干的。只是,solidworks要复杂一些,直接录制的宏不能使用,需要做一些调整。在没有经验的时候我们最好按照下面的建议来做。 Edit or Debug SolidWorks Macro Edit or debug SolidWorks macros using Microsoft VBA. 使用Microsoft VBA编辑或调试宏 To edit or debug a SolidWorks macro: Click Edit Macro on the Macro toolbar, or click Tools, Macro, Edit. NOTES: 注意: To automatically edit a macro after recording it, click Tools, Options, Systems Options. On the General tab, select Automatically edit macro after recording and click OK. This setting is persistent across SolidWorks sessions. 此选项Automatically edit macro after recording 顾名思义是在记录宏完毕后自动打开编辑界面。 If you recently edited the macro, you can select it from the menu when you click Tools, Macro. This menu lists the last nine macros that you edited. 已经编辑了宏,菜单中会有最近的9个宏程序列表供选择。 In the dialog box, select a macro file (.swp) and click Open. 选择一个宏swp文件 NOTE: You can also edit .swb files, which are older-style SolidWorks macro files. When you run or edit a .swb file, it is automatically converted to a .swp file. 旧的宏文件后缀为swb,你也可以打开swb,那么会自动保存为swp。 Edit or debug the macro. If it is a new macro, be sure to:如果是新的宏 Delete extra lines of code: 删除一些多余的代码: The following variables are declared automatically in a SolidWorks macro. Delete any variables not used in the macro. 这些对象的声明是自动产生的,可以将没用的删除Dim swApp As Object Dim Part As Object Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long Dim FeatureData As Object Dim Feature As Object Dim Component As Object Delete all lines of code that change the view. 删除切换试图的代码 译者注:像这样的Part.ActiveView().RotateAboutCenter 0.0662574, 0.0346621 无情的删掉吧 Delete all ModelDocExtension::SelectByID2 calls appearing immediately before ModelDoc2::ClearSelection2

solidworks下载

32位下载地址 SolidWorks.2009.SP0.0.Multilingual.Win32.Final.DVDISO.iso 复制下面的链接,打开迅雷—新建任务即可 ed2k://|file|%5BSolidWorks.2009.%E5%AE%98%E6%96%B9%E6%AD%A3%E5%BC%8F% E7%89%88%5D.SolidWorks.2009.SP0.0.Multilingual.Win32.Final.DVDISO.iso |5013739520|d41430b1eb5c856891c072d6dc492686|h=CV36EN45OJHRGHDZ4HOTWO 6AMXAI7ZSP|/ 64位下载地址 SolidWorks.2009.SP0.0.Multilingual.Win64.Final.DVDISO.iso 复制下面的链接,打开迅雷—新建任务即可 ed2k://|file|%5BSolidWorks.2009.%E5%AE%98%E6%96%B9%E6%AD%A3%E5%BC%8F% E7%89%88%5D.SolidWorks.2009.SP0.0.Multilingual.Win64.Final.DVDISO.iso |5060214784|0b9a2ab0f854035c01265689b2e7af7b|h=XQXEHJTXF4KSGMZ3Q6KEPE QEDG3XQOON|/ 破解下载地址: SolidWorks.2009.SP0.0.Multilingual.Final.x32_x64.Cracks-illmaR.rar 此破解包含32位和64位.. 复制下面的链接,打开迅雷—新建任务即可 ed2k://|file|%5BSolidWorks.2009.%E7%A0%B4%E8%A7%A3%E6%AA%94%5D.SolidW orks.2009.SP0.0.Multilingual.Final.x32_x64.Cracks-illmaR.rar|3102986| 46cf24754cc2cbeb0ded4e3bb150d987|h=B45NZ3JJIDX6OHD56VHIXQJESIKUQ3AI|/ 4.7G t:'^pYN:g SLOIDWORKS2009安装补丁(在没有装过SW08版本以下的电脑直接装SOLIDWORKS2009时需要先安装的补丁) https://www.sodocs.net/doc/be11525399.html,/download/3/F/0/3F0A922C-F239-4B9B-9CB0-DF53621C57D9/ dotnetfx3.exe https://www.sodocs.net/doc/be11525399.html,/download/c/f/f/cff746cd-f17c-40d8-acf2-50d2200ad28b/ owc11.exe https://www.sodocs.net/doc/be11525399.html,/download/7/9/8/798325b7-8993-4ef9-9148-8db9ff4187fc/ vcredist_x86.exe SolidWorks 2009 可使速度提高达 65%,让您每天有更多的时间设计出更好的产品。SolidWorks 2009 以 250 项以上的增强功能、卓越的速度和突破性的性能,将会改变您的时间概念。 4:s!m Hcz SolidWorks 2009 是 SolidWorks 软件历史上的第 17 个版本,更新超过 250 项客户要求的新增功能。软件研发的重点是让用户专注于设计,而非 CAD 软件的钻研。针对组合件、大型工程图与一般常用指令三大项目,新版本相比 SolidWorks 2008 的效率分别提高 2.6 倍、6.2 倍和 8 倍。整体效率提高达到 65%,按此计算,以往需耗费一个月的工作现在在两个星期内即可完成。 以下是其中几个令人振奋的新功能:

solidworks的二次开发

目录 引言 (6) 第一章总论 1.1计算机辅助设计CAD技术 (7) 1.2计算机具设计CAFD (8) 1.3、机床夹具设计历史现状 (8) 第二章夹具库的建立 2.1引言 (9) 2.2 夹具几何建模介绍…………………………………………………………………..….9. 2.3 基于solidworks的夹具建模 (10) 2.4 solidworks的夹具库建立 (11) 2.5 solidworks 的配置技术 (14) 2.6 solidworks在夹具设计中的应用 (17) 第三章VB开发solidworks 3.1、solidworks二次开发步骤………………………………………………………..………17. 3.2、机床夹具库的建立 (18) 3.3、VB连接Access数据库 (18) 3.4、VB连接solidworks (19) 3.5、运行VB程序 (21) 结束语 (24) 参考文献 (25) 致谢 (26)

题目基于三维设计软件专用夹具CAD系统设计 学生:xxx 指导教师:张鹏 摘要计算机辅助夹具设计利用VB语言对solidworks的二次开发,提高了夹具的设计效率,增强了企业的竞争力,降低了设计人员的劳动强度,缩短了产品开发周期,克服了传统的夹具是企业发展瓶颈问题。 论文在开始回顾了CAD/CAM的发展和现状结合我国现在CAFD的现状,提出了建立机床夹具三大元件库的思想,设计CAFD系统,并实现。 在比较现在国内CAD实际情况下,主流的三维软件都具有用户定制功能并提供二次开发工具。通过三维软件的二次开发工具可以把商品化、通用化的CAD系统用户化、本地化,即以CAD系统为基础平台,在软件开发商提供的开发环境和编程接口基础之上,根据自己的技术需要研制开发自己的应用系统,进一步提高产品研发效率。本论文以VB语言为开发工具,以solidworks为编程平台,以access为数据库支持,通过solidworksAPI的二次开发功能实现CAFD系统。 关键字CAD技术solidworks的二次开发VB语言access数据库夹具零部件库

solidworks钣金教程

我们这里以创建钣金折弯为例。 1.首先打开电脑上的SolidWorks软件并新建一个零件模型,在前视基准面上绘制草图,创建基体法兰。钣金厚度1 mm,折弯半径1 mm。 2.然后创建拉伸切除特征。 3.单击钣金,选择绘制的折弯。 4.选择图示端面,绘制草图。 5.退出草图。 6.在弹等等。 1.首先打开电脑上的SolidWorks软件并新建一个零件模型,在前视基准面上绘制草图,创建基体法兰。钣金厚度1mm,折弯半径1mm。 2.然后创建拉伸切除特征。 3.单击钣金,选择绘制的折弯。 4.选择图示端面,绘制草图。 5.退出草图。 6.在弹出的窗口中点击零件端面上一点,钣金将向所点一侧折弯,参数自行设置。 7.点击确定即可。 8.SolidWorks是达索系统下的子公司,专门负责研发与销售机械设计软件的视窗产品。SolidWorks软件是世界上第一个基于Windows 开发的三维CAD系统,由于技术创新符合CAD技术的发展潮流和趋势,深受用户的喜欢。Solidworks软件功能强大,组件繁多。

新建任意一个钣金零件,保存。 钣金的一般查看展开图功能:这个功能是我们经常使用的,因为我们经常要查看展开图会不会干涉;具体操作就是点击左边钣金工具中的这个按钮,零件展开,再点击一下就折叠起来了,其实我们能看到,这个操作实际上就是设计树中的“平板型式”的解压与压缩过程。 钣金的过程中展开:这个功能必须去折叠一起使用的,连个按钮图标在此处,比如我们要在展开图上通过折弯线开一个圆孔,然后再折叠起来。首先点击展开按钮,选择一个固定面,然后选择收集所有折弯,系统会自动收集,确定,就展开了,设计树中也会出现这个特征名字。 钣金的折叠:演示一下用法,选择一个平面画一个草图圆孔,拉伸切除生成一个孔,这时我们再点击折叠按钮,再次收集所有折弯,确定,零件就折叠完成了。请注意设计树上展开--切除拉伸--折叠。

基于3种开发工具的SolidWorks二次开发对比编程实践

基于3种开发工具的SolidWorks二次开发对比编程实践

基于3种开发工具的SolidWorks二次开发对比编程实践 2009年08月12日 e-works 1 前言 随着计算机技术与网络技术的迅速发展,越来越多的企业已经加大对于企业数字化信息化的建设,购买了相应的三维设计软件及其相关产品,这无疑对加速企业产品开发进程,缩短产品制造周期,提高产品质量,增强企业市场竞争力与创新能力发挥着重要作用。然而在工程实践中,其专业针对性不强。为此,人们通常通过对CAD软件的二次开发,开发符合国家标准、适合企业实际应用的功能模块,以极大地提高这一通用系统的附加值,更好地满足企业设计要求,更好地发挥CAD的效能。 SolidWorks软件是一款基于Windows平台开发的著名的全参数化三维实体造型软件,其设计过程全相关性,可以在设计过程的任何阶段修改设计,同时牵动相关部分的改变。同时SolidWorks具有良好的开放性和兼容性。基于这些优点,本文着重对SolidWorks的二次开发进行分析与研究。通过对该软件的二次开发,使其实现专业化、本地化,更大程度上发挥软件的价值,为制造业信息化与快速化服务。 2 SolidWorks二次开发的大体思路与一般方法 SolidWorks通过COM(Component Object Model,组件对象模型)技术为用户提供了强大的二次开发接口(SolidWorks API),凡支持COM编程的开发工具,如Visual Basic, Delphi等均可用于SolidWorks的二次开发。SolidWorks 中常用的API对象如图1所示。SldWorks对象为对SolidWorks工作环境进行访问处理提供了接口。通过此对象可以对SolidWorks工作环境添加菜单、删除菜单、添加工具条、打开文件、新建文件、退出SolidWorks系统。SolidWorks的API对象涵盖了全部的SolidWorks的数据模型,通过对这些对象属性的设置和方法的调用,就可以在用户自己开发的DLL中实现与SolidWorks相同的功能。进行二次开发时,调用SolidWorks中的API函数,可以完成零件的造型和修改,零件各特征的建立、修改、删除和压缩等各项控制,零件特征信息的提取,如特征尺寸的设置与提取,特征所在面的信息提取及各种几何和拓扑信息,零件的装配信息,零件工程图纸中的各项信息等[1]。

SOLIDWORKS二次开发

2.3Solidworks二次开发 Solidworks是在windows环境下实现的三维机械CAD软件。它采用了windows用户界面,拥有强大、动态激活的属性管理器,以灵活的草图绘制为基础,辅助以特征建立能力以及装配控制功能,并提供了自由、开放、功能完整的API开发工具接口。这些功能使solidworks实现了三维CAD软件所提倡的易操作性、高效性以及功能完全性。Solidworks软件进行参数化建模的主要技术特点是: (1)基于特征。将某些具有代表性的平面几何形状定义为特征,并将其所有尺寸存为可调参数,进而形成实体,以此为基础来进行更为复杂的几何形体 的构造。 (2)全尺寸约束。将形状和尺寸联系起来考虑,通过尺寸约束来实现对几何形状的控制。 (3)尺寸驱动设计通过编辑尺寸数值来驱动几何形状的改变,尺寸参数的修改将导致其他相关模块中的相关尺寸的全盘更新。采用这种技术的理由在 于它能够彻底地克服了自由建模的无约束状态,几何形状均以尺寸的形式 而被牢牢地控制住。 Solidworks通过OLE(对象的嵌入与链接)或者COM为用户提供了自由开放、功能完整的二次开发接口(API)。因此,凡支持OLE和COM编程的开发工具,诸如Visual Basic、Visual C++等均可用于Solidworks的二次开发,以创建出使用人员所需的、专门化的Solidworks应用模块。Solidworks支撑Activex Automation技术,在VB环境下建立客户程序可以直接访问Solidworks中的对象,在这里,为求方便,我们可将solidworks理解为一个服务程序,把二次开发工具的VB程序作为客户程序,它们之间只是服务器与客户的关系。用户主要在VB 上进行操作,VB就可以驱动Solidworks完成相应的工作。通过调用API对象属性的设置和方法,就可以在开发的程序中实现与solidworks相同的功能。对于一般零件我们可采用人机交互的形式建立模型,设定合理的设计变量,再通过VB 程序驱动设计变量实现模型的更新方法,系统开发流程如图2-5示:

相关主题