搜档网
当前位置:搜档网 › 用c#进行Solidworks二次开发的简单步骤

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

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

用c#进行Solidworks二次开发的简单步骤1.录制宏

2.在Solidworks里画一个圆柱,画完后点停止,并将录制结果保存为.csproj

3.点击编辑,打开刚才保存的结果(默认是用vs2005打开的)

4.在项目里添加窗体输入框等

5.修改、添加窗体代码(加粗的部分是必须的)

using https://www.sodocs.net/doc/021902287.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;

namespace Macro3.csproj

{

publicpartialclass SolidWorksMacro

{

publicvoid Main()

{

Form1 myform = new Form1(swApp); //初始化窗体

myform.Show();

}

///

/// The SldWorks swApp variable is pre-assigned for you.

///

public SldWorks swApp;

}

}

7.编译后在Solidworks里点击播放宏,选择debug目录下的dll文件

最终效果:

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

用c#进行Solidworks二次开发的简单步骤1.录制宏 2.在Solidworks里画一个圆柱,画完后点停止,并将录制结果保存为.csproj 3.点击编辑,打开刚才保存的结果(默认是用vs2005打开的) 4.在项目里添加窗体输入框等 5.修改、添加窗体代码(加粗的部分是必须的) using https://www.sodocs.net/doc/021902287.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经典实例教程-100多个常用实例

1 图1 图2 图1提示:①拉伸圆柱→倒内外角→拉伸切槽;。 ②拉伸带槽柱体→倒内外角;。 ③旋转带倒角圆套→切伸切槽。 图2提示:①拉伸带孔的六边形→倒内角→倒外角;。 ②拉伸圆柱套→倒内角→倒外角→拉伸切六边;。 ③旋转带倒角圆柱套→拉伸切六边。 图3 图4 图3提示:①拉伸带孔的六边形→倒内角→倒外角→拉伸切顶槽; ②拉伸圆柱套→倒内角→倒外角→拉伸切六边形→拉伸切顶槽; ③旋转带倒角的圆柱套→拉伸切六边→拉伸切顶槽。 图4提示:①拉伸圆锥套→拉伸侧耳→切除多余部分→圆角; ②旋转圆锥套→拉伸侧耳→切除多余部分→圆角。 图5 图6 图5提示:旋转生成主体→拉伸切横槽→阵列横槽。

2 图6提示:①拉伸圆柱→倒角→拉伸切除圆柱孔; ②旋转带倒角圆柱→拉伸切除圆柱孔。 图7 图8 图7提示:旋转法。 图8示:①旋转阶梯轴(带大端孔)→拉伸切内六角→拉伸切外六角→切小端圆孔; ②拉伸阶梯轴→拉伸切圆柱孔→拉伸切内六角→拉伸切外六角→切小端圆 孔。 图9 图10 图9提示:①旋转带球阶梯轴→拉伸切中孔→拉伸切横孔→拉伸切球部槽。 图10提示:①旋转法。 图11 图12 图11示:旋转生成轮主体→拉伸切轮幅→拉伸切键槽。 图12提示:旋转主体→切除拉伸孔→切除拉伸槽。

3 图13 图14 图13提示:①旋转。 图14提示:①旋转生成带皮带槽的轮主体→拉伸切轮幅→拉伸切键槽。 图15 图16 图15提示:①画一个方块→切除拉伸内侧面→拉伸两个柱→切除拉伸外侧面→切除拉伸孔。 图16提示:①旋转生成齿轮主体→切除拉伸键槽→画一个齿的曲线→扫描生成一个齿→阵列其它齿。 ②从库中提取→保存零件。 图17 图18 图17提示:旋转主体→切除拉伸孔。

精讲solidworks有限元分析步骤

