Top
欢迎登录 立即注册
忘记密码?
AutoCAD环境下旋转类拉延件毛坯尺寸的自动计算
来源:|[www.MyCIMT.cn] 作者:cimt 浏览次数:0
微博 微信

分享到 - 微信

QQ空间 0评论

摘要 讨论了如何利用AutoCAD的ADS功能来开发软件,在AutoCAD环境下实现旋转类拉延件毛坯尺寸的自动计算,文中对软件结构及其主要功能模块的算法进行了较为详尽的描述。
关键词 旋转类拉延件 毛坯尺寸 自动计算

Automatic calculation of blank dimension for rotative drawing parts in AutoCAD

Changsha Railway University Yang Yue

Abstract In this paper,how to develop the software by using ADS function of AutoCAD and to calculate automatically the blank demension of rotative drawing parts are studied.The general frame of the system and the algorithms of main modules are also described in detail.
Keywords Rotative drawing parts Blank dimension Automatic calculation

一、引言
  在进行旋转类拉延件拉延工艺设计时,以最后一次拉深成形的制件为基础计算出毛坯尺寸(直径)是必不可少的工作。手工计算时,由于旋转类拉延件形状变化大,故常涉及到大量的公式和表格,计算过程较为繁琐、枯燥。
  AutoCAD是国内目前较普遍使用的计算机绘图软件,待加工的拉延件的零件图常常已经在AutoCAD环境下绘出。根据AutoCAD下的零件图,通过开发软件自动分析计算出毛坯尺寸,是一项较有意义的工作。
  AutoCAD软件包从AutoCAD R11.0开始,增加了ADS功能,可通过C语言按ADS指定的形式来调用AutoCAD的所有命令,并可进行实体(即点、直线、圆弧等)几何信息的读取,从而大大加强了利用AutoCAD进行二次开发的功能。
  为此,笔者利用AutoCAD的ADS功能,开发了一个对于AutoCAD环境下任意绘出的旋转类拉延件能自动计算毛坯尺寸的程序。该软件采用AutoCAD R12.0 for DOS下的ADS开发,利用ADS函数库编制的C程序通过High C 1.7编译,在AutoCAD Command状态下运行,可迅速准确地计算毛坯尺寸。


二、软件设计
1.软件设计思想
  根据久里金法则,任意由直线和圆弧为母线形成的旋转拉延件的毛料直径D可由下式决定:

1

式中 Li——旋转拉延件中性层各线段(直线和圆弧)长度
   Xi——旋转拉延件中性层各线段(直线和圆弧)重心到旋转轴的距离
   num——旋转拉延件中性层线段数
  图1示出了某旋转拉延件的线段长度及其重心的标注,中性层共有由8段线段组成,其中直线4段(L1,L3,L6,L8),圆弧4段(L2,L4,L5,L7)。

1

图1 一个旋转拉延件

  现在需解决的问题是需要获取中性层各线段的几何参数,如直线的起始、终止点坐标,圆弧的圆心、半径、起始角、终止角。获取中性层各线段的几何参数后,根据有关公式即可求得各线段(包括直线、圆弧)的长度及重心位置,从而可由以上公式求得毛料直径。
  然而,中性层是假想的,由AutoCAD命令任意绘出工件图的中性层往往也并未画出,故需要首先读取工件图中内外两侧各直线和圆弧的几何数据,然后即可间接地求得中性层各线段的几何参数。
  故本程序设计与实现上分为4个大的步骤:
  (1)分别读取工件图内、外侧各线段的几何数据;
  (2)利用内外侧各线段几何数据求中性层各线段几何数据;
  (3)求中性层各线段的长度及重心位置;
  (4)利用公式(1)求得毛料直径。
  在第1、2、3步中采用了表1所示结构用于存贮内外侧及中性层各线段几何数据。

表1 实体信息的存贮方式

PR[i][0] PR[i][1] PR[i][2] PR[i][3] PR[i][4] PR[i][5]
直线(1) 起点X1 起点Y1 终点X2 终点Y2 0






圆弧(2) 圆心X 圆心Y 起角ANG1 终角ANG2 半径R






圆(3) 圆心X 圆心Y 0 0 半径R







2.软件结构

  根据以上设计思想,本软件结构流程图如图2所示。其中,表PR_SS[N] [5]、PR_L[num] [5]、PR_W [num] [5]、PR_M [num] [5]的结构形式与表1相同。

