明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 11239|回复: 23

[原创](更新v1.3版) 随心所欲,向undo说不---> 动态框选倒角

  [复制链接]
发表于 2007-8-2 04:29:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2007-8-5 5:30:29 编辑

软件升级到1.3版
v1.3 消除半径过大及无法倒角引起中断退出。
v1.2 支持单选亮显.支持设置倒角半径.支持回退(undo)
v1.1 消除一些bug,支持连续操作(相当于fillet的m选项)

2楼程序已更新

{引子}

画图的都知道,在进行fillet倒角的时候,常常遇到如下问题:

.选错物体(通常是第二个),麻烦,要undo回去,重新操作,费时费工,影响心情。

现在好了让我们一起向undo说“不”。

;|

 xxdf (动态框选倒角)
 

                                                                       ----by lxx.2007.8
功能: 动态对曲线倒角,支持 line,arc,ellipse,spline,*polyline
      特点: 1.智能选线.可框选多个,自动找最靠近的曲线进行倒角.
               2.动态.框选时随鼠标移动,实时动态显示倒角结果,可以放弃操作,但绝对不会倒错.
                 杜绝因错误倒角导致返工.
      倒角半径由"filletrad" 系统变量决定.也可先输入fillet命令,选r,调整半径.
返回: nil.倒角过程中命令行无不爽的重复提示.

版本

v1.3 消除半径过大及无法倒角引起中断退出。
v1.2 支持单选亮显.支持设置倒角半径.支持回退(undo)
v1.1 消除一些bug,支持连续操作(相当于fillet的m选项)
版本: v1.0

|;

补充说明:实时显示,想画错都难!

因实时显示结果,合适就点鼠标左键确定,或都没有合适的,可以回车退出or在不影响原图的变换位置点左键,hehe,想画错都难啊!!
同时,程序保留了分别点取2个曲线的功能,即如果第一点点在曲线上,下一个提问不是问框选的另一点,而是问选第二条曲线,不过,这个就没有实时显示功能了。
拟下一版本可中途响应修改倒角半径的要求,并可连续操作。


感兴趣的可到下面链接或2楼下载: 

http://dreamskylxx.ys168.com/

 

本帖子中包含更多资源

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

x

评分

参与人数 1威望 +1 明经币 +2 金钱 +20 贡献 +5 激情 +5 收起 理由
mccad + 1 + 2 + 20 + 5 + 5 【精华】好程序

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2016-10-7 12:21:15 | 显示全部楼层

你这个可以加个重复使用吗?没有退出命令之前可以一直倒,而不是倒一次就退出了
发表于 2023-11-3 16:43:10 | 显示全部楼层
谢谢楼上的分享
发表于 2016-9-21 21:29:58 | 显示全部楼层
没看懂,先收藏。
 楼主| 发表于 2007-8-2 04:49:00 | 显示全部楼层
本帖最后由 作者 于 2007-8-5 5:29:24 编辑

本论坛的下载地址:

版本更新v1.3

本帖子中包含更多资源

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

x
发表于 2007-8-2 08:35:00 | 显示全部楼层
效果很棒!
发表于 2007-8-2 08:39:00 | 显示全部楼层
以框选的两个角点和该点附近的对象,构成双元表进行倒角操作;
若在拖动中对象改变,则撤销上一步操作,对新的对象进行倒角;
直至退出!
发表于 2007-8-2 09:15:00 | 显示全部楼层
有创意
发表于 2007-8-2 09:34:00 | 显示全部楼层

;;;=========================================
;;功能:圆角 使用getpoint模拟框选
;;日期:zml84 于 2007-08-01 22:00
(defun C:FF (/ TEST PT1 PT2 A B)
    ;;选择对象1
    (setq TEST t)
    (while TEST
    (if (setq PT1 (getpoint "\n选择对象:"))
        (if    (and
            (setq PT2 (getcorner PT1 " >>>第二点:"))
            (setq SS (ssget "c" PT1 PT2))
        )
        (progn
            (setq A    (list (ssname SS 0) PT1)
              TEST NIL
            )
            (if    (>= (sslength SS) 2)
            (setq B (list (ssname SS 1) PT2))
            )
        )
        )
        (setq TEST NIL)
    )
    )
    ;;选择对象2
    (setq TEST t)
    (if    (and A (= B NIL))
    (while TEST
        (if    (setq PT1 (getpoint "\n选择对象:"))
        (if (and
            (setq PT2 (getcorner PT1 " >>>第二点:"))
            (setq SS (ssget "c" PT1 PT2))
            )
            (setq B    (list (ssname SS 0) PT1)
              TEST NIL
            )
        )
        (setq TEST NIL)
        )
    )
    )
    ;;圆角操作
    (if    (and A B)
    (command "_.fillet" A B)
    )
    (princ)
) ;_结束 defun
;;;=========================================
发表于 2007-8-3 09:33:00 | 显示全部楼层
很好的创意!
发表于 2007-8-4 00:54:00 | 显示全部楼层
好用!
 楼主| 发表于 2007-8-5 05:32:00 | 显示全部楼层

软件升级到1.3版
v1.3 消除半径过大及无法倒角引起中断退出。
v1.2 支持单选亮显.支持设置倒角半径.支持回退(undo)
v1.1 消除一些bug,支持连续操作(相当于fillet的m选项)

到2楼下载新程序

发表于 2007-8-5 13:12:00 | 显示全部楼层

请问:

在lisp中,调用command执行fillet,经常会出现倒角发生错误的情况。

而前台鼠标选择不会错误(autocad2004)

这种情况是怎么改进的?

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

本版积分规则

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

GMT+8, 2024-11-17 11:01 , Processed in 0.214606 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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