2013-08-29 17:31 by:有限元来源:广州有道有限元 1. 软件形式: ㈠. SolidWorks的内置形式: ◆COSMOSXpress——只有对一些具有简单载荷和支撑类型的零件的静态分析。 ㈡. SolidWorks的插件形式: ◆COSMOSWorks Designer——对零件或装配体的静态分析。 ◆COSMOSWorks Professional——对零件或装配体的静态、热传导、扭曲、频率、掉落测试、优化、疲劳分析。 ◆COSMOSWorks Advanced Professional——在COSMOSWorks Professional的所有功能上增加了非线性和高级动力学分析。 ㈢. 单独发行形式: ◆COSMOS DesignSTAR——功能与COSMOSWorks Advanced Professional相同。 2. 使用FEA的一般步骤: FEA=Finite Element Analysis——是一种工程数值分析工具,但不是唯一的数值分析工具!其它的数值分析工具还有:有限差分法、边界元法、有限体积法… ①建立数学模型——有时,需要修改CAD几何模型以满足网格划分的需要, (即从CAD几何体→FEA几何体),共有下列三法: ▲特征消隐:指合并和消除在分析中认为不重要的几何特征,如外圆角、圆边、标志等。▲理想化:理想化是更具有积极意义的工作,如将一个薄壁模型用一个平面来代理(注:如果选中了“使用中面的壳网格”做为“网格类型”,COSMOSWorks会自动地创建曲面几何体)。 ▲清除:因为用于划分网格的几何模型必须满足比实体模型更高的要求。如模型中的细长面、多重实体、移动实体及其它质量问题会造成网格划分的困难甚至无法划分网格—这时我们可以使用CAD质量检查工具(即SW菜单: Tools→Check…)来检验问题所在,另外含有非常短的边或面、小的特征也必须清除掉(小特征是指其特征尺寸相对于整个模型尺寸非常小!但如果分析的目的是找出圆角附近的应力分布,那么此时非常小的内部圆角应该被保留)。 ②建立有限元模型——即FEA的预处理部分,包括五个步骤: ▲选择网格种类及定义分析类型(共有静态、热传导、频率…等八种类别)——这时将产生一个FEA算例,左侧浏览器中之算例名称之后的括号里是配置名称; ▲添加材料属性: 材料属性通常从材料库中选择,它不并考虑缺陷和表面条件等因素,与几何模型相比,它有更多的不确定性。

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实例操作资料

实例操作 在简单介绍了界面和工具栏后,这里给读者演示做一个小零件,如图1-21所示,让读者了解造型的过程。 图1-21零件的造型 操作步骤 (1)打开SolidWorks界面后,单击【文件】→【新建】命令或者单击按钮,出现“新建SolidWorks文件”对话框,选择【零件】命令后单击【确定】按钮,出现一个新建文件的界面,首先单击【保存】按钮,将这个文件保存为“底座”。 (2)在控制区单击【前视基准面】,然后在草图绘制工具栏单击按钮,出现如图1-22所示的草图绘制界面;在图形区单击鼠标右键,取消选中快捷菜单的【显示网格线】复选框,在图形区就没有网格线了。在作图的过程中,由于实行参数化,对于网格一般不应用,所以在以后的作图中,都去掉网格。

SolidWorks 2006三维建模实例教程 2 图1-22草图绘制界面 (3)单击绘制【中心线】按钮,在图形区过原点绘制一条中心线,然后单击【直线】按钮,在图形区绘制如图1-23所示的图形,需要注意各条图线之间的几何关系。不需要具体确定尺寸,只需确定其形状即可,实际大小是在参数化的尺寸标注中确定的。 提示:在图1-23所示草图中,表示“竖直”的意思;表示“水平”的意思;表示“重合”的意思,例如图中下面显示的两个符号,表示左边的上面的 直线和原点重合,也就是两条直线在一条直线上。最后按住Ctrl键单击选择圆 弧的圆心和圆弧的起点,在属性管理器中【添加尺寸关系】中选择水平;同样 选择圆弧的圆心和圆弧的终点,在属性管理器中【添加尺寸关系】中选择垂直。 如果不要显示这些几何关系,则可以单击视图工具栏的按钮,使其浮起,需 要显示,就使其凹下。 画图中右上角的圆弧是在画完一段直线时,将鼠标靠近刚才确定的直线的终点,这时鼠标的标记后面由原来的直线图案变成一对同心圆的图案,或者单击鼠标右键,在弹出的快捷菜单中选择转到圆弧,这时就可以画圆弧了,如图1-24所示。

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进行有限元分析的一般步骤

