找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: ghoust

[已解决] 动起来吧,我的打点机。我造了你的肉身,晓东赐给你灵魂。

[复制链接]

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-10-24 18:28:45 | 显示全部楼层
ghoust 发表于 2013-10-24 17:58
这个全部提示OK。但就是没有文件出来呢?
试验了几次,原来所有的文件全部在C盘根目录里,不管保存时目 ...

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

使用道具 举报

 楼主| 发表于 2013-10-24 18:54:24 | 显示全部楼层
st788796 发表于 2013-10-24 18:28
已修改,有个变量写错了

{:soso_e181:},今天晚上应该可以试机了。有兴趣可以看看视频。等下就发上来。

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-10-24 19:00:44 | 显示全部楼层
ghoust 发表于 2013-10-24 18:54
,今天晚上应该可以试机了。有兴趣可以看看视频。等下就发上来。

期待你的成功,一定要检查下文件坐标是否正确,毕竟非专业
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2013-10-24 20:20:39 | 显示全部楼层
st788796 发表于 2013-10-24 18:28
已修改,有个变量写错了

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-10-24 20:26:41 | 显示全部楼层
ghoust 发表于 2013-10-24 20:20
大师,你忘了贴程序出来了吧?

在 44 楼帖子修改的
http://bbs.xdcad.net/forum.php?mod=redirect&goto=findpost&ptid=671228&pid=3493653
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2013-10-24 20:45:53 | 显示全部楼层

大师啊。终于OK了啊。我现在开始试机,顺便拍个视频发上来。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2013-10-24 21:10:39 | 显示全部楼层
st788796 发表于 2013-10-24 20:26
在 44 楼帖子修改的
http://bbs.xdcad.net/forum.php?mod=redirect&goto=findpost&ptid=671228&pid=3493 ...

大师,程序OK。有后缀了,也能按指定地方保存了。 还有个地方得麻烦你一下呢。就是多个坐标过滤。
我试了下,有同心圆的地方机器会在同一个地方打两次点,比如:

S1500
G0X80Y80
G01Z-2F50
G0Z5
G0X80Y80
G01Z-2F50
G0Z5
G0X80Y80
G01Z-2F50
G0Z5

机器会在X80Y80的地方点三次。希望大师再改进一下,谢谢啊。
还有个路径,第一次选图元后,就会出现红线路径,这时候我点N回车后,拖动红色多段线的节点,试试,能否改变路径,但是好像输出的程序不受红线控制。是否红色线只是让用户看到是如何走路径的,而不是修改,是吗?
其它未发现问题,谢谢。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-10-24 21:23:20 | 显示全部楼层
ghoust 发表于 2013-10-24 21:10
大师,程序OK。有后缀了,也能按指定地方保存了。 还有个地方得麻烦你一下呢。就是多个坐标过滤。
我试 ...

加个消除重点函数即可, 看44楼
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2013-10-24 21:23:36 | 显示全部楼层
st788796 发表于 2013-10-24 20:26
在 44 楼帖子修改的
http://bbs.xdcad.net/forum.php?mod=redirect&goto=findpost&ptid=671228&pid=3493 ...

QQ图片20131024211313.jpg
我修改了一个红色复线的节点,只是拖动操作,没有炸开。然后再输入TT,再框选,到最后输出的时候就出现上图的错误。
是不是不能这样修改路径节点?或者说只能看路径,不能修改?
还请大师指点一下呢,谢谢。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2013-10-24 21:34:07 | 显示全部楼层
st788796 发表于 2013-10-24 20:26
在 44 楼帖子修改的
http://bbs.xdcad.net/forum.php?mod=redirect&goto=findpost&ptid=671228&pid=3493 ...

QQ图片20131024212325.jpg
执行这个复杂点的,好像不行呢,这提示这个:no function definition: ACET-UI-PICKDIR
我又搜不到这个函数呢?还要麻烦大师一下呢。谢谢了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-10-24 21:36:09 | 显示全部楼层
ghoust 发表于 2013-10-24 21:23
我修改了一个红色复线的节点,只是拖动操作,没有炸开。然后再输入TT,再框选,到最后输出的时候就出现 ...

