找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1243|回复: 13

[求助] 请版主帮我看一下这个程式什么问题

[复制链接]

已领礼包: 6468个

财富等级: 富甲天下

发表于 2013-5-15 16:29:04 | 显示全部楼层 |阅读模式

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

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

×
在AUTOCAD2004下运行正常,但是在AUTOCAD2008下运行,程式出错,不知道是什么问题,版主帮忙看一下。
以下是在CAD2008下运行时出现的错误指示:
请回答“是”或“否”。
ERROR ==> 函数被取消
请回答“是”或“否”。
; 错误: *error* 函数中出错函数被取消
是否将其转换为多段线? <Y>
  1. (defun C:tt()
  2.   (vl-load-com)
  3.   (setq ent (car (entsel "\n选择一个物体:")))
  4.   (setq pt (xd_GetObjectBoundingBox ent))
  5.   (setq pt1 (car pt))
  6.   (setq pt2 (cadr pt))
  7.   (command ".fillet" "R" 3 ".fillet" "P" "L")
  8.   (command ".trim" "L" "" (polar pt2 (* pi 1.25) 1.2426) "")
  9.   (command ".line" (polar pt2 pi 3) (polar pt2 (* pi 1.5) 3) "")
  10.   (command ".pedit" (entlast) "J" "L" "" "")
  11.   (princ)
  12. )
  13. (defun xd_GetObjectBoundingBox (ename / ll ur)
  14.   (vla-GetBoundingBox (vlax-ename->vla-object ename) 'll 'ur)
  15.   (list
  16.     (vlax-safearray->list ll)
  17.     (vlax-safearray->list ur)
  18.   )
  19. )


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

已领礼包: 344个

财富等级: 日进斗金

发表于 2013-5-15 16:41:37 | 显示全部楼层
(command ".pedit" (entlast) "J" "L" "" "")
==》
(command ".pedit" (entlast) "y" "J" "L" "" "")

点评

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

使用道具 举报

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

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

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

使用道具 举报

已领礼包: 6468个

财富等级: 富甲天下

 楼主| 发表于 2013-5-15 17:14:54 | 显示全部楼层
谢谢各位大哥,试了还是不行,串不起来,错误指示如下:
窗口说明无效。
ERROR ==> 函数被取消
窗口说明无效。
; 错误: *error* 函数中出错函数被取消
指定对角点: 指定对角点:
窗交窗口中未包括任何对象。
选择要修剪的对象,或按住 Shift 键选择要延伸的对象,或
[栏选(F)/窗交(C)/投影(P)/边(E)/删除(R)/放弃(U)]:  *取消*
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2013-5-15 17:29:12 | 显示全部楼层
(command ".pedit" (entlast) "J" "L" "" "")

----》

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

使用道具 举报

已领礼包: 6468个

财富等级: 富甲天下

 楼主| 发表于 2013-5-15 20:45:21 | 显示全部楼层
2004、2005、2012、2013测试均OK,2007、2008不行,其他版本没有安装。由此推断,应该2010,2011可以,2007、2008、2009这三个版本都不行。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

发表于 2013-5-15 21:05:12 | 显示全部楼层
  1. (defun C:tt ()
  2.   (vl-load-com)
  3.   (setq ent (car (entsel "\n选择一个物体:")))
  4.   (setq pt (xd_GetObjectBoundingBox ent))
  5.   (setq pt1 (car pt))
  6.   (setq pt2 (cadr pt))
  7.   (command ".fillet" "R" 3 ".fillet" "P" "L")
  8.   (command ".trim" "L" "" (polar pt2 (* pi 1.25) 1.2426) "")
  9.   (command ".line"
  10.            (polar pt2 pi 3)
  11.            (polar pt2 (* pi 1.5) 3)
  12.            ""
  13.   )
  14.   (command ".pedit"  ent "J" (entlast) "" "")
  15.   (princ)
  16. )

点评

呼叫G版,再帮我看看10楼的程式,非常感谢!  发表于 2013-5-16 20:33
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6468个

