新浪博客

利用SolidWorksAPI输出曲面点坐标的方法

2011-06-15 20:02阅读:
 型嘴是挤压机的重要部件。在挤压过程中,型嘴直接与锭坯接触,并使其产生塑性变形,因此,型嘴要承受挤压负荷,长期经受摩擦力及高温作用,工作条件十分恶劣。作为型嘴的重要组成部分,型嘴内部曲面直接影响挤压力大小、挤压制品表面质量和型嘴的使用寿命,因此,型嘴内部曲面的设计非常关键。   某型嘴内部是由圆形过渡到矩形的曲面,如图1所示。采用AutoCAD软件设计时,需要计算型嘴内部曲面上的点坐标,然后验证其是否平滑,再重新计算点坐标……如此反复,使其最终趋近于平滑曲面,计算过程不仅繁冗复杂、工作量大,而且结果也不准确。SolidWorks软件具有多种曲面实现方法,并可生成各式曲面,这为型嘴内部曲面设计提供了方便。然而,在实际生产中,仅凭这样的曲面往往无法直接加工,这时需要知道型嘴内部曲面的上千个点坐标值,而SolidWorks软件本身无法直接输出曲面点坐标值,这使得设计和生产之间产生了隔阂。本文利用SolidWorks软件的API技术,给出了解决上述问题的具体方法。
利用SolidWorksAPI输出曲面点坐标的方法

  图1
  SolidWorks软件通过OLE(对象嵌入与链接)COM为用户提供了自由开放、功能完整的二次开发接口。SolidWorks软件支持设计者根据需要对其进行二次开发,并提供了数百个API函数,凡支持OLECOM编程的开发工具,如VisualC++VisualBasieDelphiC++Builder等均可用于SolidWorks二次开发,创建出用户定制的、专门的SolidWorks应用模块。
  SolidWorks软件的API技术采用面向对象的编程方法,顶层为SolidWorks对象,在其之下是SolidWorks活动文档对象,包括零件环境装配环境工程图环境非工作环境四个状态,再向下层层分解,最下层是用户直接操作的特征和图形元组成的对象,从而形成了一个自顶向下、层次分明、条例清晰的合理体系。灵活应用API技术可以实现许多软件本身无法涉及的功能,如自动完成一些冗长的重复工作,提高设计效率等。
  下面以某挤压机型嘴为例,着重阐述利用SolidWorks软件的曲面造型和API技术实现型嘴内部曲面的点坐标输出方法。
  (1)单击参考几何体命令下的基准面命令,然后单击右视平面,与右视基准面相距890mm。点击草图命令,在该平面上画一圆,圆心与原点重合,直径1420mm,如图2所示。
利用SolidWorksAPI输出曲面点坐标的方法
  图2
  (2)点击右视基准面,然后点击草图命令,在右视基准面插入长690mm、宽520mm的矩形,然后点击倒圆角命令,对矩形的四个角倒圆角,圆角半径R7,如图3所示。
 
利用SolidWorksAPI输出曲面点坐标的方法
 图3
  (3)点击上视基准面,然后点击草图命令,绘制一条曲线。曲线的两端点要与前面画的圆以及矩形相交。在此平面内画一条过原点的水平中心线,将曲线相对于此中心线镜像,如图4所示。
利用SolidWorksAPI输出曲面点坐标的方法
  图4
  (4)点击前视基准面,然后点击草图命令,绘制曲线,曲线的两端点与前面画的圆与矩形相交,在此平面内画一条过原点的水平中心线,将曲线相对于此中心线镜像,如图5所示。
  (5)点击插入”→“凸台”→“基体”→“放样,以前面所绘圆和矩形为轮廓,步骤(3)和步骤(4)所绘的4条曲线为引导线绘制曲面,即生成所需曲面,如图6和图7所示。
  (6)在步骤(1)中所建的平面与右视图之间建9个等距的平面,如图8所示。
  (7)选择步骤(6)中所建的一个平面,点击草图命令,按下
  Ctrl键同时选择该平面与步骤(5)放样生成的曲面,然后点击交叉曲线命令作出该平面与曲面的相交线,过原点画两条直
  线,其中一条水平,另一条直线一个端点与原点重合,另一端
点与相交线重合,标注该直线与水平线的角度以及直线的长度,使其为从动尺寸,如图9所示。
利用SolidWorksAPI输出曲面点坐标的方法
  图5
 
利用SolidWorksAPI输出曲面点坐标的方法
 图6
利用SolidWorksAPI输出曲面点坐标的方法
  图7
利用SolidWorksAPI输出曲面点坐标的方法
  图8
利用SolidWorksAPI输出曲面点坐标的方法
 图9
  (8)在步骤(6)中所建的其他平面上绘制草图,过程同步骤(7)
  (9)单击宏工具栏的新建命令,命名宏为“output.swp”,添加代码如下:
  DimswAppAsObject
  DimPartAsObject
  DimSelMgrAsObject
  DimboolstatusAsBoolean
  DimlongstatusAsLong,longwarningsAsLong
  DimFeatureAsObject
  Dimt1AsDouble
  DimiAsLong
  Dimfname1AsStringDimfname2AsStringDimjAsByte
  DimmAsString
  DimkAsLong
  DimtAsString
  Dimn1AsString
  声明变量Submain()
  SetswApp=Application.SldWorks
  SetPart=swApp.ActiveDoc
  SetSelMgr=Part.SelectionManager

我的更多文章

下载客户端阅读体验更佳

APP专享