找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 4834|回复: 28

[求助] 使用LISP输出简单的G代码。(只用于电脑锣打点)

[复制链接]
发表于 2013-10-21 20:40:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
   因为加工大模板,上面需要钻孔的地方太多了,所以加工中往往会用电脑锣先打点,然后再用摇臂钻钻孔沉头之类的(摇臂钻快,且不占电脑锣)。
但是用专门的编程软件很麻烦。所以希望做一个LISP只读取模板上的圆孔坐标。然后加上G代码,这样电脑锣就可以直接使用了。
这是我手写的一段G代码:
G91G28X0Y0Z0
G40G17G80G49
G90G54
G0z5
M00
M03 S1500  
;以上G代码头,固定不变的。

G0x10y10z2    ;x和y后面的数字就该圆心的坐标。
g01z-2F50       ;固定不变的内容。
G0z5                 ;固定不变的内容。
G0x15y10z2     ;开始循环第二个孔,
g01z-2F50
G0z5
G0x20y10z2     ;开始第三个孔。
g01z-2F50
G0z5


M30                 ;固定的结束内容。

能否用LISP,将下图的圆心坐标按上面的格式输出?如果可以。程序怎么写啊?谢谢名位大侠相助。急求。坐标原点在左下角。
1.jpg
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-10-21 21:12:25 | 显示全部楼层
本帖最后由 st788796 于 2013-10-21 21:15 编辑

和每个圆对应的固定不变内容写清楚
原点是不是 0,0 , Wcs 还是 Ucs
坐标精度
圆要不要排序

点评

大侠,先谢谢你了。 和每个圆对应的内容为:G0x 10 y 10 z2 g01z-2F50 固定不变的 G0z5 固定不变  详情 回复 发表于 2013-10-21 21:27
估计他那个打点的,应该像绘图仪一样,不用排序也行,给坐标就去打,只不过多走点距离罢了。  详情 回复 发表于 2013-10-21 21:27
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2013-10-21 21:27:09 | 显示全部楼层
st788796 发表于 2013-10-21 21:12
和每个圆对应的固定不变内容写清楚
原点是不是 0,0 , Wcs 还是 Ucs
坐标精度

估计他那个打点的,应该像绘图仪一样,不用排序也行,给坐标就去打,只不过多走点距离罢了。

点评

大师,昨天晚上你帮我写的打点的G代码,需要用哪些函数啊?看到你的GIF,真是太心动了。现在就差那么一点点,能不能发我要用到的函数啊。谢谢了。  详情 回复 发表于 2013-10-22 11:01
大侠,这个实际加工中,是需要优化排序的。因为模板是相当大的,一般来说在600*1000左右。如果机器老是来回跑的话,会相当浪费时间。有能解决这个吗?  详情 回复 发表于 2013-10-21 21:30
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-21 21:27:24 | 显示全部楼层
st788796 发表于 2013-10-21 21:12
和每个圆对应的固定不变内容写清楚
原点是不是 0,0 , Wcs 还是 Ucs
坐标精度

大侠,先谢谢你了。
和每个圆对应的内容为:G0x  10  y  10 z2   
                                        g01z-2F50       固定不变的
                                         G0z5              固定不变的。  0全部是零不是字母。红色的数字就是对应每个圆心坐标,Z忽略。就只变红色的数字就OK!原点对应当前坐标原点就OK! UCS 精度到0.000就好。再精了,机器也走不出来。谢谢大侠啊!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-21 21:30:24 | 显示全部楼层
Lispboy 发表于 2013-10-21 21:27
估计他那个打点的,应该像绘图仪一样,不用排序也行,给坐标就去打,只不过多走点距离罢了。

大侠,这个实际加工中,是需要优化排序的。因为模板是相当大的,一般来说在600*1000左右。如果机器老是来回跑的话,会相当浪费时间。有能解决这个吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-21 21:34:59 | 显示全部楼层
这个电脑锣打点,是一个地方点一下,然后再去点另外一个地方。所以不像打印机一样是一排一排出来的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 343个

财富等级: 日进斗金

发表于 2013-10-21 21:46:13 | 显示全部楼层
;P;P;P;P数控佬

点评

慧眼识数控啊。常住居民呐。请教一下,如果有偿订制这个,需要怎么操作啊?我真的很需要这个,就像我饿的时候,能吃上一顿饱饭一样重要。我的情况,大家当然不知道,只能说太需要了。 如果有偿的话,这样一个程序要  详情 回复 发表于 2013-10-21 21:55
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2013-10-21 21:48:00 | 显示全部楼层
能不能指点一下,用哪些命令可以完成这个代码呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-21 21:55:12 | 显示全部楼层
本帖最后由 ghoust 于 2013-10-21 22:10 编辑

慧眼识数控啊。常住居民呐。请教一下,如果有偿订制这个,需要怎么操作啊?我真的很需要这个,就像我饿的时候,能吃上一顿饱饭一样重要。我的情况,大家当然不知道,只能说太需要了。 如果有偿的话,这样一个程序要多少大洋呢?请指教。

点评

你想 从下(排)往上打, 还是从左(排)往右打?  详情 回复 发表于 2013-10-21 22:15
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2013-10-21 22:15:16 | 显示全部楼层
ghoust 发表于 2013-10-21 21:55
慧眼识数控啊。常住居民呐。请教一下,如果有偿订制这个,需要怎么操作啊?我真的很需要这个,就像我饿的 ...

