找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 4699|回复: 8

[每日一码] 圆转换成多段线

[复制链接]

已领礼包: 2470个

财富等级: 金玉满堂

发表于 2017-4-28 16:44:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
;圆转换成多段线
(defun c:c2p(/ en cen r d d1 pts 2pi)
    (setq en (entget(car(entsel "\n选择个圆:"))))
    (setq e (cdr (assoc 0 en)))
    (setq el (cdr (assoc 8 en)))
    (if (= e "CIRCLE")
     (progn
     (setq    cen (cdr(assoc 10 en)) r (cdr(assoc 40 en)))
   
     (setq pt1 (polar cen 0 r) )
     (setq pt2 (polar cen pi r) )
   
     (entmake
        
          (list '(0 . "LWPOLYLINE")
            '(100 . "AcDbEntity")
            '(100 . "AcDbPolyline")
             (cons 90 3)
            '(62 . 1)
             (cons 8 el)
            '(70 . 128)
            (cons 43 0) (cons 10 pt1)
            '(40 . 0.0) '(41 . 0.0)
             (cons 42 1) (cons 10 pt2)
            '(40 . 0.0) '(41 . 0.0)
            
             (cons 42 1) (cons 10 pt1)
            '(40 . 0.0) '(41 . 0.0)
            
             (cons 42 605807.0)       
            '(210 0.0 0.0 1.0)
            
         )
     
     )
   
    )
    )
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 19个

财富等级: 恭喜发财

发表于 2017-4-28 19:13:48 | 显示全部楼层
感谢分享源码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2017-4-28 19:15:01 | 显示全部楼层
楼主,能改改,圆弧也能转不?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 394个

财富等级: 日进斗金

发表于 2017-4-29 08:18:07 | 显示全部楼层
回的人少,我顶一下
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 25个

财富等级: 恭喜发财

发表于 2017-4-29 11:32:18 | 显示全部楼层
本帖最后由 winerfjy 于 2017-4-29 11:34 编辑

直接搞个包围盒再来个BO就得了最好能可以来个可逆的多线转园把你的程序改了个批量
;圆转换成多段线
(defun c:c2p(/ en cen r d d1 pts 2pi)
(princ "\n选择圆:")
  (setq ss (ssget))
    (setq lst(LM:SS->ENT ss))
    (setq n 0)
  (repeat   (length lst)
    (setq en (entget(nth n lst)))
    (setq e (cdr (assoc 0 en)))
    (setq el (cdr (assoc 8 en)))
    (if (= e "CIRCLE")
     (progn
     (setq    cen (cdr(assoc 10 en)) r (cdr(assoc 40 en)))
     (setq pt1 (polar cen 0 r) )
     (setq pt2 (polar cen pi r) )
     (entmake
          (list '(0 . "LWPOLYLINE")
            '(100 . "AcDbEntity")
            '(100 . "AcDbPolyline")
             (cons 90 3)
            '(62 . 1)
             (cons 8 el)
            '(70 . 128)
            (cons 43 0) (cons 10 pt1)
            '(40 . 0.0) '(41 . 0.0)
             (cons 42 1) (cons 10 pt2)
            '(40 . 0.0) '(41 . 0.0)
             (cons 42 1) (cons 10 pt1)
            '(40 . 0.0) '(41 . 0.0)
             (cons 42 605807.0)        
            '(210 0.0 0.0 1.0) ))))
    (setq n(+ 1 n)))
  (princ))

(defun LM:ss->ent ( ss / i l )
    (if ss
        (repeat (setq i (sslength ss))
            (setq l (cons (ssname ss (setq i (1- i))) l))
        )
    )
)

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2017-4-29 11:34:29 | 显示全部楼层
收藏了,有机会用用
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2017-5-4 10:05:33 来自手机 | 显示全部楼层
感谢分享源码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 11个

财富等级: 恭喜发财

发表于 2019-3-1 10:09:52 | 显示全部楼层
原来还可以这样,我是直接把圆打断成弧线,然后转换为多段线,再用多段线的闭合功能形成圆
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 55个

财富等级: 招财进宝

发表于 2019-3-2 10:03:55 | 显示全部楼层
有点意思,我还以为用等分点呢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-14 20:14 , Processed in 0.233423 second(s), 44 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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