明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: aaacjh

实现框选一次性倒R角

    [复制链接]
发表于 2012-12-21 08:14 | 显示全部楼层
发表于 2016-6-24 16:44 | 显示全部楼层
本帖最后由 皇上快溜 于 2016-6-24 16:50 编辑
Andyhon 发表于 2012-5-18 10:55


Andyhon你好,你这个程序超级迷人。请问,想让下列短程序很你这个程序串接起来使用,该怎么弄?
(defun c:F()(command "FILLET" "R" "(getreal "\n请输入新的半径:")" "FILLET") (PRINC))
(defun c:FF()(command "FILLET" "R" "0" "FILLET") (PRINC))         
(defun c:F1()(command "FILLET" "R" "0.1" "FILLET") (PRINC))         
(defun c:F15()(command "FILLET" "R" "0.15" "FILLET") (PRINC))
(defun c:F2()(command "FILLET" "R" "0.2" "FILLET") (PRINC))         
(defun c:F25()(command "FILLET" "R" "0.25" "FILLET") (PRINC))
。。。。。
。。。。。
短程序赋予倒角R值,然后统一串接到你这个程序上,以实现框选倒角




另外,你这个程序框选倒角之后是是条连成一体的多义线,能不能让它变成炸开的?
发表于 2016-6-28 09:04 | 显示全部楼层

  1. (defun ffr (rad / newrad ss pts i ee)
  2.    ;; (setq newrad (getreal "\n请输入新的半径:"))
  3.    (setvar "FilletRad" rad)
  4.    (setq ss (ssget '(( 0 . "LINE,ARC,LWPOLYLINE"))))

  5.    (setq pts (acet-geom-ss-extents ss nil))     ; ET func
  6.    (SetVar "PeditAccept" 1)
  7.    (command "Pedit" "M" ss "" "J" "" "")
  8.    (setq ss (ssget "C" (car pts) (cadr pts) '(( 0 . "LWPOLYLINE")))
  9.           i  0
  10.    )

  11.    (while (setq ee (ssname ss i))
  12.      (command "Fillet" "P" ee)
  13.      (setq i (1+ i))
  14.    )
  15. )

  16. 以 (defun c:F25()(command "FILLET" "R" "0.25" "FILLET") (PRINC)) 为例

  17. (defun c:F25() (ffr 0.25))

  18. ;;; 单一 LwPolyline 适用
  19. ;;; 炸开
  20. (defun c:F25()(ffr 0.25) (command "explode" (entlast)))

  21. ;;; 多重时函式修订
  22.    (while (setq ee (ssname ss i))
  23.      (command "Fillet" "P" ee)
  24.      (setq i (1+ i))
  25.      (command "explode" (entlast))
  26.    )
发表于 2019-3-24 17:39 | 显示全部楼层
mark回头好好研究
发表于 2019-11-4 14:56 | 显示全部楼层
本帖最后由 ketxu 于 2019-11-4 14:57 编辑

I changed it to not depend on Express function

  1. (defun c:fps (/  ss pts i ee :ST:SS-Boundingbox :ST:SS->List :ST:SS->ListVla LM:ssget os ov)
  2. (setq
  3.         os '(PeditAccept cmdecho)
  4.         ov (mapcar 'getvar os)
  5. )
  6. (mapcar 'setvar os '(1 0))
  7. (defun LM:ssget ( msg arg / sel )
  8.     (princ msg)
  9.     (setvar 'nomutt 1)
  10.     (setq sel (vl-catch-all-apply 'ssget arg))
  11.     (setvar 'nomutt 0)
  12.     (if (not (vl-catch-all-error-p sel)) sel)
  13. )
  14. ;Return list ename from ssget
  15. (defun :ST:SS->List(ss / n e l)
  16.   (setq n (sslength ss))
  17.   (while (setq e (ssname ss (setq n (1- n))))
  18.     (setq l (cons e l))
  19.   )  
  20. )
  21. ;Return list vla Object from s
  22. (defun :ST:SS->ListVla(s)(mapcar 'vlax-ename->vla-object (:ST:SS->List s)))
  23. (defun :ST:SS-Boundingbox ( lst / llp ls1 ls2 urp )
  24.     (foreach obj lst
  25.         (vla-getboundingbox obj 'llp 'urp)
  26.         (setq ls1 (cons (vlax-safearray->list llp) ls1)
  27.               ls2 (cons (vlax-safearray->list urp) ls2)
  28.         )
  29.     )
  30.     (mapcar '(lambda ( a b ) (apply 'mapcar (cons a b))) '(min max) (list ls1 ls2))
  31. )
  32.            (or  *newrad* (setq *newrad* 1))        
  33.    (setq *newrad* (getdist (strcat "\nB\U+00E1n k\U+00EDnh fillet <" (rtos *newrad*) "> :")))
  34.    (setvar "FilletRad" *newrad*)
  35.    ;(setq ss (ssget '(( 0 . "LINE,ARC,LWPOLYLINE"))))
  36.    (setq ss (LM:ssget "Select Line, Arc, Pline to fillet :" (list '(( 0 . "LINE,ARC,LWPOLYLINE")))))

  37.    (setq pts (:ST:SS-Boundingbox (:ST:SS->ListVla ss )))     ; ET func
  38.    
  39.    (command "edit" "M" ss "" "J" "" "")
  40.    (setq ss (ssget "C" (car pts) (cadr pts) '(( 0 . "LWPOLYLINE")))
  41.           i  0
  42.    )
  43.    
  44.    (while (setq ee (ssname ss i))
  45.      (command "Fillet" "" ee)
  46.      (setq i (1+ i))
  47.    )
  48.    (mapcar 'setvar os ov)
  49.    (princ)
  50. )

本帖子中包含更多资源

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

x
回复 支持 2 反对 0

使用道具 举报

发表于 2022-10-17 14:17 | 显示全部楼层
mark一下,备查-------
发表于 2022-10-17 17:53 | 显示全部楼层
ketxu 发表于 2019-11-4 14:56
I changed it to not depend on Express function

这个可以 就是英文的Bán kính fillet <10.0000> :  Select Line, Arc, Pline to fillet :
发表于 2022-11-23 19:19 | 显示全部楼层
保存不了,怎么回来,一保存就乱码
发表于 2023-1-18 11:50 | 显示全部楼层
我也正需要顶一个!
发表于 2023-2-2 09:59 | 显示全部楼层
时隔11年,请问有这种倒内R角的插件吗C:\Users\111\Desktop\QQ截图20230202095828.png

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2024-4-18 21:49 , Processed in 0.332124 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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