找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: ghoust

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

[复制链接]
 楼主| 发表于 2013-10-24 10:52:00 | 显示全部楼层
q3_2006 发表于 2013-10-24 09:22
这算不算有问题。。。不知道程序的用处

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

使用道具 举报

 楼主| 发表于 2013-10-24 10:55:09 | 显示全部楼层
q3_2006 发表于 2013-10-24 09:47
你的手动修改指什么,代码吗?不是可以修改吗??

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

使用道具 举报

 楼主| 发表于 2013-10-24 10:55:56 | 显示全部楼层
st788796 发表于 2013-10-24 10:46
这就简单了, 一会儿把完整的贴上

{:soso_e181:}谢谢。出来了我让机器运行一上,发视频上来。让大家看看。

点评

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-10-24 12:49:19 | 显示全部楼层
ghoust 发表于 2013-10-24 10:55
谢谢。出来了我让机器运行一上,发视频上来。让大家看看。

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

点评

是不是我那里设置不对?还有函数不够啊,我运行就提示这个:[attachimg]6042[/attachimg]  详情 回复 发表于 2013-10-24 14:11
大师,能不能把用到的函数一起贴出来一下啊?拜托了。谢谢。现在就等着试机呢。  详情 回复 发表于 2013-10-24 13:56
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2013-10-24 13:56:09 | 显示全部楼层

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

使用道具 举报

 楼主| 发表于 2013-10-24 14:11:06 | 显示全部楼层

是不是我那里设置不对?还有函数不够啊,我运行就提示这个: QQ图片20131024135817.jpg

点评

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-10-24 14:23:50 | 显示全部楼层
本帖最后由 st788796 于 2013-10-24 14:28 编辑
ghoust 发表于 2013-10-24 14:11
是不是我那里设置不对?还有函数不够啊,我运行就提示这个:

你用的什么 CAD 版本

需要加载 1023 XDAPI 和 xd-lisp-lib.vlx

点评

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

使用道具 举报

 楼主| 发表于 2013-10-24 15:09:25 | 显示全部楼层
本帖最后由 ghoust 于 2013-10-24 15:17 编辑
st788796 发表于 2013-10-24 14:23
你用的什么 CAD 版本

需要加载 1023 XDAPI 和 xd-lisp-lib.vlx

我用的2008版的。加载的时候不分先后顺序吧?我试了几次,有时候可以,有时候不可以,还没弄懂为什么呢。
如果我把要加载的那两个文件改名了,还行不行呢? 我加载的两个是:XDRX_API.R17.X32.arx 和xd-lisp-lib.VLX 是这两个吗?谢谢。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2013-10-24 15:26:53 | 显示全部楼层
命令: tt
选择对象: 指定对角点: 找到 4 个

选择对象:  .select
选择对象:   找到 4 个

选择对象:
命令: ; 错误: 参数类型错误: 二维/三维点: nil

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

使用道具 举报

发表于 2013-10-24 15:46:28 来自手机 | 显示全部楼层
本帖最后由 Free-Lancer 于 2013-10-24 15:47 编辑

要把整个零件包括外框都选上,不然坐标就不对了,不要在 UCS 下用
选目录用了ET,可以用API的函数

点评

请大师指点一下:  全部选上没问题。 不要在UCS下用是什么意思啊?           选 目录用了ET,可以用API的函数又是什么意思啊?  详情 回复 发表于 2013-10-24 15:50
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2013-10-24 15:50:33 | 显示全部楼层
Free-Lancer 发表于 2013-10-24 15:46
要把整个零件包括外框都选上,不然坐标就不对了,不要在 UCS 下用
选目录用了ET,可以用API的函数

请大师指点一下:  全部选上没问题。 不要在UCS下用是什么意思啊?
          选 目录用了ET,可以用API的函数又是什么意思啊?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2013-10-24 16:06:32 | 显示全部楼层
我换了台电脑,且重新了CAD2006。在很纯净的环境下加载使用后出现这样的问题:

命令:
命令: tt
选择对象: 指定对角点: 找到 3 个

选择对象:  .select
选择对象:   找到 3 个

选择对象:
命令: 接受路径直接输出?[是(Y)/否(N)]<Y>:  ; 错误: no function definition:
ACET-UI-PICKDIR
求大师指点啊,,就看要成功了呢。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2013-10-24 16:10:02 | 显示全部楼层
我下载 XDRX_API.R2007.rar  也按相应的版本下载的,也是相应的版本加载的。还是不行

