guosheyang 发表于 2022-12-5 21:57:21

将圆和圆弧转为两节点多段线

本帖最后由 guosheyang 于 2022-12-5 22:09 编辑

      工作中,有时候需要将圆和圆弧转为两节点多段线 如何批量 将圆和圆弧 转化为多段线 - AutoLISP/Visual LISP 编程技术 - AutoCAD论坛 - 明经CAD社区 - Powered by Discuz! (mjtd.com)
      这里给朋友们分享该功能的两个函数----将圆弧和圆转为两个节点的多段线的函数,请大家测试并反馈,谢谢!

;函数名 ygs_a2pl作者 ygs--羊羊羊
;功能:将圆弧转两节点多段线            
;参数:yh 为圆弧                     
;返回值:无                           
;执行 (ygs_a2pl(setq yh(car(entsel))))


**** Hidden Message *****

lee50310 发表于 2022-12-6 10:57:13

本帖最后由 lee50310 于 2022-12-6 18:19 编辑

根據版主提供的函數 寫成
批量圓,弧轉成多段線ch2pl.lsp
執行指令:ch2pl




左邊簡體版   <---->   右邊繁體版





lee50310 发表于 2022-12-6 18:11:11

本帖最后由 lee50310 于 2022-12-6 18:13 编辑

cheefeel 发表于 2022-12-6 17:31
请问是什么编码格式的,我打开以后繁体是乱码状态。右邊是 繁體版 ch2lp_cht.lsp

你cad是簡體版
請下載 左邊 簡體版 ch2lp_chs.lsp

llsheng_73 发表于 2023-1-3 10:34:35

转圆或弧为二点多段线

本帖最后由 llsheng_73 于 2023-1-3 14:52 编辑

没想通转个圆或弧为二点多段线怎么搞出3k多代码的,自己搞个
(defun arctopl(p r ang1 ang2 / a);;圆(弧)转多段线
(setq a(*(rem(+(- ang2 ang1)pi pi)(+ pi pi))0.25)a(cons 42(/(sin a)(cos a))))
(List(cons 10(polar p ang1 r))a(cons 10(polar p ang2 r))a))
(defun tt(e yn / en p r ang1 ang2)
(setq en(entget e)
        p(cdr(assoc 10 en))
        r(cdr(assoc 40 en))
        ang1(cdr(assoc 50 en)))
(entmakex(vl-remove'nil(append(mapcar'cons'(0 100 100 90 70)(list"LWPOLYLINE""AcDbEntity""AcDbPolyline"2(if ang1 0 1)))(list(assoc 8 en)(assoc 370 en)(assoc 62 en))
                                (if ang1(arctopl p r ang1(cdr(assoc 51 en)))(arctopl p r 0 pi)))))
(or(="1"Yn)(entdel e)))
(defun c:tt(/ e Yn )
(initget "1 2")
(or(member(setq Yn(getkword"1.保留圆(弧) 2.不保留圆(弧)"))'("1""2"))(setq Yn"2"))
(while(setq e(ssget":E:S"'((0 . "circle,arc"))))
    (tt(ssname e 0)Yn))
)

yoyoho 发表于 2022-12-5 23:21:19

谢谢! 分享函数!

zjy2999 发表于 2022-12-6 08:27:37

多谢分享!!

自贡黄明儒 发表于 2022-12-6 08:36:26

不错。精华是将一个圆转成两个半圆。

zj20190405 发表于 2022-12-6 08:39:03

看着很厉害

liuhe 发表于 2022-12-6 08:40:13

666666666666666666666

emk 发表于 2022-12-6 08:41:41

支持,好想法:victory:

ssyfeng 发表于 2022-12-6 08:53:53

cheefeel 发表于 2022-12-6 09:18:01

本帖最后由 cheefeel 于 2022-12-6 09:21 编辑

确实要的就是这个结果,是否能做成原帖描述的那个LSP呢?
小白不会啊

liuyizeng 发表于 2022-12-6 09:40:20

学习一下
页: [1] 2 3 4 5 6 7
查看完整版本: 将圆和圆弧转为两节点多段线