欢迎登录SolidWorks江苏代理商-无锡易盛信息科技有限公司官方网站!

0510-82444084 (江苏地区咨询电话)

查看更多联系方式>>

SolidWorks江苏二次开发在管道除垢机器人运动控制

1 引言
    本文的主要工作是实现机器人模型的模拟运动仿真。通过SolidWorks江苏建立机器人模型,并分析其结构特点;利用VC++建立机器人控制界面,并编写相应的按钮程序;最后利用SolidWorks二次开发技术,并编写相应的仿真程序,实现对机器人模型的运动控制要求。
2 管道除垢机器人的模型
 
    机器人机身采用封闭的机体结构,可起到防水、防垢的作用。采用三条相差120°角的支撑轮的轮系结构,可使机器人在圆形管道内运动更加平稳;并且由于机器人的轮系采用滚珠丝杠螺母副调节方式,可适应不同管径大小的管道。以旋转刀具为末端执行器,在电机的带动下,可以有效地对污垢进行切削清除。机器人的传动系统采用齿轮组、履带的传动办法。将电机、电池、齿轮组等内部零件安装在机身的下部,使机器人整体的重心下沉,这样能够防止旋转刀具在切削过程中由于切削遇到的阻力及刀具自身快速地旋转导致机身随之摇摆而不能平稳地进行切削。并且由于机器人的重开发性好,在以后的设计中,还可以考虑为机器人配备视觉系统,以实现对管道内部情况的实时跟踪等更多智能化的要求。
 
    2.1 SolidWorks江苏二次开发技术
    通过CAD软件绘制的机器人模型是静止不动的,要想使机器人模型运动起来,有以下两种方法:(1)通过CAD软件自带的运动仿真功能来模拟机器人的运动;(2)通过VC++绘制控制界面,将控制界面安装到CAD软件中,通过编写相应的按钮程序使机器人运动起来,实现精确控制的仿真效果。本课题采用的SolidWorks二次开发技术就是用来实现第二种方法的,将制作的控制界面应用到SolidWorks制作的模型中,以实现对模型的实时控制。
    SolidWorks的二次开发式利用SolidWorks提供的API函数进行的。SolidWorks API是由组成SolidWorks软件的COM组件提供的,每一个SolidWorks对象都是采用COM技术构造的,因此有着与一般COM对象同样的性质,都是由接口、属性,方法与事件组成的。
 
    2.2 SolidWorks API
 
    2.2.1 SolidWorks API中的主要对象
    (1)SldWorks对象:SoldWorks江苏对象是所有其他对象的父类,提供了直接或间接访问其他所有SldWorks API接口的方法,在二次开发中访问其他接口都要通过它。
    (2)ModelDoc对象;它封装了不同文档模板通用的属性和方法,包括文档打开、关闭、打印和保存等。
    (3)PartDoc对象:提供“零件”文档模式下的操作。
    (4)AssemblyDoc对象:管理“装配体”的操作。
    (5)DrawingDoc对象:管理“工程图”文档的操作。
    (6)SelectionMgr对象:管理用户的选择操作,通过它可以获得指向当前用户在SolidWorks中选择的元素。
 
    2.2.2 SolidWorks江苏 API语法
    变量类型:
    (1)HRESULT:HRESULT是COM接口中用于描述接口方法调用返回值的一个变量类型,主要用于异常调用时判断。在SolidWorks API接口方法调用过程中,S_OK:表示调用成功S_FALSE:表示调用失败。
    (2)OLECHAR(字符串):用来表示文本数据类型,相当于C++中的char。
    (3)BSTR:BSTR是一个包含长度前缀的OLECHAR字符串。BSTR是一个指针类型,指向数组的第一个字符。长度前缀以整数形式恰好存储在数组的第一个字符之前。
    (4)CComBSTR:在SolidWorksAPI中,往往不是直接使用BSTR,而是通过CComBSTR来操作字符串数据类型。CComBSTR是一个ATL工具类,其封装了BSTR。
    (5)VARIANT(通用数据类型):VARIANT作为接口方法参数或接口方法的返回值。
    (6)SafeArray(安全数组):用于传递数组型参数。SafeArray不单独使用,而是包装到VARIANT类型的变量中,然后作为参数传送出去。
    (7)接口指针:SolidWorks对接口的使用往往都是采用指针的方式,在获取接口指针后调用接口中的方法进行二次开发。
    (8)CComPtr:CComPtr是ATL提供的一个智能COM接口指针类。引入智能指针类可不用担心因为没有调用接口的Release而使组件不被释放。
    (9)CComQIPtr:CComQIPtr能完成CComPtr的所有功能及更多其他的功能。
    获取接口方法(接口函数):这里采用层级访问的方法来获取接口函数。从SolidWorks API类结构图中可以看出,SolidWorks API对象访问是一个从上到下依次访问的过程,为了访问某一接口对象,需获得比它高一级的接口对象。例如想要得到当前活动文档的选择管理器指针,则指针获得顺序为SldWorks→ModelDoc→SelectionMgr。

3 SolidWorks江苏二次开发在机器人运动控制中的应用
    在前面控制界面中已经提到,只有“执行”按钮是与二次开发有关的,因此本课题所研究的二次开发工作是针对这两个按钮来完成的。程序流程如图1所示:
程序流程
    图1 程序流程
    程序说明:在本程序中,首先得到装配体对象,然后获得当前活动的对象,通过该对象获得选择管理器对象,调用选择管理器对象的方法获得用户选择的对象并判断对象的类型。如果选择的对象为平面,则执行机器人移动的相关程序;如果选择的对象为轴,则执行刀具旋转的相关程序。在执行完程序之后,需释放掉存留在内存中的各对象。


上一篇:江苏solidworks各个时期的版本!

下一篇:江苏SolidWorks Composer将空投系统说明书提升到新水

分享按钮