找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1090|回复: 3

[求助] [求助]:请问如何能知道fillet命令是否成功呢?

[复制链接]
发表于 2002-2-10 02:23:24 | 显示全部楼层 |阅读模式

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

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

×
如想用(command "_.fillet" "t" "n" ent1 ent2)生成圆角,但如果设半径太大就不能生成圆角,那么如何能知道fillet命令是否能生成圆角呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2002-2-10 08:02:47 | 显示全部楼层
我也遇到这个问题,在errno中好象没有此项,我只好以最后产生的物体类型是ARC且filletrad不为0来判断。请教有好办法吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-2-10 10:38:52 | 显示全部楼层
我没碰到过这样的问题,因为:
如果是程序自动创建图形,能否成功,在运行之前就已经确认了,不成功的参数不会被使用。
如果是交互操作,不存在这样的问题...
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-2-10 14:19:23 | 显示全部楼层
試試看用vl-cmdf

执行 AutoCAD 指令
自变量

(vl-cmdf  [arguments] ...)

vl-cmdf 函数与 command 函数相似,但是与 command 函数在演算传递给它的自变量的方法上不同。vl-cmdf 函数在执行 AutoCAD 指令之前,演算全部提供的自变量,如果在演算自变量期间侦测到错误,它不会执行 AutoCAD 指令。相反的,command 函数则依序将每个自变量传递给 AutoCAD,所以可能在侦测到错误之前执行了一部份指令。
如果您的指令呼叫包括呼叫另一个函数的呼叫,当 command 在它开始执行您的指令之后执行呼叫时,vl-cmdf 会在执行您的指令之前执行呼叫。

当一些 AutoCAD 指令利用 command 呼叫会失败,但利用vl-cmdf 呼叫可能会正确运作。vl-cmdf 函数主要克服无法在 command 中使用 getxxx 函数的限制。

自变量

arguments

AutoCAD 指令及其选项。
vl-cmdf 函数的 arguments 自变量,它可以为字符串、实数、整数或点,是依执行指令的提示序列来安排。("") 空字符串等于在键盘按下 ENTER 键。无自变量来激活 vl-cmdf 相当于按下 ESC 键,会取消大部份的 AutoCAD 指令。

传回值

T
请注意,如果您自 Visual LISP 发出vl-cmdf,作用中的窗口并不会变更到 AutoCAD 窗口。如果指令需要使用者输入,您会在「主控台」窗口看到传回值 (T),但是 AutoCAD 会等待输入。您必须自行激活 AutoCAD 窗口并对提示作响应。在您这样作之前,所有指令操作都会失败。

范例

如果您在 AutoCAD「指令」提示下而非在 VLISP「主控台」提示输入列呼叫,你将更容易看到 command 和 vl-cmdf 之间的不同点:

指令:(command "line" (getpoint "point?") '(0 0) "")
指定第一点的线: 点?
指定下一点或 [复原]:

指令:nil

使用 command,LINE 指令会先执行,然后呼叫 getpoint 函数。

指令:(VL-CMDF "line" (getpoint "point?") '(0 0) "")
指定第一点的线: 点?
指定下一点或 [复原]:

指令:T

使用 vl-cmdf,会先呼叫 getpoint 函数(请注意getpoint 的  "point?" 提示),然后才执行LINE 指令。
下列范例显示相同的指令,但是将无效的点串行自变量传递给LINE 指令。请注意结果的不同处:

指令:(command "line" (getpoint "point?") '(0) "")
指定第一点的线: 点?
指定下一点或 [复原]:
指令:ERASE nil
选取对象: 指定对角: *Cancel*

找到 0
command 函数依序传递每个自变量给 AutoCAD,不演算自变量,所以侦测不到无效的点串行。

指令:(VL-CMDF "line" (getpoint "point?") '(0) "")
点?应用程序错误: 无效像素/点串行。

nil

因为 vl-cmdf 在传递指令给 AutoCAD 之前,演算每个自变量,侦测到无效的点串行,且不执行指令。

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 20:18 , Processed in 0.174590 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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