1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
                 axMxDrawX1.StopAllTwinkeEnt();
                MxDrawEntity ent1 = (MxDrawEntity)(axMxDrawX1.GetEntity("选择开始曲线:") );
                if (ent1 == null)
                    return;
 
                MxDrawEntity ent2 = (MxDrawEntity)(axMxDrawX1.GetEntity("选择结束曲线:"));
                if (ent2 == null)
                    return;
 
                MxDrawDatabase database = (MxDrawDatabase)(axMxDrawX1.GetDatabase());
 
                MxDrawResbuf param = new MxDrawResbuf();
                param.AddObjectId(ent1.ObjectID);
                param.AddObjectId(ent2.ObjectID);
 
                MxDrawResbuf ret = (MxDrawResbuf)(axMxDrawX1.CallEx("ExApp_ShortestPath",param));
                if (ret.AtString(0) != "Ok")
                {
                    MessageBox.Show("曲线不连通!");
                }
                else
                {
                    for (int i = 1; i < ret.Count; i++)
                    {
                        Int64 lId = ret.AtObjectId(i);
                        axMxDrawX1.TwinkeEnt(lId);
 
                        // 由lId得到对象,并得到对象的坐标
                        MxDrawMcDbObject obj = database.ObjectIdToObject(lId);
                        if (obj == null)
                            continue;
 
                        if (obj is MxDrawLine)
                        {
                            MxDrawLine line = (MxDrawLine)obj;
                            MxDrawPoint sPt = (MxDrawPoint)(line.StartPoint);
                            MxDrawPoint ePt = (MxDrawPoint)(line.EndPoint);
 
                            //MessageBox.Show(sPt.x.ToString() + "," + sPt.y.ToString() + ","
                             //   + ePt.x.ToString() + "," + ePt.y.ToString()
                             //   );
                        }
                        else if (obj is MxDrawText)
                        {
                            MxDrawText text = (MxDrawText)obj;
                            // 是这文字对象
 
                        }
                    }
                }

CAD计算两曲线间最短路径(com接口)的更多相关文章

  1. Matlab计算两集合间的海明距离

    一.问题描述 B1[1 2 3 4 5 6 7 8 9] B2[12 13 14 21 31 41 51  1 1 81 1 1] 两个十进制矩阵,行数不一样,分别是n1和n2,列数必须一致,为nwo ...

  2. Java计算两个经纬度间的距离最简单的方式

    开发中经常会遇到计算两个点(经纬度)之间的距离或者计算最近门店的场景,下面简单实现一下如何计算两个经纬度之间相隔的距离. 1.导入geodesy的maven依赖 或者到阿里云maven仓库下载jar包 ...

  3. IOS 计算两个经纬度之间的距离

    IOS 计算两个经纬度之间的距离 一 丶 -(double)distanceBetweenOrderBy:(double) lat1 :(double) lat2 :(double) lng1 :(d ...

  4. 高德地图 API 计算两个城市之间的距离

    1. 目前在项目中,遇到一个需求不会做,就是要计算两个城市之间的距离,而这两个城市的输入是可变的,如果要使用数据库来先存储两地之间的距离,调用的时候再来调用,那么存数据的时候,要哭的,因为光是省级区域 ...

  5. 【起航计划 037】2015 起航计划 Android APIDemo的魔鬼步伐 36 App->Service->Remote Service Binding AIDL实现不同进程间调用服务接口 kill 进程

    本例和下个例子Remote Service Controller 涉及到的文件有RemoteService.java ,IRemoteService.aidl, IRemoteServiceCallb ...

  6. JS广度优先查找无向无权图两点间最短路径

    广度优先查找无向无权图两点间最短路径,可以将图看成是以起点为根节点的树状图,每一层是上一层的子节点,一层一层的查找,直到找到目标节点为止. 起点为0度,与之相邻的节点为1度,以此类推. // 广度优先 ...

  7. JAVA中计算两个日期时间的差值竟然也有这么多门道

    上半年春招的时候,作为面试官,对于面试表现的不错的同学会要求其写一小段代码看看.题目很简单: 给定一个日期,然后计算下距离今天相差的天数. 本以为这么个问题就是用来活跃面试氛围的,但是结果却让人大跌眼 ...

  8. 《Entity Framework 6 Recipes》中文翻译系列 (10) -----第二章 实体数据建模基础之两实体间Is-a和Has-a关系建模、嵌入值映射

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 2-11 两实体间Is-a和Has-a关系建模 问题 你有两张有Is-a和Has-a ...

  9. C# 获取当前月第一天和最后一天 计算两个日期差多少天

    获取当前月的第一天和最后一天 DateTime now = DateTime.Now; DateTime firstDay = ); DateTime lastDay = firstDay.AddMo ...

随机推荐

  1. Bag of word based image retrieval

    主要参考维基百科Bag of Word 在DLP领域里,bow(bag of word)是一个稀疏的向量,向量的每个元素记录词的出现次数,相当于对每篇文章都关于词典做词的直方图统计.同样的道理用在co ...

  2. Codeforces Round #327 (Div. 2)C. Median Smoothing 构造

    C. Median Smoothing   A schoolboy named Vasya loves reading books on programming and mathematics. He ...

  3. JavaScript Patterns 2.6 switch Pattern

    Principle • Aligning each case with switch(an exception to the curly braces indentation rule). • Ind ...

  4. Codeforces--618A--Slime CombiningCrawling(数学)

     Slime CombiningCrawling in process... Crawling failed Time Limit:2000MS     Memory Limit:262144KB ...

  5. Core Data的那点事儿~

    一.介绍下Core Data CoreData在早些年iOS开发中使用不多,因为其本身性能略低,以及不使用SQL语句而失去的灵活性,再加上FMDB之类封装SQLite的三方框架很好用,所以一直不受待见 ...

  6. SEL是啥玩意

    一.了解SEL前的准备-----isa指针简述 1.一个类就像一个 C 结构,NSObject 声明了一个成员变量: isa.由于 NSObject 是所有类的根类,所以所有的对象都会有一个 isa ...

  7. 在datagrid中的toolbar添加输入框

    转自:https://blog.csdn.net/u013178480/article/details/72358551 <code class="language-html" ...

  8. JavaScript 中String和int互相转换

    在javascript里怎么样才能把int型转换成string型 (1) var num = 0;    a = x.toString();    (2) var x = 0;    a = x + ...

  9. HyperLedger Fabric部署与链码解读

    1.Fabric简介 Fabric是超级账本中的一个项目,用以推进区块链技术.和其他区块链类似,它也有一个账本,使用智能合约,且是一个参与者可以分别管理自身交易的系统.它是一个联盟链.Fabric与其 ...

  10. JavaScript--编程题

    某班的成绩出来了,现在老师要把班级的成绩打印出来. 效果图: XXXX年XX月X日 星期X--班级总分为:81 格式要求: 1.显示打印的日期. 格式为类似“XXXX年XX月XX日 星期X” 的当前的 ...