花了一年时间开发出来的基于DXF文件的加工路径自动生成软件

 随着科技水平的进步,计算机辅助制造技术CAD/CAM在机械加工中起着越来越重要得作用
,传统的手动编程正在被自动编程所取代,目前PRO/E,UG,MasterCAM等商业软件可以根据设计
的图形直接生成数控加工代码。然而这些软件相对来说功能复杂,不易掌握,比较昂贵,而且对硬
件配置要求比较高。对于一些不太复杂的的2D或2.5D加工,中小企业迫切需要一种简单好用,价格
价格负担的起,并且可以根据企业要求做些特殊功能定制的得自动编程软件。

      DXF文件是AutoDesk公司为其AutoCAD软件与外部CAD/CAM系统接口所定义的一种图形交换
格式文件。随着AutoCAD在业界的广泛使用,大多数的CAD/CAM系统都具备读取并保存DXF文件
的接口功能。对于大部分仅仅需要二维数控加工的零件,如能由AutoCAD二维图形中描述零件轮廓
的图形直接生成数控加工代码,无需人工干预,则不仅可以解决人工编程繁琐易错的问题,而且可
缩短编程及调试时间,提高数控机床利用率,降低废品率,提高效益。

      为此,我推出基于DXF文件的加工路径自动生成软件DXF2NC,可以
由DXF文件零件图根据加工工艺以及加工参数直接生成2维,2.5维数控加工NC代码。用户只要设计
好所需要加工的零件图并存成DXF文件格式,由DXF2NC软件自动生成加工的NC代码(G code),然
后用DXF2NC软件自带的路径预览以及仿真模块进行刀路验证,刀路验证完毕后用于实际的加工;

 

主要技术指标跟性能:
        1. 支持各种版本的DXF文件,支持R12以后的所有版本,用户再也不会为版本高低打不开而发愁;
        2. 支持二阶,三阶NURBS样条曲线;
        3. 支持带凸度圆弧的多段线;
        4. 支持AutoCAD的shx单线体文字以及TTF的曲线字体;
        5. 自带shx字库,所以可以脱离AutoCD安装环境;
        6. 支持二阶,三阶段曲线的光顺以及双圆弧光顺;
        8. 支持层(Layer)的管理;
        9. 加工路径的优化;
        10. 加工路径的3D预览以及仿真;
        11. 输出标准格式的G Code指令以及绘图仪语言plt格式文件;


具体细节如下:
              可以解析DXF文件中大部分图元类型
           相比一般的软件只支持简单的直线,圆弧,圆相比,DXF2NC软件可以支持大部分DXF文件的图元类型。

目前可以解析的DXF图元类型如下:
◆LINE,直线;
◆ARC,圆弧;
◆ELLIPSE,椭圆以及椭圆弧;
◆TEXT,单行文本;
◆MTEXT,多行文本;
◆INSERT,图块;
◆POLYLINE,多义线;
◆LWPOLYLINE,二维多段线;
◆SPLINE,NUBS样条曲线;

下图是AutoCAD中设计的图形


下图是在DXF2NC中打开后的图形
             
 支持图层的管理
           DXF文件中每个图元都属于一个层,而加工中也有层的概念,这涉及到加工的工艺次序问题,例如
钢板切割中就有涂粉层,打孔层,切割层,加工中会按层来加工,鉴于此DXF2NC支持图层以及图层的管理。
支持图层的隐藏显示,图层的锁定以及解锁。


 支持各种文字类型以及文字的排版
           DXF文件中有2种类型的字体,一种是AutoCAD自有的单线体shx字体,一种是微软的TTF(True Type Font)矢量曲线字体。文字字体是通过字体样式确定,DXF2NC不仅支持这2种字体,同时支持dxf文字的排列
样式以及字体中包含的控制码的解析(百分号,直径以及上下划线)。DXF2NC自带字库目录所以可以独立于AutoCAD安装环境。鉴于DXF2NC对文字友善的支持,因此非常适合文字切割,文字雕刻等文字加工场合!

下图是SHX单线体字:

下图是TTF矢量字库:

下图是DXF2NC自带的字库:

 支持小直线的曲线光顺以及拟合
           在加工中如果小直线很多的话,不仅会导致加工的不断启停影响加工质量同时增加了加工时间影响了
加工效率,同时如果放大由很多小直线组成的图形会导致图形失真并且有锯齿状出现。
锯齿状图如下:

AutoCAD可以对小·直线进行光顺以及拟合,步骤是通过AutoCAD的PEDIT\SPLINE指令来曲线优化光顺小直线段构成的图形(PolyLine),用令PEDIT\FIT来用双圆弧拟合小直线。目前AutoCAD支持双圆弧拟合,2阶曲线光顺以及三阶曲线光顺。因此用户可以用AutoCAD来光顺图形,由DXF2NC产生光顺后的加工路径!光顺后的曲线可以使
加工形状更光滑,加工速度速度变化平滑,缩短加工时间,延长刀具寿命,刀具切削力稳定!

 

 支持加工路径的检查以及仿真
           由于加工参数设定的不合适会产生不合理的刀路,如果直接用于加工会导致严重的后果,DXF2NC自带