1.软件形式: ㈠. SolidWorks的内置形式: ◆COSMOSXpress——只有对一些具有简单载荷和支撑类型的零件的静态分析。 ㈡. SolidWorks的插件形式: ◆COSMOSWorks Designer——对零件或装配体的静态分析。 ◆COSMOSWorks Professional——对零件或装配体的静态、热传导、扭曲、频率、掉落测试、优化、疲劳分析。 ◆COSMOSWorks Advanced Professional——在COSMOSWorks Professional的所有功能上增加了非线性和高级动力学分析。 ㈢. 单独发行形式: ◆COSMOS DesignSTAR——功能与COSMOSWorks Advanced Professional相同。 2.使用FEA的一般步骤: FEA=Finite Element Analysis——是一种工程数值分析工具,但不是唯一的数值分析工具!其它的数值分析工具还有:有限差分法、边界元法、有限体积法… ①建立数学模型——有时,需要修改CAD几何模型以满足网格划分的需要, (即从CAD几何体→FEA几何体),共有下列三法: ▲特征消隐:指合并和消除在分析中认为不重要的几何特征,如外圆角、圆边、标志等。▲理想化:理想化是更具有积极意义的工作,如将一个薄壁模型用一个平面来代理(注:如果选中了“使用中面的壳网格”做为“网格类型”,COSMOSWorks会自动地创建曲面几何体)。▲清除:因为用于划分网格的几何模型必须满足比实体模型更高的要求。如模型中的细长面、多重实体、移动实体及其它质量问题会造成网格划分的困难甚至无法划分网格—这时我们可以使用CAD质量检查工具(即SW菜单: Tools→Check…)来检验问题所在,另外含有非常短的边或面、小的特征也必须清除掉(小特征是指其特征尺寸相对于整个模型尺寸非常小!但如果分析的目的是找出圆角附近的应力分布,那么此时非常小的内部圆角应该被保留)。 ②建立有限元模型——即FEA的预处理部分,包括五个步骤: ▲选择网格种类及定义分析类型(共有静态、热传导、频率…等八种类别)——这时将产生一个FEA算例,左侧浏览器中之算例名称之后的括号里是配置名称; ▲添加材料属性: 材料属性通常从材料库中选择,它不并考虑缺陷和表面条件等因素,与几何模型相比,它有更多的不确定性。 ◇右键单击“实体文件夹”并选择“应用材料到所有”——所有零部件将被赋予相同的材料属性。 ◇右键单击“实体文件夹”下的某个具体零件文件夹并选择“应用材料到所有实体”——某个零件的所有实体(多实体)将被赋予指定的材料属性。 ◇右键单击“实体文件夹”下具体零件的某个“Body”并选择“应用材料到实体”——只有

基于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实例操作

solidworks实例操作 实例操作 在简单介绍了界面和工具栏后,这里给读者演示做一个小零件,如图1-21所示,让读者了解造型的过程。 图1-21 零件的造型 操作步骤 ,1,打开SolidWorks界面后~单击【文件】?【新建】命令或者单击按钮~出现“新建SolidWorks文件”对话框~选择【零件】命令后单击【确定】按钮~出现一个新建文件的界面~首先单击【保存】按钮~将这个文件保存为“底座”。 ,2,在控制区单击【前视基准面】~然后在草图绘制工具栏单击按钮~ ,在图形区单击鼠标右键~取消选中快出现如图1-22所示的草图绘制界面捷菜单的【显示网格线】复选框~在图形区就没有网格线了。在作图的过程中~由于实行参数化~对于网格一般不应用~所以在以后的作图中~都去掉网格。 第章基础与建模技术1 1SolidWorks

图1-22 草图绘制界面 ,3,单击绘制【中心线】按钮~在图形区过原点绘制一条中心线~然后单击【直线】按钮~在图形区绘制如图1-23所示的图形~需要注意各条图线之间的 实际大小是在参数化的几何关系。不需要具体确定尺寸~只需确定其形状即可~ 尺寸标注中确定的。 提示:在图1-23所示草图中~表示“竖直”的意思,表示“水平”的意思, 表示“重合”的意思~例如图中下面显示的两个符号~表示左边的 上面的直线和原点重合~也就是两条直线在一条直线上。最后按 住Ctrl键单击选择圆弧的圆心和圆弧的起点~在属性管理器中【添 加尺寸关系】中选择水平,同样选择圆弧的圆心和圆弧的终点~在 属性管理器中【添加尺寸关系】中选择垂直。如果不要显示这些几何 关系~则可以单击视图工具栏的按钮~使其浮起~需要显示~就使其

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/021902287.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有限元分析范例

