找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2078|回复: 8

[求助]:line转polyline的程序

[复制链接]
发表于 2007-3-6 14:29:10 | 显示全部楼层 |阅读模式

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

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

×
有一批图需要将LINE线转为polyline,使用Pedit命令提示:该对象与 UCS 不平行。该LINE线属性为:LINE      图层: 6101990
                            空间: 模型空间
                   句柄 = 94E0
                自 点,X=76247.118  Y=-137646.987  Z=  304.762
                到 点,X=76249.963  Y=-137639.296  Z=  299.764
          在当前 UCS 中。 长度 =    8.200,在 XY 平面中的角度 =     1r
                  三维长度  =    9.603,与 XY 平面的角度 =     6r
                  增量 X =    2.845,增量 Y =     7.691,增量 Z =   -4.998
而且即使PE命令好用,也之能一个一个改,很麻烦,在论坛上搜索半天也没找到好的解决办法,烦请各位大虾帮补忙。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 593个

财富等级: 财运亨通

发表于 2007-3-6 18:12:01 | 显示全部楼层

  1. (defun c:Tt (/ ss ssl i sp ep)
  2.   (if (setq ss (ssget '((0 . "LINE"))))
  3.     (progn
  4.       (setq ssl        (sslength ss)
  5.             i        -1
  6.       )
  7.       (setvar "clayer" "6101990")
  8.       (repeat ssl
  9.         (setq e         (ssname ss (setq i (1+ i)))
  10.               sp (vlax-curve-getstartpoint e)
  11.               ep (vlax-curve-getendpoint e)
  12.         )
  13.         (command ".pline" "_non" sp "_non" ep "")
  14.       )
  15.       (command ".erase" ss "")
  16.     )
  17.   )
  18.   (princ)
  19. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-7 11:43:08 | 显示全部楼层

多谢版主

多谢版主,使用程序后,所有LINE线变成当前图层,能不能再帮我加几个语句,使程序运行后还是原来的图层?因为我的图里有很多层,这样运行的话,所有的图层全变成一个层了,谢谢!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-3-7 19:54:25 | 显示全部楼层
代劳:
  1. [FONT=courier new](defun c:Tt (/ ss ssl i sp ep)
  2.   (if (setq ss (ssget '((0 . "LINE")(8 . "6101990"))))
  3.     (progn
  4.       (setq ssl        (sslength ss)
  5.             i        -1
  6.       )
  7.       (setvar "clayer" "6101990")
  8.       (repeat ssl
  9.         (setq e         (ssname ss (setq i (1+ i)))
  10.               sp (vlax-curve-getstartpoint e)
  11.               ep (vlax-curve-getendpoint e)
  12.         )
  13.         (command ".pline" "_non" sp "_non" ep "")
  14.       )
  15.       (command ".erase" ss "")
  16.     )
  17.   )
  18.   (princ)
  19. )[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-3-20 00:44:20 | 显示全部楼层

  1. (defun c:l2p (/ ss n)
  2.   (princ "\n 直线转多义线----by 雨箭风刀.2007.3")
  3.   (if (setq ss (ssget '((0 . "LINE"))))
  4.     (progn
  5.       (setq n (sslength ss))
  6.       (repeat n
  7.         (setq n  (1- n))
  8.         (l2pl (ssname ss n) nil)
  9.       )
  10.       (command ".erase" ss "")
  11.     )
  12.   )
  13.   (princ)
  14. )
  15. (defun l2pl (e k / ent dxf11)
  16.   (setq        ent   (entget e)
  17.         dxf11 (cdr (assoc 11 ent))
  18.         ent   (vl-remove-if'(lambda (x) (member (car x) '(0 5 100 11)))ent)
  19.   )
  20.   (entmake (append
  21.              '((0 . "LWPOLYLINE")(100 . "AcDbEntity")(100 . "AcDbPolyline")(90 . 2))
  22.              ent
  23.              (list (cons 10 dxf11))
  24.            )
  25.   )
  26.   (if k (entdel e))
  27. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1261个

财富等级: 财源广进

发表于 2007-11-7 11:06:37 | 显示全部楼层
该对象与 UCS 不平行  到底是什么意思,如果不只修改直线,还有其它的如 CIRCLE TEXT 等
  除了用重新绘制这条线,有没有方法可以用PEIDT命令编辑原来的线?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2007-12-6 09:01:11 | 显示全部楼层
直接使用pe最简单!是cad自带的功能,就别费什么劲去搞lisp了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 19:46 , Processed in 0.400561 second(s), 47 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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