找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 10361|回复: 65

[原创]:任意线转POLYLINE程序2pl.lsp(公布源码!)

[复制链接]
发表于 2004-11-30 00:11:28 | 显示全部楼层 |阅读模式

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

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

×
支持:CIRCLE,ELLIPSE,LINE,*POLYLINE,SPLINE,ARC
给出一个距离,程序按此值将任意线拟合成POLYLINE,支持多选。
在2004上测试通过。

加载2PL.LSP,运行2PL。

▲下载10次后改收币!
呵,已经下载22次了,少收了12个币,呵呵……
好像不能满足某些朋友的要求,暂时还是不收币吧!
不过也有人叫好。
希望多提意见。

★程序思路:
·测出线的长度
·依据输入的距离值,算出可等分的段数
·等分此线,从线终点开始依次向等分点画PL线,直到线起点结束。
·根据需要删除所选线。

问题:对于PL类非光滑曲线,拟合后会产生突变(尖角)。

2004年11月30日, 10:20:18版
2004年12月2日, 0:22:10版 修改距离值控制,避免程序中断。
2004年12月4日, 12:11:08版 提示:“正在处理,稍侯......”;统计和提示未被处理的线的数量。
2004年12月4日, 17:50:28版 修改程序,提速!
2004年12月5日, 22:53:00版 修改BUG。
★2004年12月20日, 20:09:00版 源码公布前有103人“深受其害”!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-11-30 10:44:04 | 显示全部楼层
下了后,怎么加载 如果这样什么图形都可以这样转化成PLINE,那我以后建模就简单多了,省时省力。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-11-30 12:49:44 | 显示全部楼层
xxxyzxx:
1. “批量转”应该没有问题。
2.“问题描述:请老大画三条收尾相连的PLINE做个小试验,“2PL”计算结果:与原线相同,重新画了三条,555~~~”
看不出有什么问题,应该说拟合得很好啊!
要想看出明显差别可以加大“距离”数值。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-30 13:58:01 | 显示全部楼层
我大概是压轴了 ,第十个。免费的
--------------------------
我用的是cad2002,出现错误,请帮忙!
命令: 2pl

两点距离(数值)<2>:

选择对象: 找到 1 个

选择对象:

请选择处理方式:A-保留原线/B-删除原线<B>:b ; 错误: no function definition:
vlax-curve-getEndParam
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-30 14:23:26 | 显示全部楼层
晕,正应了那句“东边日出西边雨”,为什么我总遇到问题,555~~~
刚又去试验了一下,用了老版,确实不行;
老大应该和我用的都是最新版的吧!
-----------------------------
情况分为三种
1.无问题
刚才细想了一下,应该是PL的每段距离的问题,老大的程序目的只是删点,这个应该没有问题;(对于距离大于每段PLINE长度的可以很好的拟合)
2.有问题
但如果说突然想增点,或者想让PLINE圆滑些,“经测试,不光批量转有问题,单独转也有问题,天啊~~~”;(对于距离小于每段PLINE长度的无法很好的拟合)
3.除此之外,仍有问题
对于输入的任意距离,如果距离在大于和小于之间(即某些段间的距离小于输入距离,某些段间距离大于输入距离),不能很好的拟合(即使是某些段距离超远的也不给拟合了,555~)

总结:
综上所述,暂不能依据曲线变化程度而自动调整拟合变化,还望老大出面改动一下,谢谢!
-----------------------------
注1:圆、椭圆拟合很好,但实际情况,一般我都是圆、椭圆转PLINE弧线。此问题暂不急着解决
注2:闭不闭合SPLINE线任何情况都不能拟合,不闭合的是两点画了条直线,闭合的是无反应。此问题暂不急着解决
-----------------------------
我贴图说明吧,直观些!(本来想贴图,说不清,只能大概贴个图了)
-----------------------------
以下附目前该程序运算的问题,希望能与以上几条问题一起得到老大的帮助,谢谢!
命令: 2pl
两点距离(数值)<20>:
选择对象: 指定对角点: 找到 1116 个
选择对象: 指定对角点: 找到 1 个,删除 1 个,总计 1115 个
选择对象:
请选择处理方式:A-保留原线/B-删除原线:a
需要 2 和 32767 之间的整数, 或选项关键字。
; 错误: 函数被取消
输入线段数目或 [块(B)]:
需要 2 和 32767 之间的整数, 或选项关键字。
输入线段数目或 [块(B)]: 1115
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-30 17:02:46 | 显示全部楼层
R14不行
该程序是在2004设计的,未考虑R14的问题(只能在2000+上使用)
----------------------------
以下附图为辅助说明9楼遇到问题“暂不能依据曲线变化程度而自动调整拟合变化”而增加
(上段转角处处理得不错,
中段不需要拟合处增加了很多无用的点,
下段转角处处理得不理想,点数删减太多,变形严重)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-11-30 18:04:47 | 显示全部楼层
最初由 xsshhl 发布
[B]我大概是压轴了 ,第十个。免费的
--------------------------
我用的是cad2002,出现错误,请帮忙!
命令: 2pl
两点距离(数值)<2>:
选择对象: 找到 1 个
选择对象:
请选择处理方式:A-保留原线/B-?.. [/B]


