找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1088|回复: 4

[VBA程序]:求助!如何对封闭的PL线顶点自动逆时针编号?

[复制链接]
发表于 2005-12-10 00:19:33 | 显示全部楼层 |阅读模式

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

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

×
1楼楼主说:[编程申请]:求助!如何对封闭的PL线顶点自动逆时针编号?   9pt 10pt 11pt 12pt 13pt 15pt  

求助!如何对封闭的PL线顶点自动逆时针编号?要求程序能自动判断起点,起点1号点必须为西北角方向?最好能提供VBA程序,或者提供算法思路!!!1
谢谢!!!!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-12-15 22:30:19 | 显示全部楼层
西北,数学上来说就是x坐标最小,y坐标最大的时候,读写pl然后当此条件符合的时候记录为一,不就可以了嘛
此时记录为y1
如果不行,那就得仔细看看书了
如果不知道怎么读pl数据,看我得帖子,至于如何判断,我只做过VC++的。你参考
oid algo()
{
        px[0]=PX[0];
        py[0]=PY[0];//第一个点是端点
        n=1;
        for(int i=2;i<N;i++)
        {
                double current=(PY-PY[i-1])*(PX[i-1]-PX[i-2])-(PY[i-1]-PY[i-2])*(PX-PX[i-1]);
                if(fabs(current)>1e-6)//计算i点到i-1点的这条线是否和前一条线重合,若不是则加入输出数组
                {
                        px[n]=PX[i-1];
                        py[n]=PY[i-1];
                        n++;
                }
        }
}

void main(int argc, char **argv)
{
        ifstream myinf("data.txt",ios::in|ios::nocreate);
        if(myinf.fail())
        {
                cerr<<"Error opening the data file."<<endl;
                return;
        }//输入文件为data.txt,文件内容是点的坐标数组
        while(!myinf.eof())
        {
                myinf>>PX[N]>>PY[N];
                N++;
        }
        algo();
        ofstream out("print.txt",ios::out);//输出文件为print.txt,文件内容是顶点坐标数组
        for(int j=0;j<n;j++)
        {
                out<<setprecision(7)<<px[j]<<'\t'<<py[j]<<endl;
        }
}
上面得程序,让你知道怎么找到你需要得点,然后后继步骤怎么做。你要自学了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 70个

财富等级: 招财进宝

发表于 2005-12-21 13:18:22 | 显示全部楼层
可以参考这里
http://www.xdcad.net/forum/showt ... y=&pagenumber=1
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-12-29 09:08:52 | 显示全部楼层
我也需要这样的程序,简单的将pl线编号就可以了,编号标在节点旁边。编号起点自己选。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 09:58 , Processed in 0.422887 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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