点评

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-10-24 17:36:11 | 显示全部楼层
本帖最后由 st788796 于 2013-10-24 21:24 编辑
ghoust 发表于 2013-10-24 16:10
我下载 XDRX_API.R2007.rar  也按相应的版本下载的,也是相应的版本加载的。还是不行

再试试这个
  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. (progn
  39.    (setq
  40.      pts (xd::list:removedup
  41.     (mapcar
  42.       '(lambda (x) (xdrx_getpropertyvalue x "Center"))
  43.       (xdrx_pickset->ents cs)
  44.     )
  45.   )
  46.      bp (car (xdrx_entity_box ss))
  47.      ptl (getpntspath
  48.     bp
  49.     (vl-remove-if '(lambda (x) (equal bp x 0.001)) pts)
  50.   )
  51.    )
  52.    (xdrx_layer_make "XD-Circle-Path" 1)
  53.    (setq pl (apply 'xdrx_polyline_make ptl))
  54.    (xdrx_setpropertyvalue pl "layer" "XD-Circle-Path")
  55. )
  56.       )
  57.       (if (and (= (xdrx_yesorno "接受路径直接输出" "Y") 1)
  58.         (or $globleFilenum (setq $globleFilenum 1))
  59.         (setq
  60.    fn (strcat "XD-"
  61.        (XD::String:Strpad $globleFilenum 4 "0" 0)
  62.       )
  63.         )
  64.         (setq dir (car (xdrx_system_selectfiles
  65.     "选择保存位置"
  66.     (strcat "c:\\" fn ".nc")
  67.     "nc"
  68.     1
  69.          )
  70.     )
  71.         )
  72.    )
  73. (progn
  74.    (or $globlespeed (setq $globlespeed 50))
  75.    (or $globlehight (setq $globlehight 5))
  76.    (if (and (setq i (getint (strcat "\n切削速度[0-200]<"
  77.         (itoa $globlespeed)
  78.         ">: "
  79.        )
  80.       )
  81.      )
  82.      (< 0 i 201)
  83.        )
  84.      (setq $globlespeed i)
  85.      (setq i $globlespeed)
  86.    )
  87.    (if (and (setq
  88.        ih (getint (strcat "\n安全高度<"
  89.      (if $globlehight
  90.        (itoa $globlehight)
  91.        (itoa (setq $globlehight 5))
  92.      )
  93.      ">: "
  94.     )
  95.    )
  96.      )
  97.      (< 0 ih 51)
  98.        )
  99.      (setq $globlehight ih)
  100.      (setq ih $globlehight)
  101.    )
  102.    (setq header '("G91G28X0Y0Z0"       "G40G17G80G49"
  103.     "G90G54"      "G0z5"      "M00"
  104.     "M03"        "S1500"
  105.    )
  106.   ;;G0X坐标Y坐标Z2       坐标就是框选圆心的坐标,按我的理解,这个应该是离UCS最近那个。
  107.   ;;G01Z-2F50          这里的50就是用户输入的切削速度了。哦,最大值不能超过200,要不然机器就麻烦了。
  108.   ;;G0Z5               这个5也是用户输入的,这是安全高度。最大值50,太高了机器行程不够。
  109.   ptl    (apply
  110.     'append
  111.     (mapcar
  112.       '(lambda (x)
  113.          (list (strcat "G0X"
  114.          (rtos (car x) 2 3)
  115.          "Y"
  116.          (rtos (cadr x) 2 3)
  117.         )
  118.         (strcat "G01Z-2F" (itoa i))
  119.         (strcat "G0Z" (itoa ih))
  120.          )
  121.        )
  122.       (mapcar '(lambda (x) (mapcar '- x bp)) (cdr ptl))
  123.     )
  124.          )
  125.   lst    (append header ptl '("M30"))
  126.    )
  127.    (xd::list:tofile dir lst)
  128.    (setq $globleFilenum (1+ $globleFilenum))
  129.    (princ
  130.      (strcat "\n写出 " dir " 文件, Ok")
  131.    )
  132. )
  133.       )
  134.     )
  135.   )
  136.   (princ)
  137. )


点评

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

使用道具 举报

 楼主| 发表于 2013-10-24 17:58:01 | 显示全部楼层
本帖最后由 ghoust 于 2013-10-24 18:02 编辑

这个全部提示OK。但就是没有文件出来呢?
试验了几次,原来所有的文件全部在C盘根目录里,不管保存时目录选择在那里,都保存在C盘根目录里。还请大师修改一下呢。哦,还有,保存的文件没有后缀。 那个文件名递增非常好。这样不会重名。{:soso_e179:} QQ图片20131024175534.jpg
真的很感谢你。

点评

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 07:21 , Processed in 0.226178 second(s), 66 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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