注意:本文件内容只是一个简短的分析报告样板,其内相关的分析条件、设置和结果不一定是正确的,您还是要按本书正文所教的自行来做。 一、范例名: (Gas Valve气压阀) 1 设计要求: (1)输入转速1500rpm。 (2)额定输出压力5Mpa,最大压力10Mpa。 2 分析零件 该气压泵装置中,推杆活塞、凸轮轴和箱体三个零件是主要的受力零件,因此对这三个零件进行结构分析。 3 分析目的 (1)验证零件在给定的载荷下静强度是否满足要求。 (2)分析凸轮轴零件和推杆活塞零件的模态,在工作过程中避开共振频率。 (3)计算凸轮轴零件的工作寿命。 4 分析结果 1.。推杆活塞零件 材料:普通碳钢。 在模型上直接测量得活塞推杆的受力面积S为:162mm2,由F=PS计算得该零件端面的力F为:1620N。所得结果包括: 1 静力计算: (1)应力。如图1-1所示,由应力云图可知,最大应力为21Mpa,静强度设计符合要求。 (2)位移。如图1-2所示,零件变形导致的最大静位移为2.2e-6m。 (3)应变。如图1-3所示,应变云图与应力云图的对应的,二者之间存在一转换关系。

图1-1 应力云图图1-2 位移云图 图1-3 应变云图图1-4 模态分析 2 模态分析: 图1-4的“列举模式”对话框中列出了“推杆活塞”零件在工作载荷下,其前三阶的模态的频率远远大于输入转速的频率,因此在启动及工作过程中,该零件不会发生共振情况。模态验证符合设计要求。 2。凸轮轴零件 材料:45钢,屈服强度355MPa。 根据活塞推杆的受力情况,换算至该零件上的扭矩约为10.5N·m。 1 静力分析: 如图1-5所示为“凸轮轴”零件的应力云图,零件上的最大应力为212Mpa,平均应力约为120MPa,零件的安全系数约为1.7,符合设计要求。 图1-5 应力云图图1-6 模态分析 2 模态分析

SolidWorks装配体实例详解爆炸篇.docx

第 9 章装配体设计·109· 9.2:装配体检查 9.2.1 案例介绍及知识要点 对如图 9-93 所示的链轮组件进行干涉检查并修复。 图 9-93 干涉检查 知识点 干涉检查 装配体中编辑零部件 9.2.2操作步骤 <1> 打开装配体 打开光盘中的“第9 章 /装配体检查 /干涉检查 / 链轮组件”

·110·SolidWorks 实用教程 <2> 干涉检查 切换到【评估】工具栏,单击【干涉检查】按钮,弹出【干涉检查】属性管理器对 话框,单击【计算】按钮,如图9-94 所示。 图 9-94干涉检查 <3>查看干涉位置 单击【结果】选项组下的目录,可以显示干涉的零件,如图9-95 所示,干涉 1 和干涉 2 都为轴承和轴干涉,干涉 3 和干涉 11 都为键和顶丝干涉,干涉 4 和干涉 12 都为轴和链轮,干涉 5 和 13 干涉都为链轮和键,干涉 6 和干涉 14 都为链轮和顶丝,干涉 7、干涉 8、干涉9 和干涉 10 都为连接板和螺栓干涉。 图 9-95检查干涉位置 <4> 忽略干涉 在【结果】选项组下的文本框中选中“螺栓和连接板的4个干涉、顶丝和链轮的 2 个干涉”,单击【忽略】按钮,单击【确定】按钮。如图9-96所示

第 9 章装配体设计·111· 图 9-96忽略干涉 <5> 打开干涉零件 在 FeatureManager 设计树中展开“轴组件”特征树,单击“轴”,在关联菜单中单击【打开零件】按钮。如图9-97 所示 图 9-97查看干涉零件 <6> 修改干涉问题 双击轴,显示轴的直径为“36”,的确与直径为“35”的孔干涉,所以修改轴的直径为“35”,如图 9-98 所示,单击【重新建模】按钮并回车,单击【确定】按钮,单击【保存】按钮,保存修改的零件,单击【关闭】按钮,在对话框单击【是】按钮。

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实例 几十个实例

