基于SolidWorks 的热流道系统面板管口自动提取的二次开发

2022-10-31 04:06荆艳丽仲梁维
农业装备与车辆工程 2022年1期
关键词:热流管路二次开发

荆艳丽,仲梁维

(200093 上海市 上海理工大学 机械工程学院)

0 引言

随着工业的进步、时代的发展,塑胶模具技术也在不断发展,热流道技术兴起[1]。热流道系统是塑胶模具生产设备中的重要组合部分,热流道系统的功能是衔接注塑机到产品型腔之间的延伸胶道。热流道系统的设计理念是在需要导热的部位进行导热处理,如塑胶熔体的流道,在需要隔热的部位进行隔热处理[2]。在热流道系统中有很多错综复杂的管路,如冷却水管路、油路和气路等,对应于管路的管口更是数量很多,管路之间通过接头面板上的管口进行连接。设计人员在三维软件设计管路时,通常都是采用肉眼识别标签上的刻字来找面板上对应的管口,这种方式效率低下,容易出错。通过SolidWorks 软件提供的API 函数,对SolidWorks 进行二次开发,实现了自动提取接头面板的管口,为以后管口的自动匹配做准备,也加快了热流道系统向“智能化”方向、自动化方向快步前进的脚步。

1 管口提取分析

热流道系统面板根据系统要求的不同,组成面板的单个面板数量也不同。图1 中所示是由两块单个面板组成的系统面板,面板上的标签有刻字信息,分别对应于相应的管口名称,要想完成管口的提取,需要将管口的坐标、法向向量、刻字获取到并且整合到一起。

图1 面板Fig.1 Panel

目前热流道系统管道的设计中,管口的匹配是采用人工拾取管口的几何特征,并且通过肉眼识别刻字的信息对管口进行匹配,这种方式的缺点是效率低、准确性难以保证,经常出现匹配错误的情况,同时也无法满足日后热流道系统智能化设计的要求。热流道系统的管口的信息包含在模型的几何特征里,一方面是管口的坐标信息,另一方面还要获取标签上的刻字信息,将几何特征里的管口信息转换成文字信息存储到数据库,在进行系统智能化设计时,到数据库读出需要的管口即可。这种提取方式保证了管口信息的准确性,也为管口的自动匹配设计提供了方法支持。

2 开发原理

对SolidWorks 软件的二次开发,主要通过利用其自带的大量API 接口,这些API 接口具有兼容性好、利于开发的优点[3]。SolidWorks API 应用程序的编程输入是一个由上至下的分层树结构,相应的对象模型之间是包含关系而不是继承关系[4]。SolidWorks API 对象模型树最顶层是应用程序级对象SldWorks,该对象中封装了很多方法和属性,在SldWorks 对象下面又定义了若干个子类,如Environment,Frame,每个对象又有自己的属性、方法和事件。在这些接口对象中封装的有关方法和属性涵盖了全部的SolidWorks 数据模型,用户通过客户应用程序对这些API 对象及其方法和属性进行操作,实现对SolidWorks 的功能定制与扩展[5]。

3 接口位置提取的实现

3.1 坐标点变换

在使用SolidWorks 进行设计时,包括草图、零件、装配体在内的都有属于自己的坐标原点。在SolidWorks 二次开发中,会经常用变换来确定或者移动几何体的物理位置。当使用变换时,主要涉及到模型空间、草绘空间以及装配空间,对应于3 种空间主要有3 种类型的坐标点:模型空间点、草绘点、装配空间点[6]。

实现坐标点在3 种空间的变换是通过一个数学矩阵,如图2 所示。矩阵包含 16 个元素,其中前9 个元素(a到i)是一个 3×3 的旋转子阵,(j,k,l)定义了平移向量,m是一个缩放因子,其余3 个在这里不使用。3×3 的旋转子阵代表3个坐标轴:第1 行表示绕X轴的旋转;第2 行表示绕Y轴的旋转;第3 行表示绕Z轴的旋转。旋转子阵加上左下角的平移向量以及右下角的缩放因子创建了一个放射变换,通过这个放射变换实现了坐标的变换[6]。

图2 数学变换矩阵Fig.2 Mathematical transformation matrix

坐标点的转换主要涉及3 种对象模型,如图3 所示。

图3 坐标变换对象模型Fig.3 Coordinate transformation object model

本文的二次开发用到的坐标点变换主要是2个:一是草图点到模型点的坐标点变换。草图里的点x,y,z坐标是相对于草绘原点的,通过使用 MathUtility 对象来实现草绘点变换到模型空间的点;二是模型坐标点到装配体坐标点的变换。在进行装配设计时,新添加的零件的原点往往和装配体的原点不会重合,这样组件里的点的坐标是相对于组件原点的,不是相对于装配体原点的,从而需要进行坐标变换,来找到组件的点在装配体里的坐标。

