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. Username is not in the sudoers file. This incident will be reported

    type sudo adduser <username> sudo where username is the name of the user you want to add in th ...

  2. Swift版音乐播放器(简化版)

    这几天闲着也是闲着,学习一下Swift的.于是到开源社区Download了个OC版的音乐播放器,练练手,在这里发扬开源精神. 希望对大家有帮助! 这个DEMO里.使用到了 AudioPlayer(对音 ...

  3. dhtmlx中添加一列(将相似button、下拉列表、输入框显示在一行上)

    { type: "label", list: [ { { type: "label", labelWidth: 55 }, { type: "newc ...

  4. POJ 2485 Highways &amp;&amp; HDU1102(20/200)

    题目链接:Highways 没看题,看了输入输出.就有种似曾相识的感觉,果然和HDU1102 题相似度99%,可是也遇到一坑 cin输入居然TLE,cin的缓存不至于这么狠吧,题目非常水.矩阵已经告诉 ...

  5. 还在自建Redis缓存?那你就out了

    Redis 是什么?简单来说,Redis是一个开源的内存数据库,支持Key-Value等多种数据结构,可用于缓存.事件发布或订阅.高速队列等场景.Redis使用ANSIC语言编写,支持网络,提供字符串 ...

  6. HDU2082 找单词 【母函数】

    找单词 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  7. 2015南阳CCPC H - Sudoku 数独

    H - Sudoku Description Yi Sima was one of the best counselors of Cao Cao. He likes to play a funny g ...

  8. android note【转】

    本文转载自:http://blog.csdn.net/u012719256/article/details/52094982 1.重要的property属性 #define ANDROID_RB_PR ...

  9. 【线程安全】—— 单例类双重检查加锁(double-checked locking)

    1. 三个版本单例类的实现 版本1:经典版 public class Singleton { public static Singleton getInstance() { if (instance ...

  10. CF36 E Two Paths——欧拉(回)路

    题目:http://codeforces.com/contest/36/problem/E 给定一张无向图,要求输出两条欧拉路覆盖所有边: 分类讨论,首先判-1:有两个以上连通块 / 有四个以上奇度数 ...