明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2969|回复: 2

如何在CAD2009以上的版本中,LISP调用FILLET命令,使它能多次的重复倒角?

[复制链接]
发表于 2011-9-2 08:44:58 | 显示全部楼层 |阅读模式
LISP代码如下:
(defun c:F () (command "FILLET" "U") (princ))         ;连续倒圆角
该代码在CAD2010下执行时若要先设定圆角半径(如输入“F”→“R”→“5”),则设定完半径后会退出FILLET,无法返回。
但是同样的LISP代码,在CAD2008下执行的话设定圆角半径后能自动返回FILLET命令而不会退出。
倒角“CHAMFER”也有类似的问题。
请问如何让CAD2010执行上面的LISP代码时能像CAD2008那样呢?
虽然这个地址中说了怎么做http://www.autodesk.com.cn/adsk/ ... 359&id=13617862但是我还是愚笨不会了。大侠们能否帮忙看看,给改改了?谢谢。

在使用AutoLISP时可以在命令前使用InitCommandVersion功能来指定哪个版本的AutoLISP命令将被使用。 InitCommandVersion 功能的语法如下:

(InitCommandVersion <version_number>)

其中,<version_number〉控制命令在执行时哪个版本的命令将会被调用。

下面的例子显示了如何调用:

FILFET命令版本1。

(InitCommandVersion 1)
(command “fillet”)

调用FILFET命令版本1将会显示以下的命令提示符:

Current settings: Mode = TRIM, Radius = 0.1000
Select first object or [uNdo/Polyline/Radius/Trim/mUltiple]:

版本2是FILFET命令的第二版(或者说,当前的最新版)相当如在宏命令中使用^R控制符。

调用FILFET命令版本2将会显示以下的命令提示符:

Current settings: Mode = TRIM, Radius = 0.1000
Select first object or [Undo/Polyline/Radius/Trim/Multiple

不知道怎么让LISP程序能调用版本2的FILLET?
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2011-9-2 09:26:23 | 显示全部楼层
(defun c:tt()
  (initcommandversion 2)(command ".fillet" "m")
  (princ)
)
这样就可以了。
发表于 2011-9-3 23:31:21 | 显示全部楼层
太好了,一直没有注意这个命令增强了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-6-11 02:49 , Processed in 0.156504 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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