明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2740|回复: 7

数控切割机的切割指令反向编译成cad文件中的一些动态数组的问题

[复制链接]
发表于 2008-2-24 02:56:00 | 显示全部楼层 |阅读模式

新人上路,一来向大家问好,二来有问题想讨教大家,希望各位多多帮忙

我有一段数控等离子切割机的切割指令,想通过它反向编译成cad文件,在此过程中遇到一些问题讨教

1.轻质多义线动态数组:我不知为何多义线数组老是下标出界,(详见我的程序说明)

2.我将多义线生成写成一个子程序,在主程序中调用也总是无效的过程和参数

请大家指导指导!

  

----------------------------------------------------------

以下是部分划线指令及坐标

-----------------------------------------------------------

%
O0857               
G92 x 0 y 0                      绝对坐标归0,0
G91                                相对坐标开始
G21
M11                                划线程序开始
G00 x 359.98 y 464.15  快速移动到X,Y
M09                                划线开始
G01 x -50.00 y 0.00       直线
G01 x 0.00 y 1072.48
G01 x 30.00 y 40.00
G01 x -30.00 y 40.00
G01 x 0.02 y 1072.48
G01 x 50.00 y 0.00
M10                               划线结束
G00 x 1488.99 y 252.45
。。。。。。。               此处省略一些
M09
G03 x 140.00 y -140.00 i 140.00 j 0.00
G01 x 500.00 y 0.00
G03 x 140.00 y 140.00 i 0.00 j 140.00
G01 x 0.00 y 1300.00
G03 x -140.00 y 140.00 i -140.00 j 0.00
G01 x -500.00 y 0.00
G03 x -140.00 y -140.00 i 0.00 j -140.00
G01 x 0.00 y -1290.00
M10
G00 x -2768.99 y -1127.89
M12
M00
G00 x 12.26 y 9.56

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2008-2-24 10:58:00 | 显示全部楼层

直接用直线和圆弧不好么?

 楼主| 发表于 2008-2-24 13:44:00 | 显示全部楼层

呵呵,首先谢谢雪山飞狐版主的留意,

用直线和圆弧是可以的,但因为划线和切割都是圆弧和直线的话,选择起来有可能不是很方便,一张切割版图有可能有几千条小的直线和圆弧产生,特别是二次函数样条捏合的曲线。

再讲数组和多义线始终是我们这些初学VB的蔡鸟要逾越的门槛,所以还请多多指教。

我才自学VB了10几天,如果说法上有些不妥,还请见谅。

发表于 2008-2-24 20:31:00 | 显示全部楼层
本帖最后由 作者 于 2008-2-24 20:36:25 编辑
  1. Dim pnts() as double
  2. ReDim  Preserve  pnts(1)
  3. pnts(0) = 0
  4. pnts(1) = 10
  5. count = 1
  6. count = count + 2
  7. ReDim  Preserve  pnts(count )
......
 楼主| 发表于 2008-2-25 19:43:00 | 显示全部楼层

谢谢,版主

我昨天夜里已经修正好了,和你教的大同小异,

现在已经可以成功的转换了,果然用Preserve可以保存原来的值。

 楼主| 发表于 2008-2-25 19:45:00 | 显示全部楼层
转换后如图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2008-2-29 20:28:00 | 显示全部楼层

呵呵  我也是做线切割的,不过我用的是3b程序

我现在做完了,用图形生成3b程序的功能。(反向的用3b程序生成图形,以前用vb实现过,不是很难,只是有些繁琐)

利用图形生成3b程序的确为难了我很长时间,其核心是偏移补偿的算法。为了偷懒我利用的是cad内建的 多段线的偏移功能,然后生成代码。我的实现方案是选取串连的图形,然后生成多段线,然后根据补偿量利用多段线的偏移生成补偿后的图形,然后将偏移后的多段线分解成直线和圆弧。

其中的核心算法是,多段线解析成圆弧,就是求凸度值非0的多段线的圆心。

奇怪的是我的程序,当单独的解析多段线的时候毫无问题能够正确的判断圆心,可是当利用其生成3b代码是判断却错误,而使用的核心函数完全相同。。。。

太郁闷了 。。。

发表于 2008-8-31 15:49:00 | 显示全部楼层

牛X,把你做的发上来看看呀。

我也学着做一个。

5
+4600+100
6
11
5
9
+0+8950
+300+400
-300+400
+0+8450
+500+0
10
+5445+0
9
-500+0
+0-8450
+300-400
-300-400
+0-8950
10
+5555+0
9
+0+8950
-300+400
+300+400
+0+8450
-500+0
10
+5500+0
9
+500+0
+0-8450
-300-400
+300-400
+0-8950
10
+7700+0
9
+0+8950
-300+400
+300+400
+0+8450
-500+0
10
+7500+0
9
+500+0
+0-8450
-300-400
+300-400
+0-8950
10
+7600+0
9
+0+8950
-300+400
+300+400
+0+8450
-500+0
10
+6700+0
9
+0-8700
-300-400
+300-400
+0-8700
10
+9000+0
9
+0+8700
-300+400
+300+400
+0+8700
10
+9000+0
9
+0-8700
-300-400
+300-400
+0-8700
10
+6270+0
9
+0+7200
-300+400
+300+400
+0+7200
10
+7600+0
9
+0-7200
-300-400
+300-400
+0-7200
10
+6200+0
9
+0+7200
-300+400
+300+400
+0+7200
10
+7700+0
9
+500+0
+0-6950
-300-400
+300-400
+0-7450
10
6
12
0
5
-96340+18350
6
30
7
+20+0
+50-50+0-50-
+0-18300
+69500+0
+0+18300
-69500+0
8
38
5
+69530-2950
6
30
7
+20+0
+50-50+0-50-
+0-15300
+30170+0
+0+15300
-30170+0
8
38
64

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 07:23 , Processed in 0.197135 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表