请求封闭多义线修改R角
工艺需求大量旧图要从R6.0 改为R6.5 请求帮助命令: f FILLET
当前设置: 模式 = 修剪,半径 = 0.00
选择第一个对象或 [放弃(U)/多段线(P)/半径(R)/修剪(T)/多个(M)]: R
指定圆角半径 <0.00>: 3
选择第一个对象或 [放弃(U)/多段线(P)/半径(R)/修剪(T)/多个(M)]: P
选择二维多段线:
4 条直线已被圆角 多段线改R角是可以实现的.但是需要从R角转换成凸度.
关于凸度的转换可以贴一段代码. 仅供参考.;半径表转换为凸度表.
;|
d/2 r
(cx-tan(* 0.5(cx-Asin(/ 104.24 147.42))))
|;
(defun cx-Radius->Bul(Pts_lst Radius_lst / n)
(setq Pts_lst(append Pts_lst (list(car Pts_lst))))
(setq n -1)
(mapcar
'(lambda(x)
(setq n(1+ n))
(if(= x 0)
0
(progn
(setq D (* 0.5(distance (nth n Pts_lst)(nth (1+ n)Pts_lst))))
(cond
;小于0且 半径大于距离
((and(< x 0)(<= D (abs x)))
(* -1
(cx-tan
(* 0.5
(cx-Asin
(/
D
(abs x)
)
)
)
)
)
)
;大于0且 半径大于距离
((<= D x)
(cx-tan
(* 0.5
(cx-Asin
(/
D
x)
)
)
)
)
(t
(progn
(prompt (strcat "\n错误:两点之间的距离D:<"(rtos D) ">大于直径<" (rtos x)">.请核查!\n\n"))
0
)
)
)
)
)
)
Radius_lst
)
) 我手工操作时 有些R角转不过来的 能否用先炸开多义线 删除为R6的 再倒R6.5 做成封闭多义线?? 顶贴求助 ;新圆角 明经 ZZXXQQ 2015.9.2
(defun c:tt ()
(setvar "CMDECHO" 0)
(setq r (getdist "\n新圆角半径: "))
(if (setq ss (ssget '((0 . "LWPOLYLINE"))))
(repeat (setq i (sslength ss))
(setq en (ssname ss (setq i (1- i))))
(command "_.FILLET" "R" 0 "P" en "_FILLET" "R" r "P" "L")
)
)
(setvar "CMDECHO" 1)
(princ)
)
谢谢 试了没成功 嗯 看看 很感谢你们 楼主用的什么CAD版本 08 CAD版本
页:
[1]
2