明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: yyz123121

求优化折断线命令。

[复制链接]
 楼主| 发表于 2020-12-23 20:32 | 显示全部楼层
bssurvey 发表于 2020-12-22 11:59
其實我不是大神啦,大家互相學習,和大家互相切磋,大家一起進步
試看看是不是這樣
(defun c:XJ ()  

就是这样的效果,非常感谢,在您的基础上,我把各自判断有没有线型那段改成程序一开始就判断,
(defun c:XJ ()  
  (setvar "cmdecho" 0)
  (foreach lt '("CENTER" "DASH" "DASHED" "LED_LINE" "BATTING" "ZIGZAG")
    (if (= (tblsearch "ltype" lt) nil)
      (command "_linetype" "l" lt "" "")
    )
  )

  (setq ed1(getstring "\n请输入图层名称:"))
  (setq yans(getint "\n请输入颜色:"))
  (initget "c e d")
  (setq xianxing(getkword "\n请输入线型名称 c<Continuous> e<Center> d<Dash>:<Continuous>"))
   (cond
    ((= xianxing "c")
     (entmake (list
       '(0 . "LAYER")
       '(100 . "AcDbSymbolTableRecord")
       '(100 . "AcDbLayerTableRecord")
       '(70 . 0)
       '(290 . 1) ;1 设为打印 ,0 设为非打印
       (cons 62 yans)
       (cons 2 ed1)
       (cons 6 "Continuous")
       )
     )
    )
    ((= xianxing "e")
     (entmake (list
       '(0 . "LAYER")
       '(100 . "AcDbSymbolTableRecord")
       '(100 . "AcDbLayerTableRecord")
       '(70 . 0)
       '(290 . 1) ;1 设为打印 ,0 设为非打印
       (cons 62 yans)
       (cons 2 ed1)
       (cons 6 "CENTER");;线型代码
       )
     )
    )
    ((= xianxing "d")
     (entmake (list
       '(0 . "LAYER")
       '(100 . "AcDbSymbolTableRecord")
       '(100 . "AcDbLayerTableRecord")
       '(70 . 0)
       '(290 . 1) ;1 设为打印 ,0 设为非打印
       (cons 62 yans)
       (cons 2 ed1)
       (cons 6 "DASH");;线型代码
       )
     )
    )
  )
  (setvar "clayer" ed1)  
  (setvar "cmdecho" 1)   
  (princ)                                       
)   

点评

讚喔 大家互相學習  发表于 2020-12-24 07:56
回复

使用道具 举报

发表于 2024-2-13 10:48 | 显示全部楼层
路过,这样的讨论真不错
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-1 00:10 , Processed in 0.278627 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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