乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 139|回复: 7

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

[复制链接]

1

主题

6

帖子

1

银币

初来乍到

Rank: 1

铜币
10
发表于 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
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2008-2-24 10:58:00 | 显示全部楼层
直接用直线和圆弧不好么?
回复

使用道具 举报

1

主题

6

帖子

1

银币

初来乍到

Rank: 1

铜币
10
发表于 2008-2-24 13:44:00 | 显示全部楼层
呵呵,首先谢谢雪山飞狐版主的留意,
用直线和圆弧是可以的,但因为划线和切割都是圆弧和直线的话,选择起来有可能不是很方便,一张切割版图有可能有几千条小的直线和圆弧产生,特别是二次函数样条捏合的曲线。
再讲数组和多义线始终是我们这些初学VB的蔡鸟要逾越的门槛,所以还请多多指教。
我才自学VB了10几天,如果说法上有些不妥,还请见谅。
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2008-2-24 20:31:00 | 显示全部楼层
  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 )
......
回复

使用道具 举报

1

主题

6

帖子

1

银币

初来乍到

Rank: 1

铜币
10
发表于 2008-2-25 19:43:00 | 显示全部楼层
谢谢,版主
我昨天夜里已经修正好了,和你教的大同小异,
现在已经可以成功的转换了,果然用Preserve可以保存原来的值。
回复

使用道具 举报

1

主题

6

帖子

1

银币

初来乍到

Rank: 1

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

mw0rgtbsip3.jpg

mw0rgtbsip3.jpg

回复

使用道具 举报

2

主题

10

帖子

3

银币

初来乍到

Rank: 1

铜币
18
发表于 2008-2-29 20:28:00 | 显示全部楼层
呵呵  我也是做线切割的,不过我用的是3b程序
我现在做完了,用图形生成3b程序的功能。(反向的用3b程序生成图形,以前用vb实现过,不是很难,只是有些繁琐)
利用图形生成3b程序的确为难了我很长时间,其核心是偏移补偿的算法。为了偷懒我利用的是cad内建的 多段线的偏移功能,然后生成代码。我的实现方案是选取串连的图形,然后生成多段线,然后根据补偿量利用多段线的偏移生成补偿后的图形,然后将偏移后的多段线分解成直线和圆弧。
其中的核心算法是,多段线解析成圆弧,就是求凸度值非0的多段线的圆心。
奇怪的是我的程序,当单独的解析多段线的时候毫无问题能够正确的判断圆心,可是当利用其生成3b代码是判断却错误,而使用的核心函数完全相同。。。。
太郁闷了 。。。
回复

使用道具 举报

0

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
1
发表于 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
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-4 01:45 , Processed in 2.268414 second(s), 73 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表