毛坯图自动生成

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
( 3) 延伸与原轮廓线相交的线段和剖面线到新 轮廓线。
图5
图6
4 结束语
本软件在 AutoCAD 环境下运行, 不仅适于铸件 毛坯图的自动生成, 也适于锻件毛坯图的自动生成。 所采用的访问图形数据库修改图形的思路以及建立 的算法, 对于智能化处理图形的研究也具有普遍意 义。
参考文献
[ 1] D Arnold. Comput er graphics int erface and CA D applications( J ) . Comput er A ided Design, 1997: 19( 8) .
( 2) 从选择集 SL 0 中找到端点为 P1 的各线段, 把这些线段的另一端点放 入 END 表中, 并去 除不 在 PT T 表中的点。
( 3) 从 END 表中逐一提取已搜集的点( 如 P 7, P 2) , 经比较找到以 P 1 为起点, 并与正东方向( 水平 向右) 成最大夹角的 P 1P 2 作为第一条轮廓边界线。
开/ C0 窗口将孔的轮廓各线段、中心线 和螺纹 线收集到选择 集 SD0 中。通过识别各种线 所在不 同层( / 20层中心线, / 30 层螺纹线, / 00 层轮廓线) 把 孔的轮廓线装入 SL 0 选择集, 把中心线和螺纹线装
图1 ( set q sd0 ( ssget / c0 p1 p2) ) ( set q sd01 ( sslengt h sdo) ) ( set q sl0 ( ssadd) sl23 ( ssadd) m 0) ( w hile ( < m sd01)
( 4) 孔轮廓边界的第一条边的方位确定后, 再从 选择集 SL 0 中找到端点为 P 2 的各线段, 把这些线 段的另一端点放入 END 表中( 此表用之前赋 nil) , 并去除不在 PT T 表中的点。从 END 表中逐一提取 已搜集的点( 如: P3、P6、P 1) 经比较找到 P 2P 3 与 前一线段 P 2P1 成最大夹角的点 P 3, 即为第三个轮 廓边界点, 并放 入 LK 表 中。P 2P 3 与 P2P 1 的夹 角是指以 P2 为中心沿逆时针方向旋转 P 2P 1 到与 P 2P 3 重线时, 所转过的角度。
上, 成功地编制了 AutoCA D 环境下运行的软件。
关键词: 图形数据库; 毛坯图; AutoCAD
中图分类号: T H122 文献标识码: A
1 引言
入 SL23 选择集, 程序如下:
为实现由零件图自动生成毛坯图, 要解决的主 要问题是在零件图中去除完全由机加工形成的孔和 槽以及在零件图中需机加工处画出增加的机加工余 量。本软件运用图形数据库的访问技术, 提取零件 图的有关图形数据。通过对实体的操作, 成功地解 决了上述问题。本软件使用简单。对于零件图中完 全由机加工形成的孔和槽, 只需用鼠标点取位置点, 即可自动消除图中的孔和槽。用鼠标点取零件图中 机加工处并输入机加工余量值, 即可自动画出增加 的机加工余量, 完成图形的处理。
( setq kde1 ( car kd1) kde2 ( car kd2) ) ( command / off set0 d pk1 pk2 / / ) ( setq of f1 ( ent last) ) ( setq pe11( cdr ( assoc 10 ( entget of f1) ) ) ) ( setq pe12( cdr ( assoc 11 ( entget of f1) ) ) ) ( command / off set0 d pk2 pk1 / / ) ( setq of f2 ( ent last) ) ( setq pe21( cdr ( assoc 10 ( entget of f2) ) ) ) ( setq pe22( cdr ( assoc 11 ( entget of f2) ) ) ) ( if k d1 ( command / extend0 kde1 / /
( set q sd0n ( ssname sd0 m ) ) ( set q la ( cdr ( assoc 8 ( entget sd0n) ) ) ) ( cond ( ( or ( = la / 20 ) ( = la / 30 ) ) ( ssadd sd0n sl23) ( ( = la / 00 ) ( ssadd sd0n sl0) ) ) ( set q m ( 1+ m) ) )
pe11 pe12 pe21 pe22 / / ) ) ( if k d2 ( command / extend0 kde2 / /
pe11 pe12 pe21 pe22 / / ) )
经上面处理后, 消除原孔的轮廓线( 参见 2. 1. 3 所述) 。以新画轮廓为边界, 延伸剖面线完成图形处 理。 3. 2 面的机加工余量处理
将选 择集 SL0 中孔 的轮廓各 线段相互 求交。 因为图中的每个交点可能是两条以上线段相交, 所 以求出的交点会出现重复的交点。因此, 要进行筛 选, 去掉 重复的交点。然后, 孔的轮廓点被收集到 PT T 表中。
在 PT T 表中找到孔轮廓点中最低点百度文库 以此点, 顺时针次 序排出 孔的轮 廓点, 算 法如下: ( 参 见图 2) 。
2 机加工形成的孔和槽的处理
当零件上的孔、槽不宜锻造和铸造形成时, 应直 接依靠机加工形成。这时零件图中的这些孔和槽在 毛坯图中应去除。 2. 1 去除机加工形成的孔
程序通过用户点取的两点获取边界( 见图 1) , 然后自动搜索孔的轮廓线, 再从图形数据库中提取 剖面线数据( 线间距、倾角) , 在孔的轮廓边界内, 画 上剖面线。最后自动消除孔轮廓线、中心线及螺纹 线。各部分的实现方法如下: 2. 1. 1 搜索孔的轮廓线
( w hile sn ( set q sn ( entnext s) )
( if sn ( setq ss ( ssadd sn ss) ) ) ( set q s sn )
) ( command / hat ch0 / u0 aa bb / n0 ss / / )
)
( 2) 在画剖面线之前, 查询图形数据库, 提取剖 面线有关数据( 剖面线的间距 bb 、倾角 aa ) 。然后, 依次从 L K 表中取出孔边界交点, 画出孔轮廓。在 画孔轮廓第一段线后运行 H 0 函数, 画完整个轮廓 运行 H 函数, 即可画出剖 面线。最 后, 执 行( command / erase0 ss / / ) 语句, 擦除画剖面线使用的轮
图2
X 收稿日期: 1999-05- 28; 修订日期: 1999-09-23 作者简介: 吴学金( 1958-) , 男, 工学硕士学位, 主要从事计算机图形学和机械 CAD 方面的教学和研究工作。
46 计算机辅助设计
实例分析与经验交流
5机械设计62000 年 2 月 l 2
( 1) 图示的 P 1 点作为最低点, 定义 P 1 点为孔 轮廓边的起点( 水平线时, 取先找到的点) 。由构表 器 CONS 函 数 构造 LK 表, 将 P 1 点 的 坐标 放 入 LK, 如: ( setq L K ( cons p1 Lk) )
用户只需点取机加工面和指点一个方向点( 此
点可在增加余量一侧的任何位置) , 本软件就可使加 工面增加出机加工余量。处理步骤如下:
( 1) 依据用户点取的机加工面, 搜索数据库, 提 取机加工面处的轮廓线( 可能由多段线组成) , 顺序 排出机加工面上的线段, 以便从机加工面某端顺序 处理各线段;
( 2) 按机加工余量值等距移动各线段形成新轮 廓线;
经上面处理后, 再打碎剖面线, 以等距线 off 1、 of f2 和两个端面为边界, 把搜索到的应该进行延伸 的剖面线用/ ext end0命令进行延伸, 完成图形处理。 3. 1. 2 有倒角情况下的处理( 见图 6)
( setq k1 ( ent sel / 点孔一边0 ) ) 点取 P1 ( setq k2 ( ent sel / 点孔另一边0 / / ) ) 点取 P2 ( setq kd1 ( ent sel / 点孔有倒角一端, 无< 回车> 0 ) ) ( setq kd2 ( ent sel / 点孔有倒角另一端, 无< 回车> 0 ) ) ( setq pk1 ( cdr k1) pk2 ( cdr k 2) )
( 5) 再以 P 4 作为 P 3, P3 作 为 P 2, P 2 作 为 P 1, 循环执行上述第四 步, 直至搜 索到起点 P 1 为 止, 则得到孔边 界点 P 1、P 2、P 3、P4、P 5、P 6、P 7、 P 1 各点坐标, 并依次放入 LK 表中。 2. 1. 2 在将要去除的孔内画上剖面线
图4
3 机加工余量的处理
3. 1 孔的机加工余量处理
5机械设计62000 年 2 月 l 2
实例分析与经验交流
计算机辅助设计 47
3. 1. 1 无倒角情况下的处理( 见图 5)
( setq k1 ( ent sel / 点孔一边0 ) ; 点取 P1 ( setq k2 ( ent sel / 点孔另一边0 ) ; 点取 P2 ( setq pk1 ( cdr k1) ke1 ( car k1) ) ( setq pk2 ( cdr k2) ke2 ( car k2) ) ( command / off set0 d pk1 pk2) ; d 为机加工余量 ( setq of f1 ( ent last) ) ( command / off set0 d pk2 pk1) ( setq of f2 ( ent last) ) ( command / erase0 ke1 ke2 / / )
( command / erase0 SL23 / / )
2. 2 去除机加工形成的槽 第一步: 程序通过用户点取的补齐面的两个点
( 见图 4 中 P 1 和 P 2) , 提取到两实体线段, 然后求 出它们的交点。再用线段连接交点到两个补齐面。
第二步: 用户点取形成槽的轮廓线段( 见图 4 中 A 、B 、C、D ) 消除, 并以新画的轮廓为边界, 沿伸与 原轮廓相交的各条剖面线到新画的轮廓。
5机械设计62000 年 2 月 l 2
文章编号: 1001- 2354( 2000) 02-0045- 03
实例分析与经验交流
计算机辅助设计 45
毛坯图自动生成软件的研制X
吴学金
( 天津理工学院 计算机系, 天津 300191)
摘要: 采用图形数据库访问技术, 提取 零件图 的有 关图形 数据, 在 建立了 零件 图自 动生成 毛坯 图的算 法基 础
第二种情况。如图 3b 所示, 从 PT T 表中分出 点属于哪个端面。P1 和 P 2 是在同一端面上的两 个点, P 3 和 P 4 是在同一端面上的两个点, 然后找 到线段 P 1P 3 的中点和 P 2P4 的中点, 以这两个中 点作为捕捉目标予以消除。 2. 1. 4 消除中心线和螺纹线
将已 搜集到 选择集 SL23 中 的中心线 和螺纹 线, 用下面语句消除。
( 1) 定义自动获取边界及画剖面线函数。
( D EFU N H0 ( ) ( set q ss ( ssadd) )
( set q s ( entlast) ) ( set q ss ( ssadd s ss) )
) ( D EFU N H ( aa bb / )
( command / layer0 / s0 / 70 / / ) ( set q sn t)
廓线。 2. 1. 3 消除孔的轮廓线
首先分出两种情况, 如图 3 所示。PT T 表中原 子数大于 4 的或是盲孔的作为第一种情况, 其它作 为第二种情况。
图3
第一种情况, 如图 3a 所示。把不在端面的孔轮 廓线交点( 称为内点) 作为选择集点, 即以该内点为 中心开一个很小的/ C0窗口进行选 择, 将通过此点 的线段收集到选择集中。这样, 把每个内点作为选 择集点, 消除通过每个内点的线段, 从而消除所有轮 廓线。
相关文档
最新文档