实例 图81 图82 图81提示:拉伸中间圆套→切键槽→旋转一个手把→阵列。 图82提示:拉伸大板→拉伸半圆体→旋转中间圆柱→拉伸小板→切中孔→切方槽。 图83 图84 图83提示:右侧板→拉伸侧圆柱→切侧圆柱孔→拉伸上板→拉伸上小板体→切小板中间部分→切小板孔→拉伸上圆柱→切上圆柱孔。 图84提示:拉伸主体→拉伸底板→拉伸上沿→拉伸一侧轴承座圆柱→加筋板→拉伸固定板→切轴承孔→切轴承压盖孔→镜象另一半→切底板孔→切连接孔→生成分隔线→拔模固定板。 图85 图86 图85提示:拉伸主体→圆角主体→抽壳主体→拉伸底沿→拉伸侧固定板→拉伸一侧轴承座→切一侧轴承孔→拉伸固定板→拔模固定板→加轴承压盖孔→加筋板→镜象另一半→拉伸顶部圆柱→切顶部小孔→切底板孔。 1

图86提示:拉伸竖圆柱体→旋转横圆套→切竖圆柱孔→拉伸左叉→切左叉外形→拉伸中间横板→拉伸右叉→切右叉外形→旋转切叉孔加筋。 图87 图88 图87提示:拉伸方块→在事侧面抽壳→旋转竖圆柱→建立基准面→旋转右圆柱套→切竖圆柱孔→切底法兰孔→切右法兰孔→圆角。 图88提示:旋转180度主体(带圆角)→拉伸一全侧耳→切除台阶→倒角→圆角→镜象→旋转中间凸台(带孔)→圆角中间凸台。 图89 图90 图89提示:拉伸底板(带孔)→拉伸底板凸台→圆角底板→拉伸上板→切上板孔→切除上板。 图90提示:旋转主体→切孔。 2

图91 图91提示:按主视图画一个草图→退出草图→用转换实体引用拉伸侧板→拉伸上板外 廓→拉伸上板凸台→切除上板方孔→拉伸底板→切底板孔→隐藏无用草图。 图92 图92提示:画椭圆草图→画截面草图→扫描→画右切除草图(带回转中心线)→旋转 切除。 3

solidworks有限元分析的分析方法

solidworks有限元分析的分析方法 solidworks有限元分析可应用于机械、汽车、家电、电子产品、家具、建筑、医学骨科等产品设计及研发。其作用是:确保产品设计的安全合理性,同时采用优化设计,找出产品设计最佳方案,降低材料的消耗或成本; 在产品制造或工程施工前预先发现潜在的问题; 模拟各种试验方案,减少试验时间和经费; 是产品设计研发的核心技术, 学习solidworks有限元分析最重要的是随机应变而不是根据理论一成不变的做。这是看板网经过超过十几年的实践经验和培训经验中总结出来的教训。这也是初学者常常出现的问题,过度重视理论,行为上变现为按部就班,结果往往出现问题。按部就班对于刚开始学习的人是有好处的,但是,学习一段时间后就应该学会创新。 第一步,要知道零部件之间的接触关系。 一般来讲,有限元分析的前要有符合实际的模型,再有符合实际的约束条件,如果是装配体需要知道零部件之间的接触关系。 第二步,建立有限元模型 在SW的有限元分析中可以用非常简单的步骤做到,知道零部件之间的接触关系。首先建立有限元模型,为什么叫有限元模型?因为为了节约分析的时间,降低有些应力集中区域的产生,我们需要对模型简化,所以,一般来讲有限元模型和实际的模型有一点的区别。 第三步,启动有限元分析插件 模型建好后就可以启动有限元分析插件,具体:点插件---Simulation框内打勾,启动后就可以进行边界条件的设置,然后点运行就可以了,当然,如果不设定网格精度,软件会默认网格的大小。 第四步,后处理 关于后处理:前面是i过程,而后处理就是我们要的结果,这个需要你的一些力学上的知识支撑了,比如应力、应变、位移、安全系数、作用力、反作用力等等。具体的还需要对软件进一步的了解! 看板网培训的主要Simulation有限元分析理论分类有静态分析、频率分析、扭曲分析、热分析、设计优化、掉落测试、疲劳理论、疲劳分析、振动分析。

相关主题