- UID
- 895858
|
用Solid Edge支持AetiveXAutomation技术和Visual Basic集成开发环境的结合,能够通过参数化技术实现B样条曲线的生成、控制和编辑,完成直接在Solid Edge环境用交互方式难于完成的功能。
一、BSplineCurve2d对象及层次关系
BSplineCurve2d是Solid Edge系统定义的B样条曲线对象,在Visual Basic集成开发环境生成的VB程序利用Solid Edge提供的类型库支持可以创建和访问该对象。作为客户端的VB程序利用ActivexAutomation技术请求作为服务端的Solid Edge提供服务。用户的VB程序只要能够获得Solid Edge对象,就能够通过层次关系创建和访问相应的下级对象。
Solid Edge的最上层对象称为Application对象,即类型为Solid Edge Framework.Application的根对象。BSplineCurve2d对象的上级为BSplineCurves2d集合对象,在Solid Edge的part(零件)和SheetMetal(饭金件)模块中,其上层依次为Profile、ProfileS、Profileset、Profilesets、PartDocument和ApPlication对象。而在solid Edge的Draft(工程图)模块中,其上层依次为Sheet和Sheets、DraftDocument和Application对象。
二、创建BSplineCurve2d对象的方法
下面主要分析在solid Edge的Part模块中创建BSplineCurve2d对象的基本方法和关键代码。
1.获得Solid Edge的PartDoeument对象
用“SetobjApp=Getobject(,“Solid Edge.Application”)”或“SetobjApp=CreateObject(“Solid Edge.Application”)”形式获得Solid Edge.Application根对象。
再用“SetobjDoc=ObjApp.Documents.Add(“Solid Edge.PartDocument”)”或“SetobjDoe==objApp.AetiveDocument”形式获得Solid Edge的PartDocument对象。在程序中通过条件语句判断Solid Edge系统是否启动来确定调用何者。
2.创建草绘平面
草绘平面是Solid Edge一种特殊的特征对象,也是二维几何图形的生成平面。创建该对象的一般形式为:
Set objProfile=objDoe.ProfileSets.Add.Profiles.Add(pRefPlaneDisp)
式中,objProfile为Solid Edge part.Profile类型的对象。形参pRefPlaneDisP表示系统定义或自定义的参照平面。
3.创建BSplineCurves2d集合对象
BSplineCurves2d集合对象是B样条曲线对象BSplineCurve2d的上层对象,也是.Profile对象的下层对象。常用的创建代码为:
Set objBSPlns=objProfile.BSPlineCurves2d
其中objBSplns表示类型为Solid Edge Frameworks Support.BSplineCurves2d对象变量名。
4.创建BSplineCurve2d对象
调用BSplineCurve2d对象的AddByPoints方法创建B样条曲线对象。其一般形式为:
Objeet.AddByPoints(Order,Arraysize,Array)
Object表示BSnlineCurves2d对象的变量名,参数Order表示B样条函数的次数,ArraySize表示型值点数目,Array表示型值点数组。Array为double类型的一维数组,数组长度必须为偶数。数组的第1,3,5,……元素分别表示各点的X坐标,数组的第2,4,6,……元素分别表示各点的Y坐标。
三、BSplineCurve2d对象的修改和数据查询
1.型值点的查询
Solid Edge的B样条曲线通过在参数Array数组中设定的型值点,调用其GetNode方法可以获得指定点的X和Y坐标之值。其格式为:
Object.GetNode(Index,x,y)
object表示BSplineCurve2d对象,Index表示型值点的序号,x和y分别表示序号为Index的指定点坐标。即调用GetNede方法之后,参数x和y为所得的型值点坐标值。
2.型值点的设置
与型值点的查询方法相似,调用其SetNode方法可以对指定点的X和Y坐标进行修改,其格式为:
Object.SetNode(Index,x,y)
参数x和y为新的型值点坐标值。
不难看出,通过BSplineCurve2d对象的setNode方法可以在用户的VB程序中对B样条曲线的形状和位置进行控制和更改,实现参数化设计。
3.插入和删除型值点
BSplineCurve2d对象的InsertNode和DeleteNode方法分别用于增加和删除型值点,其调用格式分别为:Object.InsertNode(Index,x,y)和Object.DeleteNode(Index),其中参数Index表示指定点的序号。
四、结论
1.分析了在Solid Edge平台生成和编辑B样条曲线的程序设计技术,实现了在交互方式下直接用三维CAD系统无法完成的功能。
2.利用Solid Edge开发环境提供的B样条曲线对象,可以用VB程序生成工程上特殊的曲线。样条曲线的形状由给定的型值点确定,其精度主要取决于型值点的点数。由B样条曲线等构成的二维几何图形可以进一步生成三维实体,并可用于后续的CAE和CAM。 |
|