刀位路径3D预览以及仿真模块,可以在加工前及时发现问题。
   
         
     可扩展的软件构架
          所有的模块跟算法都是C++编写,所以方便移植,同时可以根据企业的特殊要求来定制增加新功能;

      DXF2NC通过升级可以适用于切割,点胶,雕刻,铣削,车削等加工场合;

转载于:https://www.cnblogs.com/ucancad/archive/2013/04/16/3023497.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474508.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 1136. 平行课程(拓扑排序)

文章目录1. 题目2. 解题1. 题目 已知有 N 门课程,它们以 1 到 N 进行编号。 给你一份课程关系表 relations[i] [X, Y],用以表示课程 X 和课程 Y 之间的先修关系:课程 X 必须在课程 Y 之前修完。 假设在一个学期里,你可以学习任…

【Android】Uri和Url和URN

最早在Android方面接触这两个概念,是学习ContentProvider的时候,当时花了很多时间,始终不能很好的理解他们的区别,顺带着ContentProvider的用法也无法理解,最近通过实现网页链接和Android-APP的无缝跳转问题&#xff0…

LeetCode 1259. 不相交的握手(DP)

文章目录1. 题目2. 解题1. 题目 偶数 个人站成一个圆,总人数为 num_people 。 每个人与除自己外的一个人握手,所以总共会有 num_people / 2 次握手。 将握手的人之间连线,请你返回连线不会相交的握手方案数。 由于结果可能会很大&#xf…

外星人装深度linux,17xR4深度拆机教程、加装MSATA固态硬盘及评测

本帖最后由 wellsyue 于 2012-6-20 20:45 编辑看到其他板块在三代IVY推出后,陆续发布了很多加装MSATA的帖子,发现外星人板块还没有17R4加装MSATA的帖子,在此,发布M17x R4加装MSATA教程一贴,既然是教程,就应…

LeetCode 248. 中心对称数 III(DFS/BFS)

文章目录1. 题目2. 解题2.1 DFS2.2 BFS1. 题目 中心对称数是指一个数字在旋转了 180 度之后看起来依旧相同的数字(或者上下颠倒地看)。 写一个函数来计算范围在 [low, high] 之间中心对称数的个数。 示例: 输入: low "50", high "10…

LeetCode 1067. 范围内的数字计数

文章目录1. 题目2. 解题1. 题目 给定一个在 0 到 9 之间的整数 d,和两个正整数 low 和 high 分别作为上下界。 返回 d 在 low 和 high 之间的整数中出现的次数,包括边界 low 和 high。 示例 1: 输入:d 1, low 1, high 13 输…

多参的实现原理

相信大家都使用过C语言的库函数:printf("%d%d", 1, 2)的吧,使用确实很方便功能也很强大。 但是为什么它可以接受多个参数呢? 现在我们来解析一下多参的实现原理,网上也找了一些文章。发现解析得都不全面。并且有BUG。 先…

学生成绩统计c语言课程设计,学生成绩管理系统-C语言课程设计

记一次课程设计作业 学生成绩管理系统#include#include#include#include/*学生成绩管理系统介绍2017C语言课程设计 2021609361.支持将数据保存到文件并从文件中读取已有数据2.支持添加、删改数据3.支持按学号或姓名查询、删除、修改数据4.支持简单统计,包括 不及格…

LeetCode 439. 三元表达式解析器

文章目录1. 题目2. 解题2.1 递归2.2 循环1. 题目 给定一个以字符串表示的任意嵌套的三元表达式,计算表达式的值。 你可以假定给定的表达式始终都是有效的并且只包含数字 0-9, ?, :, T 和 F (T 和 F 分别表示真和假)。 注意: 给定的字符串…

LeetCode 1216. 验证回文字符串 III(DP)

文章目录1. 题目2. 解题1. 题目 给出一个字符串 s 和一个整数 k,请你帮忙判断这个字符串是不是一个「K 回文」。 所谓「K 回文」:如果可以通过从字符串中删去最多 k 个字符将其转换为回文,那么这个字符串就是一个「K 回文」。 示例&#x…

c语言表达式10 amp 6等于多少,C语言基础——表达式

目录回顾:一、定义概念:二、表达式的分类举例说明:(一)首先是加、减、乘、除、取余四种表达式:(二)一元表达式(三)强制转换表达式(四)判断表达式(五)逻辑表达式(六)移位表达式小结写在最后:回顾:在上一篇博…

LeetCode 1274. 矩形内船只的数目(分治)

文章目录1. 题目2. 解题1. 题目 (此题是 交互式问题 ) 在用笛卡尔坐标系表示的二维海平面上,有一些船。 每一艘船都在一个整数点上,且每一个整数点最多只有 1 艘船。 有一个函数 Sea.hasShips(topRight, bottomLeft) ,输入参数为右上角和…

图的定义与术语 - 数据结构和算法54

图的定义与术语 让编程改变世界 Change the world by program 在前边讲解的线性表中,每个元素之间只有一个直接前驱和一个直接后继,在树形结构中,数据元素之间是层次关系,并且每一层上的数据元素可能和下一层中多个元素相关&…