明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1223|回复: 10

[提问] 请求封闭多义线修改R角

[复制链接]
发表于 2015-8-31 04:59 | 显示全部楼层 |阅读模式
  工艺需求大量旧图要从R6.0 改为R6.5 请求帮助 

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2015-8-31 09:26 | 显示全部楼层
命令: f FILLET
当前设置: 模式 = 修剪,半径 = 0.00
选择第一个对象或 [放弃(U)/多段线(P)/半径(R)/修剪(T)/多个(M)]: R
指定圆角半径 <0.00>: 3
选择第一个对象或 [放弃(U)/多段线(P)/半径(R)/修剪(T)/多个(M)]: P
选择二维多段线:
4 条直线已被圆角

点评

正解,高版本都有这功能。  发表于 2015-8-31 12:53
发表于 2015-8-31 14:09 | 显示全部楼层
多段线改R角是可以实现的.但是需要从R角转换成凸度.
关于凸度的转换可以贴一段代码. 仅供参考.
  1. ;半径表转换为凸度表.
  2. ;|
  3. d/2    r
  4. (cx-tan(* 0.5(cx-Asin(/ 104.24 147.42))))
  5. |;
  6. (defun cx-Radius->Bul(Pts_lst Radius_lst / n)
  7.         (setq Pts_lst(append Pts_lst (list(car Pts_lst))))
  8.         (setq n -1)
  9.         (mapcar
  10.                 '(lambda(x)
  11.                         (setq n(1+ n))
  12.                         (if(= x 0)
  13.                                 0
  14.                                 (progn
  15.                                         (setq D (* 0.5(distance (nth n Pts_lst)(nth (1+ n)Pts_lst))))
  16.                                         (cond
  17.                                                 ;小于0且 半径大于距离
  18.                                                 ((and(< x 0)(<= D (abs x)))
  19.                                                   (* -1
  20.                                                                 (cx-tan
  21.                                                                         (* 0.5
  22.                                                                                 (cx-Asin
  23.                                                                                         (/
  24.                                                                                                 D
  25.                                                                                                 (abs x)
  26.                                                                                         )
  27.                                                                                 )
  28.                                                                         )
  29.                                                                 )
  30.                                                         )
  31.                                                 )
  32.                                                 ;大于0且 半径大于距离
  33.                                                 ((<= D x)
  34.                                                         (cx-tan
  35.                                                                 (* 0.5
  36.                                                                         (cx-Asin
  37.                                                                                 (/
  38.                                                                                         D
  39.                                                                                   x)
  40.                                                                         )
  41.                                                                 )
  42.                                                         )
  43.                                                 )
  44.                                                 (t
  45.                                                         (progn
  46.                                                                 (prompt (strcat "\n错误:两点之间的距离D:<"(rtos D) ">大于直径<" (rtos x)">.请核查!\n\n"))
  47.                                                                 0
  48.                                                         )
  49.                                                 )
  50.                                         )
  51.                                 )
  52.                         )
  53.                 )
  54.                 Radius_lst
  55.         )
  56. )
 楼主| 发表于 2015-9-1 04:12 | 显示全部楼层
我手工操作时 有些R角转不过来的 能否用先炸开多义线 删除为R6的 再倒R6.5 做成封闭多义线??

点评

可以先用fillet命令将R设为零去掉原R,再设新R用FILLET倒圆角。  发表于 2015-9-2 08:22
 楼主| 发表于 2015-9-2 06:20 | 显示全部楼层
顶贴求助
发表于 2015-9-2 08:32 | 显示全部楼层
  1. ;新圆角 明经 ZZXXQQ 2015.9.2
  2. (defun c:tt ()
  3. (setvar "CMDECHO" 0)
  4. (setq r (getdist "\n新圆角半径: "))
  5. (if (setq ss (ssget '((0 . "LWPOLYLINE"))))
  6.   (repeat (setq i (sslength ss))
  7.    (setq en (ssname ss (setq i (1- i))))
  8.    (command "_.FILLET" "R" 0 "P" en "_FILLET" "R" r "P" "L")
  9.   )
  10. )
  11. (setvar "CMDECHO" 1)
  12. (princ)
  13. )
 楼主| 发表于 2015-9-2 21:18 | 显示全部楼层
谢谢 试了没成功 

点评

建议上 试了没成功 的样例 作为把脉之用  发表于 2015-9-2 22:48
 楼主| 发表于 2015-9-3 08:05 | 显示全部楼层
嗯 看看 很感谢你们
发表于 2015-9-3 09:35 | 显示全部楼层
楼主用的什么CAD版本
 楼主| 发表于 2015-9-3 14:40 | 显示全部楼层
08   CAD版本
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-26 00:45 , Processed in 0.421675 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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