找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 755|回复: 8

[求助] [求助]:多义线反向的问题

[复制链接]
发表于 2005-11-3 11:15:15 | 显示全部楼层 |阅读模式

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

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

×
请问LWPOLYLINE多义线的反向程序该如何编才好,不能用取出顶点,然后删除重绘的形式。请指教!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 2个

财富等级: 恭喜发财

发表于 2005-11-3 11:22:12 | 显示全部楼层
你是出考题还是有问题需要帮助?
你已经有办法解决这个问题了,还要来问?
给你出个主意,修改DXF数据,可以达到你的目的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-3 11:50:19 | 显示全部楼层
在下是做测绘的,经常要用到多义线的反向。POLYLINE线的时候,我用修改顶点的办法可以达到要求,但LWPOLYLINE线,我试过多次总是不行,用取出顶点,然后删除重绘的形式,线的方向是反过来了,可很多属性数据都丢失掉了。所以请各们高手帮帮忙,指教指教一下!
先谢啦!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2005-11-3 13:47:07 | 显示全部楼层
最初由 yuer0103 发布
[B]在下是做测绘的,经常要用到多义线的反向。POLYLINE线的时候,我用修改顶点的办法可以达到要求,但LWPOLYLINE线,我试过多次总是不行,用取出顶点,然后删除重绘的形式,线的方向是反过来了,可很多属性数据都丢失掉... [/B]


我这里收集了一个:
;曲线反向函数
(defun GETPL (ED / ENTS PTS PTS2 EDS D)
  (setq PTS nil PTS2 nil)
   (setq ENTS (entget ED))
   (setq EDS ENTS)
  (while (setq ENTS (member (assoc 10 ENTS) ENTS))
    (setq PTS (append PTS (list (car ENTS) (cadr ENTS) (caddr ENTS) (cadddr ENTS))))
    (setq ENTS (CDR ENTS))
  )
  (setq PTS (reverse PTS))
  (repeat 3 (setq PTS (append (cdr PTS) (list (car PTS)))))
  (foreach item PTS
    (if (= (car item) 42)      
      (setq item (cons 42 (- (cdr item))))
    )
    (setq PTS2 (append PTS2 (list item)))
  )
  (setq PTS PTS2)
  (while (setq item (assoc 10 EDS))
    (setq EDS (vl-remove item EDS))
    (setq EDS (vl-remove (assoc 40 EDS) EDS))
    (setq EDS (vl-remove (assoc 41 EDS) EDS))
    (setq EDS (vl-remove (assoc 42 EDS) EDS))
  )
  (setq D (car (setq EDS (reverse EDS))))
  (setq EDS (append (reverse (cdr EDS)) PTS (list D)))
  (entmod EDS)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-3 14:13:56 | 显示全部楼层
呵呵,太棒了!效果很好啊,XDCAD真是高手如云,各位大虾真是义薄云天!实实令人好生佩服。。。。。。谢啦!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2005-11-3 14:15:14 | 显示全部楼层
最初由 yuer0103 发布
[B]在下是做测绘的,经常要用到多义线的反向。POLYLINE线的时候,我用修改顶点的办法可以达到要求,但LWPOLYLINE线,我试过多次总是不行,用取出顶点,然后删除重绘的形式,线的方向是反过来了,可很多属性数据都丢失掉... [/B]


我不知道你有多少属性有保留
如果是我的话,我就在读取顶点时把要保留的属性一起读出来,画线时再设回去,
有人认为在LISP中用COMMAND函数不好,我是这样想的,
大家都是搞设计的,图纸画出来就好,程序越简单越好,要讲运行速度、刷新图面等等,反正做设计时要停下来思考的,等一下又何仿。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-3 14:33:50 | 显示全部楼层
谢谢七楼的朋友,理论上有时可能如你刚才所说那样,但真要把要保留的属性一起读出来,画线时再设回去的话,程序将极其复杂的。各种软件所定义的属性数据很可能不一样,分析起数据构成成份将很大工作量,还是五楼的朋友的代码好!只修改了顶点坐标,其它江山依旧!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-14 20:01 , Processed in 0.381023 second(s), 45 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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