明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[基础] 求二次开发程序

  [复制链接]
 楼主| 发表于 2011-2-16 18:25 | 显示全部楼层
对二次开发 现在基本上处于文盲状态 见效了!
如何将选定的任意线型改为 continuous线型
还希望您再指导一下!
发表于 2011-2-16 18:29 | 显示全部楼层
见10楼,修改了
 楼主| 发表于 2011-2-16 18:31 | 显示全部楼层
本帖最后由 zlq1318 于 2011-2-16 18:35 编辑

实在不好意思再问一下“上面两个加上循环就行了”如何实现
本人对程序基本上没有什么了解
还望您在抽点时间:(




十分感谢x_s_s_1 的热心帮助!
发表于 2011-2-16 18:37 | 显示全部楼层
本帖最后由 x_s_s_1 于 2011-2-16 18:39 编辑

;;;将线颜色改为绿色
(defun c:cbb( )
  (setq ss (ssget '((0 . "*line"))))
  (setq ssnum(sslength ss))
  (setq nb 0)
  (while (< nb ssnum)
  (progn (setq en (entget (ssname ss nb)))
  (setq oli (assoc 62 en))
  (setq nli (cons 62 3))
  (if (= oli nil)
  (setq en (cons nli en))
    (setq en (subst nli oli en))
    );endif
  (entmod en)
     (setq nb (1+ nb))
)
  ))
;;;改线型为continuous
(defun c:cbl( )
  (setq ss (ssget '((0 . "*line"))))
  (setq ssnum(sslength ss))
  (setq nb 0)
  (while (< nb ssnum)
  (progn (setq en (entget (ssname ss nb)))
  (setq oli (assoc 6 en))
  (setq nli (cons 6 "continuous"))
  (if (= oli nil)
  (setq en (cons nli en))
    (setq en (subst nli oli en))
    );endif
  (entmod en)
     (setq nb (1+ nb))
)
  ))
;;;你自己测试一下,我没测试,我也不太懂的,有谬误就不好意思啊
 楼主| 发表于 2011-2-16 18:41 | 显示全部楼层
加上循环的特别功能是什么起到什么作用,我刚才试过前面的那个程序已经可以实现了


还有就是x_s_s_1您可能误解我的意思了 我的意思是说同时修改线的颜色且同时改线的线性为continuous
发表于 2011-2-16 18:44 | 显示全部楼层
本帖最后由 x_s_s_1 于 2011-2-28 11:52 编辑

加循环就是可处理多条线
;;;将线颜色改为绿色改线型为continuous,要改颜色及线型修改红色位置
(defun c:cbb( )
  (setq ss (ssget '((0 . "*line"))))
  (setq ssnum(sslength ss))
  (setq nb 0)
  (while (< nb ssnum)
  (progn (setq en (entget (ssname ss nb)))
  (setq oli1 (assoc 62 en))
  (setq nli1 (cons 62 3));3为绿色
  (if (= oli1 nil)
  (setq en (cons nli1 en))
    (setq en (subst nli1 oli1 en))
    );endif
      (setq oli2 (assoc 6 en))
  (setq nli2 (cons 6 "continuous"))
  (if (= oli2 nil)
  (setq en (cons nli2 en))
    (setq en (subst nli2 oli2 en))
    );endif
  (entmod en)
     (setq nb (1+ nb))
)
  ))
;;;将字设为TSSD_Rein,字高统一400,高宽比0.7,要改字高、样式及高宽比修改红色位置
(defun c:cth ()
  (setq ss (ssget '((0 . "*text"))))
  (setq ssnum (sslength ss))
  (setq nb 0)
  (while (< nb ssnum)
    (progn (setq en (entget (ssname ss nb)))
    (setq oli1 (assoc 7 en))
    (setq nli1 (cons 7 "TSSD_Rein"))
    (if (= oli1 nil)
      (setq en (cons nli1 en))
      (setq en (subst nli1 oli1 en))
    )    ;endif
    (setq oli2 (assoc 40 en))
    (setq nli2 (cons 40 400.0))
    (if (= oli2 nil)
      (setq en (cons nli2 en))
      (setq en (subst nli2 oli2 en))
    )    ;endif
          (setq oli3 (assoc 41 en))
    (setq nli3 (cons 41 0.7))
    (if (= oli3 nil)
      (setq en (cons nli3 en))
      (setq en (subst nli3 oli3 en))
    )    ;endif
    (entmod en)
    (setq nb (1+ nb))
    ) ;_ 结束progn
  ) ;_ 结束while
) ;_ 结束defun
发表于 2011-2-28 11:54 | 显示全部楼层
zlq1318 网友对不起,我对论坛的其它功能不是很了解,才看到您的短信,按您的要求我对楼上进行了修改,由于本人水平有限,希望各位大侠将代码优化一下。
 楼主| 发表于 2011-3-9 14:48 | 显示全部楼层
真的非常非常感谢x_s_s_1网友!!
这几天一直在忙工程上的事,今天才看到你的回复。
在这里可以学到很多,是因为很多像x_s_s_1 这样的网友。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-13 10:59 , Processed in 0.126884 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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