财富等级: 富甲天下

 楼主| 发表于 2013-5-15 21:46:49 | 显示全部楼层
本帖最后由 sicky111 于 2013-5-15 21:48 编辑


谢谢G版,我自己也改了一下,但是没G版专业,比G版的程式要多两行,还需要努力学习才行啊。
  1. (defun C:tt()
  2.   (vl-load-com)
  3.   (setvar "PEDITACCEPT" 1)
  4.   (setvar "CMDECHO" 0)
  5.   (setq ent (car (entsel "\n选择一个物体:")))
  6.   (setq pt (xd_GetObjectBoundingBox ent))
  7.   (setq pt1 (car pt))
  8.   (setq pt2 (cadr pt))
  9.   (command ".fillet" "R" 3 ".fillet" "P" "L")
  10.   (command ".trim" "L" "" (polar pt2 (* pi 1.25) 1.2426) "")
  11.   (setq s1 (entlast))
  12.   (command ".line" (polar pt2 pi 3) (polar pt2 (* pi 1.5) 3) "")
  13.   (setq s2 (entlast))
  14.   (command ".pedit" s2 "j" s1 s2 "" "")
  15.   (princ)
  16. )

点评

一个好的程序,在程序开始时要关闭捕捉,结束时要恢复系统变量!还要加上错误处理机制!  发表于 2013-5-15 21:54
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6468个

财富等级: 富甲天下

 楼主| 发表于 2013-5-15 22:35:21 | 显示全部楼层
烦请G版再帮我诊断一下,这个程式为什么修剪还是会出问题。
  1. (defun c:tt ()
  2.   (vl-load-com)
  3.   (setq osm (getvar "osmode"))
  4.   (setvar "osmode" 0)
  5.   (setvar "CMDECHO" 0)
  6.   (setq ent (car (entsel "\n选择一个物体:")))
  7.   (tt_main)
  8.   (command ".rectang" "none" pt1 "none" pt2)
  9.   (setq obj (vlax-ename->vla-object (entlast)))
  10.   (vla-offset obj 5)
  11.   (vla-delete obj)
  12.   (setq ent (entlast))
  13.   (tt_main)
  14.   (setq pt3 (polar pt1 0 a)
  15.         pt4 (polar pt2 pi a)
  16.   )
  17.   (command ".fillet" "R" 3 ".fillet" "P" "L")
  18.   (command ".trim" "L" "" (polar pt2 (* pi 1.25) 1.2426) "")
  19.   (command ".line" (polar pt2 pi 3) (polar pt2 (* pi 1.5) 3) "")
  20.   (command ".pedit"  ent "J" (entlast) "" "")
  21.   (setvar "osmode" osm)
  22.   (setvar "CMDECHO" 1)
  23.   (princ)
  24. )


  25. (defun xd_GetObjectBoundingBox (ename / ll ur)
  26.   (vla-GetBoundingBox (vlax-ename->vla-object ename) 'll 'ur)
  27.   (list
  28.     (vlax-safearray->list ll)
  29.     (vlax-safearray->list ur)
  30.   )
  31. )

  32. (defun tt_main ()
  33.   (setq pt (xd_GetObjectBoundingBox ent)
  34.         pt1 (car pt)
  35.         pt2 (cadr pt)
  36.         mpt (mapcar '(lambda (a b) (/ (+ a b) 2)) pt1 pt2)
  37.         a (fix (abs (- (car pt1) (car pt2))))
  38.         b (fix (abs (- (cadr pt1) (cadr pt2))))
  39.         pt1 (polar (polar mpt pi (* a 0.5)) (* pi 1.5) (* b 0.5))
  40.         pt2 (polar (polar mpt 0 (* a 0.5)) (* pi 0.5) (* b 0.5))
  41.   )
  42. )

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

使用道具 举报

已领礼包: 6468个

财富等级: 富甲天下

 楼主| 发表于 2013-5-16 10:56:51 | 显示全部楼层
请G版和各路高手帮忙看看,指点一下,谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-16 22:32 , Processed in 0.207178 second(s), 54 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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