明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2795|回复: 9

[源码] 批量栏选倒角

[复制链接]
发表于 2020-5-27 10:18:29 | 显示全部楼层 |阅读模式
http://bbs.mjtd.com/thread-108247-1-1.html这是荒野孤行老师的贴子,批量栏选倒角的,但是不是支持PLINE线型,只支持Line线型,有没有老师帮改下支持PLING和LINE线型。还有10个明经币了,全付了。谢谢。
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2020-9-15 17:31:14 | 显示全部楼层
本帖最后由 mahuan1279 于 2020-11-9 14:35 编辑
糖莲子 发表于 2020-9-15 17:12
我也想要这种效果,请问你找到了吗


(defun c:tt()(setvar "osmode" 0)
(defun gx(p1 p2 p3)
  (if (equal (* (- (cadr p2)(cadr p1)) (- (car p3)(car p1))) (* (- (cadr p3)(cadr p1)) (- (car p2)(car p1))) 0.0001)
      t
          nil
   )
)
(setq linelst (ssget '((0 . "LINE,LWPOLYLINE"))))
(setq n (sslength linelst) pts nil i 0)
(setq pt (getpoint "请输入辅助点"))
(while (< i n)
       (setq pts (cons (vlax-curve-getClosestPointTo (vlax-ename->vla-object (ssname linelst i)) pt t) pts))
           (setq i (+ i 1))
)
(setq pe (car pts) lst1 nil lst2 nil)
(foreach ez pts            
            (if (gx pt pe ez)
                    (setq lst1 (cons ez lst1))
                    (setq lst2 (cons ez lst2))
                 )
)
(setq lst1 (vl-sort lst1 '(lambda (pa pb) (< (distance pt pa) (distance pt pb)))))
(setq lst2 (vl-sort lst2 '(lambda (px py) (< (distance pt px) (distance pt py)))))
(setq nmin (min (length lst1) (length lst2)) j 0)
(while (< j nmin)
       (command "FILLET" (nth j lst1)(nth j lst2))
       (setq j (+ j 1))   
)
)

回复 支持 1 反对 0

使用道具 举报

发表于 2020-5-28 07:56:48 | 显示全部楼层
;;;;;;;;;;;;;;;批量倒R角
(defun sk_ffr(en sk_radius)
  (setvar "FILLETRAD" sk_radius)
  (command "_.FILLET" "P" en)
  )
(defun c:ffr(/ sk_radius1 ss en)
  (setq sk_radius (getvar "FILLETRAD"))
  (if (setq sk_radius1
             (getdist (strcat "\n请指定圆角半径<" (rtos sk_radius) ">:"))
      )
    (setq sk_radius sk_radius1)
  )
  (if (setq ss(ssget '((0 . "*polyline"))))
    (progn
      (setq sk_echo1 (getvar "cmdecho"))
      (setvar "cmdecho" 0)
      (while (setq en(ssname ss 0))
        (sk_ffr en sk_radius)
        (setq ss (ssdel en ss))
        )
      (if sk_echo1 (setvar "cmdecho" sk_echo1))
      )
    )
  (princ)
  )
回复 支持 1 反对 0

使用道具 举报

发表于 2020-5-28 10:40:45 | 显示全部楼层
kcm163 发表于 2020-5-28 07:56
;;;;;;;;;;;;;;;批量倒R角
(defun sk_ffr(en sk_radius)
  (setvar "FILLETRAD" sk_radius)

要求是达到这种效果。

本帖子中包含更多资源

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

x
回复 支持 1 反对 0

使用道具 举报

发表于 2020-6-11 16:54:51 | 显示全部楼层

自己去研究吧,只能帮你到这里了。
发表于 2020-6-13 00:15:13 | 显示全部楼层
2楼程序怎么执行完,没反应呢
发表于 2020-9-7 23:55:32 | 显示全部楼层
路过顶一下,,,,
发表于 2020-9-15 17:12:22 | 显示全部楼层
mahuan1279 发表于 2020-5-28 10:40
要求是达到这种效果。

我也想要这种效果,请问你找到了吗
发表于 2023-2-7 09:18:06 | 显示全部楼层
非常不错的代码,谢谢楼主分享锕
发表于 2023-2-20 09:05:17 来自手机 | 显示全部楼层
mahuan1279 发表于 2020-9-15 17:31
(defun c:tt()(setvar "osmode" 0)
(defun gx(p1 p2 p3)
  (if (equal (* (- (cadr p2)(cadr p1)) (- ...

此代码在图形屏幕缩小时,容易出问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 10:23 , Processed in 0.261287 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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