三、制件图内外侧各线段实体信息读取的算法
  如上所述,AutoCAD环境下的制件图内外侧线段实体信息的拾取(即图2的前4个部分)是实现本
 
1

图2 旋转拉延件毛坯尺寸计算软件流程图

  程序的关键。现设定用于表达旋转拉延件内外结构的所有线段均绘于“0”层(这也符合一般AutoCAD绘图习惯),而尺寸标注、剖面线等则置于另外的层,则内外层线段几何信息读取算法如下:
  Stepl【交互拾取表示厚度的左实体】
  交互选择表示厚度的中心线左侧实体S0(如图1所注)
  Step2【获取实体S0的两个端点】
  读取实体S0的两端点坐标,存入数组PRSO[2][2]中
  Step3【拾取0层上的所有实体】
  建立0层上的所有实体的集合SS{S0,S1,…,Si,…}
  Step4【获取实体集SS的实体数量】
  从实体集合SS中获取实体数量N
  Step5【获取实体集SS中一个实体的信息】
  从SS中选择一个实体SSi,读取它的几何信息
  Step6【实体信息存放】
  将实体SSi几何信息放入如表1形式的数组PRSS[N][5]中
  Step7【判断】N=N-1 如N>0,进入Step5,否则进入Step8
  Step8【内外侧线段实体信息选择】
  根据数组PRS0[2][2]和PRSS[N][5],分别建立存贮制件外侧线段几何参数的数组PRW[num][5]及内侧线段几何参数的数组PRL[num][5]
其中,Step1主要由调用adsssget(  )函数完成
   Step2主要由调用adsentget(  )函数完成
   Step3主要由调用adsssget(  )函数完成
   Step4主要由调用adssslength(  )函数完成
   Step5主要由调用adsentget(  )函数完成
  Step1中ADS函数adsssget(  )的调用格式为:
  adsname S0;  /* 实体名变量 */
  adsssget(NULL,NULL,NULL,NULL,S0); /* 交互选择获取实体 */
  Step3中该函数的调用格式为:
  adsname SS; /* 实体集名变量 */
  Char sbuf[6];/*层名变量  */
  struct resbuf eb; /* 结构缓冲器变量 */
  strcpy(sbuf,“0”); /* 层名变量赋值 */
  eb.resval.rstring=sbuf; /* 结构缓冲器字符串赋值 */
  adsssget(“X”,NULL,NULL,&eb,SS); /* 获取“0”层实体集*/
  在Step2、Step5中调用adsentget(  )函数的实质是产生一个结构缓冲器链表,该链表的结构示意图如图3所示。
 

1

图3 结构缓冲器链表示意图

  从结构缓冲器链表中可获取当前实体集中每个实体的类型(如点、直线、圆弧等相应的DXF代码)和几何参数(即直线的起始、终止点坐标,圆弧的圆心、半径、起始角、终止角),由于程序段稍长,此处从略。
  Step8主要根据S0的两个端点坐标(存于数组PRS0[2][2])和零件图内外侧所有的实体的几何信息(存于数组PRSS[N][5])按首尾相连原则分别确定内侧和外侧线段及其几何参数,并分别存入相应数组PRL[num][5]和PRW[num][5]中。

四、结束语
  作者根据以上程序设计思想和有关算法,设计完成了旋转拉延件毛坯尺寸的自动计算软件。在AutoCAD COMMAND状态下通过“XLOAD”命令加载本程序后,绘制(或调入)一个旋转拉延件零件图,运行本程序,即可在屏幕上显示打印出毛坯尺寸。
  该程序已对多个由AutoCAD绘制的任意复杂程度的旋转拉延件计算出毛坯尺寸。运行表明:程序正确、可靠,能满足迅速、自动计算毛坯直径的要求。本程序既可单独运行,也可作为后续的拉延模CAD系统的一个子系统运行。

作者简介:杨 岳男,36岁,副教授
作者单位:长沙铁道学院(410075)

参考文献
[1] 万战胜主编.冲压工艺与模具设计.北京:中国铁道出版社,1995.
[2] 苏鸿根等编著.怎样开发AutoCAD R12.0.北京:清华大学出版社,1995.
[3] 方铁编著.AutoCAD C语言高级编程.北京:清华大学出版社,1995.

相关阅读
滚动鼠标加载更多~~
编辑专栏
推荐产品
Top Top