只在2004上测试通过。

xxxyzxx:
你使用的好像是老版本!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-30 21:26:53 | 显示全部楼层
晕,报告老大,我还不至于那么……(偶的某些图只能使2004才能画的)
还是全屏截图吧
〔SPLINE线2004版不存在任何问题(2000+版有问题),但其它情况不变(以上帖子发布前已经经过2004测试),请老大详查〕

最初由 xyp1964 发布
[B]在2004上测试通过。
★程序思路:
·测出线的长度
·依据输入的距离值,算出可等分的段数
·等分此线,从线终点开始依次向等分点画PL线,直到线起点结束。
·根据需要删除所选线。

问题:对于PL类非光滑曲线,拟合后会产生突变。

2004年11月30日, 10:20:18版[/B]


-----------------------------
终于看到老大的思路了,应该没有问题,但是当
1.输入距离小于PLINE线各段距离时,程序无效,何故?
2.……
3.……(详见楼上几贴)
-----------------------------我的思路PLINE解决办法(由于偶不会编程,仅是想法,正确与否另当别论~)
判断PLINE线各段长度与输入值关系(3种)
1.对于输入距离大于每段PLINE线时,正常计算
2.对于输入距离部分大于PLINE某些段距离,部分小于PLINE线某些段距离时,选择判断<1>不计算<2>老大方法计算<3>优化算法1先quadratic(内切)后再计算<4>优化算法2先curvefit(外切)后再计算<5>优化算法3(将原线段内切、外切后,求中点后)再计算
3.对于输入距离小于每段PLINE线时(应该同2情况吧),选择判断<1>不计算<2>计算<3>优化算法
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-12-1 01:43:35 | 显示全部楼层
xxxyzxx:
“输入距离小于PLINE线各段距离时,程序无效,何故?”,应该没有问题。
其他的思路有点难,越来越复杂了……
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-1 13:17:41 | 显示全部楼层
有使用价值!!不过不知道用格式刷能不能达到同样的效果!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-1 15:51:39 | 显示全部楼层
坚持就是胜利,全力支持老大~
1.目前最棘手的问题:
14楼附图中,上图内有详细命令行,请老大查明程序中断不能继续进行的原因
2.惑而不解的问题:
14楼附图中,下图为“输入距离小于PLINE线各段距离时,程序无效”---按楼主的思路应该在原线段中增加点数,但实际情况为“程序无效”
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-12-2 00:25:41 | 显示全部楼层
最初由 xxxyzxx 发布
[B]坚持就是胜利,全力支持老大~
1.目前最棘手的问题:
14楼附图中,上图内有详细命令行,请老大查明程序中断不能继续进行的原因
2.惑而不解的问题:
14楼附图中,下图为“输入距离小于PLINE线各段距离时,程序无?.. [/B]

应该是:输入距离大于PLINE线长度时,程序无效。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2004-12-2 13:39:30 | 显示全部楼层
最初由 狂刀 发布
[B]转为dxb,wmf文件再插进来,就自动转换了 [/B]

是个方法,不过控制不了尺寸,也比较麻烦!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-12-2 20:43:46 | 显示全部楼层
晕倒,
一、2PL新改版的三超问题(旧版输入小值,拟合精确--新版只输入超大值,拟合超不精确就已经……):
1.超慢的计算速度(旧版不到5分钟,新版的60分钟);
2.超耗CPU(旧版耗用30%的CPU,新版耗用率在95%~100%不等),
3.超卡不能做其它事情(点了CAD也无法正常显示了),
-----------------------------
向老大求援!
新程序应该是某个代码改变的结果,目前的状况与MAX中非常相似,虽然已经计算完毕(一次性算到低没出大错),但不如用旧版算N次了:(~
-----------------------------
二、新思路:
1.所选线段中,能否使大于输入距离的某些段不进行拟合?(既减少点数也减少运算量,形状也与原先相同)
2.需老大加入流氓代码“计算中---------”,否则真的看不出是计算中还是死机了

三、历史遗留的问题
1.18楼的疑惑(老大未能理解,555~~)
14楼附图中,下图为“输入距离小于PLINE线各段距离时,程序无效”---按楼主的思路应该在原线段中增加点数,但实际情况为“程序无效”
2.新旧版的相同点
唯一不变的是耗用的内存与原先差不多(CAD耗了240M左右,还有近一个G没有使--CAD好像从来不使那些内存?);
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 00:53 , Processed in 0.273226 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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