找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: ydf7332462

[寻找]:功能是"多线义反向"的lsp 【完成】

[复制链接]
 楼主| 发表于 2003-10-30 20:43:55 | 显示全部楼层
15F能否将函数加上后,给一个完整的附件以下载
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2003-10-31 22:37:47 | 显示全部楼层
最初由 ydf7332462 发布
[B]line pline有方向,我想用其表示管道中水的流向.
Lw表示打印宽,用层宽;
pline自身线宽表示管径+坡度等
不要将前后的线宽换过来,如要换让用者选; [/B]


按你的意思,pline线变成轻装多义线也可以,我就不写了.


;;;下面POLYLINE-->LWPOLYLINE,并加入直线.
;;;命令名test,自己改其他的吧.
;;;还是六楼的.test改了一下.

  1. ;;;==============================================
  2. ;;;多线义和直线反向
  3. ;;;by Aeo
  4. ;;;-----------------------------------------------
  5. (defun reverse-LWpline (e / a en how li1 li2 li3)
  6. (setq en(entget e '("*")) how nil)
  7. (foreach an en
  8.   (if(setq a(member(car an)'(10 40 41 42)))(setq how t))
  9.   (cond((not how)(setq li1(cons an li1)))
  10.        ((and how a)
  11.          (cond((=(car an)40)(setq an(cons 41(cdr an))))
  12.               ((=(car an)41)(setq an(cons 40(cdr an))))
  13.               ((=(car an)42)(setq an(cons 42(- 0(cdr an)))))
  14.               (t an)
  15.           )
  16.          (setq li2(cons an li2)))
  17.        ((and how(not a))(setq li3(cons an li3)))
  18.    )
  19.   )
  20. (entmod(append
  21.          (reverse li1)
  22.          (append(cdddr li2)(list(car li2)(cadr li2)(caddr li2)))
  23.          (reverse li3)
  24.         )
  25. )
  26. )
  27. (defun c:test( / e en j p10 p11 ss)
  28. (setq j -1)
  29. (prompt"\n选择要反向的直线或多义线:")
  30. (if(setq ss(ssget '((0 . "*POLYLINE,line"))))
  31.      (progn
  32.      (command"undo""group")
  33.      (repeat(sslength ss)
  34.       (setq e(ssname ss(setq j(1+ j))))
  35.       (if(= "POLYLINE"(cdr(assoc 0(entget e))))(command"convert""p""s"e""))
  36.       (cond((= "LWPOLYLINE"(cdr(assoc 0(entget e))))(reverse-LWpline e ))
  37.            ((= "LINE"(cdr(assoc 0(entget e))))
  38.             (setq en(entget e) p10(cdr(assoc 10 en)) p11(cdr(assoc 11 en))
  39.                   en(subst(cons 10 p11)(assoc 10 en)en)
  40.                   en(subst(cons 11 p10)(assoc 11 en)en)
  41.              )(entmod en)
  42.            )
  43.        )
  44.      )(command"undo""end")
  45.    )
  46. )
  47. (princ)
  48. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-14 22:08 , Processed in 0.346018 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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