注意红线的基点不要动
  1. (defun c:tt (/ ss cs pts ptl bp i ih header dir lst ps pl fn)
  2.   (defun GetPntsPath (bp pts / ptl)
  3.     (setq ptl (list bp))
  4.     (while pts
  5.       (setq pts (mapcar '(lambda (x)
  6.       (list (distance (car ptl) x) x)
  7.     )
  8.    pts
  9.   )
  10.      pts (vl-sort pts
  11.     (function (lambda (e1 e2)
  12.          (< (car e1) (car e2))
  13.        )
  14.     )
  15.   )
  16.      ptl (cons (cadar pts) ptl)
  17.      pts (cdr (mapcar 'cadr pts))
  18.       )
  19.     )
  20.     (reverse ptl)
  21.   )
  22.   (setvar "dimzin" 0)
  23.   (if (and
  24. (setq ss (ssget)) ;_选择整个零件,自动计算Box左下角点
  25. (setq cs (ssget "P" '((0 . "circle"))))
  26. (progn (vl-cmdf ".select" ss "")
  27.         (setq
  28.    ps (ssget "P"
  29.       '((0 . "LWPOLYLINE") (8 . "XD-Circle-Path"))
  30.       )
  31.         )
  32.         t
  33. )
  34.       )
  35.     (progn
  36.       (if ps
  37. (setq ptl (xdrx_getpropertyvalue (ssname ps 0) "Vertices")
  38.        bp  (xdrx_curve_getstartpoint (ssname ps 0))
  39. )
  40. (progn
  41.    (setq
  42.      pts (xd::list:removedup
  43.     (mapcar
  44.       '(lambda (x) (xdrx_getpropertyvalue x "Center"))
  45.       (xdrx_pickset->ents cs)
  46.     )
  47.   )
  48.      bp (car (xdrx_entity_box ss))
  49.      ptl (getpntspath
  50.     bp
  51.     (vl-remove-if '(lambda (x) (equal bp x 0.001)) pts)
  52.   )
  53.    )
  54.    (xdrx_layer_make "XD-Circle-Path" 1)
  55.    (setq pl (apply 'xdrx_polyline_make ptl))
  56.    (xdrx_setpropertyvalue pl "layer" "XD-Circle-Path")
  57. )
  58.       )
  59.       (if (and (= (xdrx_yesorno "接受路径直接输出" "Y") 1)
  60.         (or $globleFilenum (setq $globleFilenum 1))
  61.         (setq
  62.    fn (strcat "XD-"
  63.        (XD::String:Strpad $globleFilenum 4 "0" 0)
  64.       )
  65.         )
  66.         (setq dir (car (xdrx_system_selectfiles
  67.     "选择保存位置"
  68.     (strcat "c:\\" fn ".nc")
  69.     "nc"
  70.     1
  71.          )
  72.     )
  73.         )
  74.    )
  75. (progn
  76.    (or (numberp $globlespeed) (setq $globlespeed 50))
  77.    (or (numberp $globlehight) (setq $globlehight 5))
  78.    (if (and (setq i (getint (strcat "\n切削速度[0-200]<"
  79.         (itoa $globlespeed)
  80.         ">: "
  81.        )
  82.       )
  83.      )
  84.      (< 0 i 201)
  85.        )
  86.      (setq $globlespeed i)
  87.      (setq i $globlespeed)
  88.    )
  89.    (if (and (setq
  90.        ih (getint (strcat "\n安全高度<"
  91.      (if $globlehight
  92.        (itoa $globlehight)
  93.        (itoa (setq $globlehight 5))
  94.      )
  95.      ">: "
  96.     )
  97.    )
  98.      )
  99.      (< 0 ih 51)
  100.        )
  101.      (setq $globlehight ih)
  102.      (setq ih $globlehight)
  103.    )
  104.    (setq header '("G91G28X0Y0Z0"       "G40G17G80G49"
  105.     "G90G54"      "G0z5"      "M00"
  106.     "M03"        "S1500"
  107.    )
  108.   ;;G0X坐标Y坐标Z2       坐标就是框选圆心的坐标,按我的理解,这个应该是离UCS最近那个。
  109.   ;;G01Z-2F50          这里的50就是用户输入的切削速度了。哦,最大值不能超过200,要不然机器就麻烦了。
  110.   ;;G0Z5               这个5也是用户输入的,这是安全高度。最大值50,太高了机器行程不够。
  111.   ptl    (apply
  112.     'append
  113.     (mapcar
  114.       '(lambda (x)
  115.          (list (strcat "G0X"
  116.          (rtos (car x) 2 3)
  117.          "Y"
  118.          (rtos (cadr x) 2 3)
  119.         )
  120.         (strcat "G01Z-2F" (itoa i))
  121.         (strcat "G0Z" (itoa ih))
  122.          )
  123.        )
  124.       (mapcar '(lambda (a) (mapcar '- a bp)) (cdr ptl))
  125.     )
  126.          )
  127.   lst    (append header ptl '("M30"))
  128.    )
  129.    (xd::list:tofile dir lst)
  130.    (setq $globleFilenum (1+ $globleFilenum))
  131.    (princ
  132.      (strcat "\n写出 " dir " 文件, Ok")
  133.    )
  134. )
  135.       )
  136.     )
  137.   )
  138.   (princ)
  139. )

点评

这个能处理很复杂的模板了。马上试机。我看看重点过滤功能应该OK  详情 回复 发表于 2013-10-24 21:49
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2013-10-24 21:46:07 | 显示全部楼层
st788796 发表于 2013-10-24 21:23
加个消除重点函数即可, 看44楼

大师,我{:soso_e110:}真的不会加函数。。{:soso_e154:}。    下面这段程序是Lispboy大师写的,这段程序是用的WCS坐标,实际应用中就要把每个模板移动到WCS原点才行。程序直接出文件,没有选项,也没有路径线。这个就有重点过滤。希望能两者结合一下吧,大师,就拜托你了。
  1. (defun c:nc ()
  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. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2013-10-24 21:49:14 | 显示全部楼层
st788796 发表于 2013-10-24 21:36
注意红线的基点不要动

这个能处理很复杂的模板了。马上试机。我看看重点过滤功能应该OK
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-10-24 21:50:54 | 显示全部楼层
ghoust 发表于 2013-10-24 21:49
这个能处理很复杂的模板了。马上试机。我看看重点过滤功能应该OK

过滤重复点已经加上了

点评

大师你太快了。比我还快。稍等就有结果了。。。。。  详情 回复 发表于 2013-10-24 22:04
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2013-10-24 22:04:08 | 显示全部楼层
st788796 发表于 2013-10-24 21:50
过滤重复点已经加上了

大师你太快了。比我还快。稍等就有结果了。。。。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 08:44 , Processed in 0.467063 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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