首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于Solid Edge平台的B样条曲线生成方法

基于Solid Edge平台的B样条曲线生成方法

  用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。
返回列表