zilong136 发表于 2024-5-8 02:40:56

如何批量导圆角?


[*]如何修改下列这串代码?要求先输入半径再选择对象。
[*](defun c:f2 ()
[*](prompt "\n f2:圆角")
[*](vl-cmdf "fillet" "u" (ssget)"r""" )
[*](princ)
[*])

自贡黄明儒 发表于 2024-5-8 07:39:41

(SETVAR "FILLETRAD" B)

359321852 发表于 2024-5-8 08:54:51

(defun c:f2 ()
(prompt "\n f2:圆角")
;; 提示用户输入圆角半径
(setq radius (getreal "\n请输入圆角半径: "))

;; 验证用户输入的半径
(if (and radius (> radius 0))
    (progn
      ;; 设置圆角半径
      (vl-cmdf "fillet" "r" radius)
      ;; 选择要进行圆角的对象
      (setq ss (ssget))
      ;; 如果选择集非空,则进行圆角操作
      (if ss
      (vl-cmdf "fillet" "p" ss)
      (prompt "\n没有选择对象。")
      )
    )
    (prompt "\n无效的圆角半径。")
)
(princ)
)

hr1545 发表于 2024-5-8 09:10:20

ㄘ丶转裑ㄧ灬 发表于 2024-5-8 09:28:12

最简单的:lol
(defun c:ft ()
(setvar "CMDECHO" 1)
(command "FILLET" "r" pause)
(command "FILLET" "p" pause )
(setvar "CMDECHO" 0)
(princ)
)

zilong136 发表于 2024-5-8 14:08:15

本帖最后由 zilong136 于 2024-5-8 14:17 编辑

ㄘ丶转裑ㄧ灬 发表于 2024-5-8 09:28
最简单的
(defun c:ft ()
(setvar "CMDECHO" 1)

2024CAD要把“P”换成“U”就可以了,我搞不懂,为什么搞一排就不行,分两次就可以。

zilong136 发表于 2024-5-8 14:14:02

359321852 发表于 2024-5-8 08:54


输入半径后,直接选择对象就行了,为什么还要去搞一次验证?

zilong136 发表于 2024-5-8 14:16:29

自贡黄明儒 发表于 2024-5-8 07:39
(SETVAR "FILLETRAD" B)

2024CAD参数错误。

zilong136 发表于 2024-5-8 15:52:09

zilong136 发表于 2024-5-8 14:16
2024CAD参数错误。

还是不行。

jun470 发表于 2024-5-9 10:27:05

zilong136 发表于 2024-5-8 15:52
还是不行。

2024可以啊
(SETVAR "FILLETRAD" 14)
下次倒角默认就是14 了
你可能是数据类型错了
页: [1] 2
查看完整版本: 如何批量导圆角?