你想  从下(排)往上打, 还是从左(排)往右打?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 343个

财富等级: 日进斗金

发表于 2013-10-21 22:20:24 | 显示全部楼层
本帖最后由 429014673 于 2013-10-21 22:23 编辑

我一般不搞程序,你这个是模座?

点评

我自己DIY了台雕刻机,机器OK了。可是我不会编程。我想用它来打点。  详情 回复 发表于 2013-10-21 23:43
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2013-10-21 22:31:34 | 显示全部楼层
本帖最后由 Lispboy 于 2013-10-21 22:35 编辑

xdtb_skcoord.gif



人民币免了,拿回去用吧。

按排从下往上打,坐标精确到小数点后4位。

  1. (defun c:tt ()
  2.   (if (setq ss (ssget))
  3.     (progn
  4.       (setq box (XD::Entity:BOX ss)
  5.             base (car box)
  6.             elst (xdrx_pickset->ents ss)
  7.             elst (XD::Pickset:TableSort ss 0 0 '< '<)
  8.             elst (apply 'append elst)
  9.       )
  10.       (setq tlst (list "G91G28X0Y0Z0" "G40G17G80G49" "G90G54" "G0z5" "M00" "M03" "S1500"))
  11.       (foreach e elst
  12.         (xdrx_setenttodb e)
  13.         (if (= "CIRCLE" (xdrx_getentdxf 0))
  14.           (progn
  15.             (setq cen (xdrx_getentdxf 10)
  16.                   cen (mapcar
  17.                         '-
  18.                         cen
  19.                         base
  20.                       )
  21.                   node (strcat "G0x" (rtos (car cen) 2 4) "y" (rtos (cadr cen) 2 4) "z2")
  22.                   tlst (append
  23.                          tlst
  24.                          (list node "g01z-2F50" "G0z5")
  25.                        )
  26.             )
  27.           )
  28.         )
  29.       )
  30.       (setq tlst (append
  31.                    tlst
  32.                    (list "M30")
  33.                  )
  34.       )
  35.       (if (and
  36.             (setq fn (xdrx_system_selectFiles "选择保存的文件" "c:\\coords.txt" "txt;" 1))
  37.             (setq fn (car fn))
  38.             (XD::List:ToFile fn tlst)
  39.           )
  40.         (progn
  41.           (prompt (strcat "\n成功将坐标信息写到" fn "下."))
  42.         )
  43.       )
  44.     )
  45.   )
  46.   (princ)
  47. )
  48. ;|
  49. 表内容写文本文件
  50. 参数:
  51.   fn -- 文件名, 如: "c:\\abc.txt"
  52.   lst-- 表

  53. 成功返回T,否NIL
  54. |;
  55. (defun XD::List:ToFile (fn lst / fl x)
  56.   (setq fl (open fn "w"))
  57.   (if (and
  58.         fl
  59.         (> (length lst) 0)
  60.       )
  61.     (progn
  62.       (mapcar
  63.         '(lambda (x)
  64.            (write-line (vl-princ-to-string x) fl)
  65.          )
  66.         lst
  67.       )
  68.       (close fl)
  69.       t
  70.     )
  71.   )
  72. )


点评

[attachimg]6046[/attachimg] 大师,我终于可以运行你的LISP了。是我不懂。我是用上图运行的,但是出来的坐标不是按当前的坐标呢,下面是得出来的结果: G91G28X0Y0Z0 G40G17G80G49 G90G54 G0z5 M00 M03  详情 回复 发表于 2013-10-24 16:19
多谢大师。我执行后出现这样的问题是为什么? 命令: tt选择对象: 指定对角点: 找到 5 个 选择对象: ; 错误: no function definition: XD::ENTITY:BOX 是不是我哪里没弄对啊?  详情 回复 发表于 2013-10-21 23:40
露面就高产,出来这么多工具,我觉得要省时间,应该这样走。 [attachimg]5974[/attachimg]  详情 回复 发表于 2013-10-21 22:57
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-10-21 22:57:18 | 显示全部楼层
Lispboy 发表于 2013-10-21 22:31
人民币免了,拿回去用吧。

按排从下往上打,坐标精确到小数点后4位。

露面就高产,出来这么多工具,我觉得要省时间,应该这样走。

QQ截图20131021225651.png

点评

这样确实有效率,不知道有没有办法让程序自动优化呢?自动计算出打完全部孔所需的最短路径,也许这个要求有点高,希望大师们研究一下。  详情 回复 发表于 2013-10-21 23:17
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-21 23:15:11 | 显示全部楼层
Lispboy太感谢你了!且无以为报啊!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-21 23:17:05 | 显示全部楼层
newer 发表于 2013-10-21 22:57
露面就高产,出来这么多工具,我觉得要省时间,应该这样走。

这样确实有效率,不知道有没有办法让程序自动优化呢?自动计算出打完全部孔所需的最短路径,也许这个要求有点高,希望大师们研究一下。

点评

现在这样,从下排开始,往上,也挺不错的。 不能运行,看我的签名,下载晓东LISP通用函数库,不过估计你得努力积分到50.  详情 回复 发表于 2013-10-22 00:09
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-5-2 20:54 , Processed in 0.493512 second(s), 64 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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