3.2 数据库连接

数据库(Database)是存储相关数据的集合,由数据库、数据库管理系统、数据库应用程序、计算机软件和硬件系统以及数据管理员等部分组成。设计过程中往往需要对大量数据进行筛选,如何高效获取所需数据至关重要。数据库的另一作用是标准数据的管理,主要对标准件及固定尺寸模型参数进行存储[7]。本文采用SQL Server 数据库对数据进行存储和读取,SQL Server 数据库是一种大型关系数据库,操作难度低,安全程度高,是当下最为常用的服务器体系类数据库[8]。

连接数据库代码:

3.3 面板接口坐标及法向量提取

热流道系统的总装配模型是以项目号进行命名,其内部的几个子装配体命名也是依据一定的规则,如线框、油缸、分流板、面板(见图4)等零件在不同的热流道系统装配体里的命名是不变的,所以要进行面板接口的位置提取,首先要明确子装配体中模型的命名规则,找到接头面板所在的子装配体。具体编程序是自上而下的While 循环语句遍历特征树,通过组件的GetChildren 方法找到接头面板,利用Select 方法选中接头面板零件。部分代码如下:

图4 单个面板模型Fig.4 Single panel model

通过GetFirstFace 方法,可以遍历得到面板上所有的面,用Measure 对象的Calculate 方法测量每个面的面积找到面积最大面,面积最大面的法向量就是接口的法向量。用Face 下面的Normal 获取模型面的法向量,通过坐标转换求得向量二点在装配体里的坐标,继而获得装配体里的法向量,部分代码如下:

'获取法向量

要获取接口的圆心坐标,也是在获得最大面的对象后,利用GetEdges()方法遍历面上的边,对边进行判断,如果边是圆并且半径大于6 mm,那么就需要得到这个圆的圆心坐标。部分代码如下:

这样得到的圆心坐标是面板模型中相对于模型空间中原点的坐标,而管道生成需要在总装配体中进行,所以需要对模型空间中的坐标点进行坐标点变换。部分代码如下:

3.4 获取标签文字内容与坐标

热流道系统管路分为油路、水路和气路,不同管路接口在面板上有文字的标签(如图5 所示)进行标识,要实现自动管路的生成,软件必须能自动识别这些标签的内容。标签是做成配置文件的形式放在软件中使用,首先通过遍历特征树找到装配体中被激活的标签,然后通过草图对象下的GetSketchTextSegments 方法,获取标签上的文字信息,部分代码如下:

图5 带文字的标签Fig.5 Label with text

文字提取到之后,还要对文字的位置进行识别,通过GetCoordinates()方法可以得到文字的定位坐标,但是这个坐标是草图空间里的坐标,需要进行两次坐标转换才可以得到标签在装配空间里的坐标值。部分代码如下:

3.5 面板信息整合

热流道系统分为很多种,实际设计热流道系统时,会根据需要对面板个数进行设计。本文的二次开发适用于不同的面板数量。下一步是对已经获取了的面板接口的圆心坐标和标签文字一一对应起来,程序能自动识别水路、油路、气路的进出口接口,采用嵌套循环for 循环语句,计算圆心到文字定位点的直线距离,根据距离的长短给每个接口匹配名字,部分代码如下:

将所有数据写入数据库方便使用,如图6所示。

图6 数据库数据Fig.6 Database data

4 结论

本文以热流道系统在设计过程中的不足为出发点,为日后在三维软件中实现管口的自动匹配以及系统的智能化设计提供面板管口数据。以SolidWorks2018 三维CAD 软件为开发平台,vb.net 为编程语言,采用SQL Server 数据库进行数据的存储和读取,通过对热流道系统接头面板管口坐标位置、法向向量、刻字信息的提取和数据整合,为热流道系统自动化管路提供了数据支撑,使得管路在生成时能准确找到对应的面板管口,同时减少在实际装配过程中的工时,节约了成本。二次开发过程中涉及坐标点的变换、模型文字识别等,为致力于SolidWorks 二次开发的人员提供了一定的参考。

猜你喜欢
热流管路二次开发
AutoCAD 与PDMS 二次开发在三维复杂形体设计建模上的应用
低温贮箱共底管路的真空氦质谱检漏方法及系统
基于混合传热模态的瞬态热流测试方法研究
掘进机用截止阀开度对管路流动性能的影响
瞬变流速作用下姿控发动机燃料管路的非线性振动特性分析
例谈对高中数学教材中习题的二次开发
浅谈CAD软件二次开发的方法及工具
黔中隆起边缘地带热矿水特征分析
带双软保护阀的地铁车辆整车制动管路清洗试验方法优化
例谈课本习题的“二次开发”