明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1307|回复: 7

[求助]倒角的问题

[复制链接]
发表于 2007-2-9 02:12 | 显示全部楼层 |阅读模式
哎,新手上路真难~~错,错,错。。。。不知道怎么了
(defun c:f ()
  (setq ss (ssget))
  (while (setq s2 (cadr ss))
    (setq s1 (car ss))
    (setq ss (cdr ss))
    (COMMAND "fillet" "r" "0" "fillet" s1 s2)
  )
  (princ)
)
(defun c:f ()
  (setq ss (ssget))
  (setq len (sslength ss))
  (setq I 0)
  (while (< (1+ I) len)
    (setq ent1 (ssname I ss))
    (setq ent2 (ssname (1+ I) ss))
    (setq I (1+ I))
    (COMMAND "fillet" "r" "0" "fillet" ent1 ent2)
  )
  (princ)
)

发表于 2007-2-9 08:26 | 显示全部楼层

双元表你听说过吗?如果没有,建议先看看帮助或书或在论坛上搜索相关的信息。

新手就是容易在这上面出问题。

 楼主| 发表于 2007-2-10 08:49 | 显示全部楼层
请问必须用双元表来响应一些编辑命令的选择对象的提示吗
如果用ssget来选择对象再去响应
是不是很复杂啊
发表于 2007-2-10 09:40 | 显示全部楼层

有些命令在选择对象时与选择的位置有关,不同的位置会有不同的执行效果。这样的命令,就必须使用双元表,不然程序就会有问题。

 楼主| 发表于 2007-2-10 12:06 | 显示全部楼层
看来要用entsel了,谢谢老大
发表于 2007-2-10 15:21 | 显示全部楼层

先找出錯的地方吧 

(setq ent1 (ssname I ss))
    (setq ent2 (ssname (1+ I) ss))
->

 (setq ent1 (ssname ss I))
    (setq ent2 (ssname ss (1+ I)))

 楼主| 发表于 2007-2-10 16:37 | 显示全部楼层
哈哈~~成了,注意,如果第1边与末尾边也要倒角得最后再次选第一边
(defun c:f ( / en1 en2 rad s1 s2 ss)
  (setvar "cmdecho" 0)
  (setq rad (getreal "\n指定倒圆角半径R:< 0 > "))
  (if (null rad)
    (setq rad 0)
  )
  (setq en1 (entsel "依次点选倒角边"))
  (setq ss (list en1))
  (while (setq en2 (entsel))
    (setq ss (cons en2 ss))
  )
  (while (setq s2 (cadr ss))
    (setq s1 (car ss))
    (setq ss (cdr ss))
    (COMMAND "fillet" "r" rad "fillet" s1 s2)
  )
  (princ)
)

 楼主| 发表于 2007-2-11 02:36 | 显示全部楼层
(defun c:f (/ en1 en2 rad s1 s2 ss)
  (setvar "cmdecho" 0)
  (setq rad (getreal "\n指定倒圆角半径R:< 0 > "))
  (if (null rad)
    (setq rad 0)
  )
  (if (setq en1 (entsel "依次选取倒角边...<"))
    (progn
      (redraw (car en1) 3)
      (setq ss (list en1))
      (while (setq en2 (entsel))
        (redraw (car en2) 3)
        (setq ss (cons en2 ss))
      )
      (if (null en2)
        (redraw (car en1) 4)
      )
      (while (setq s2 (cadr ss))
        (setq s1 (car ss))
        (setq ss (cdr ss))
        (COMMAND "fillet" "r" rad "fillet" s1 s2)
      )
    )
  )
  (princ)
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-21 12:32 , Processed in 0.253746 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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