摘要:ArcEngine实现Merge功能private IGeometry GetGeo(IFeatureLayer pFlyr) { IEnumGeometry pGeos = new EnumFeatureGeometryClass(); IEnumGeometryBind pGeosBind = pGeos as IEnumGeometryBind; IFeatureSelection pflyrSelection = pFlyr as IFeatureSelection;pflyrSelection.SelectFeatures(null, esriSelectionResultEnum.
阅读全文
摘要:转载自: http://bbs.esrichina-bj.cn/ESRI/thread-48168-1-1.html 空间分析功能是GIS的主要功能之一,本章将为读者介绍一些GIS开发常用的功能涉及到的空间拓扑运算,空间关系运算,空间临近运算所使用到的接口。例如开发一个缓冲区分析功能,获取两个几何要素的最短距离,判断两个几何要素的拓扑关系等都需要使用到这些接口,使用这些接口可以极大提高开发者的开发效率。1.1目标1.熟悉ITopologicalOperator接口(用于空间拓扑运算)的使用2.熟悉IRelationalOperator接口(用于空间关联运算)的使用3.熟悉IProximityO
阅读全文
摘要:来自:http://hi.baidu.com/xduoo/blog/item/f480daddeb3ad7255882dd57.htmlpublic IFeatureClass FeatureJionTableFon(IFeatureLayer mFeatureLayer, ITable mTable, string mFeatureField, string mTableField) { inputFeatureClass = mFeatureLayer.FeatureClass; FeatureTable = inputFeatureClass as ITable; relationsh.
阅读全文
摘要:家知道arcmap提供了非常灵活的标注方式,除了一般的标注 同时支持vbscript和jscript,同样AE也提供了相应的功能。 比如:ArcMap Expression(vbscript): Function FindLabel ([ST_NAME], [SUFFIX]) IF ([SUFFIX] = "HWY") THEN FindLabel = [ST_NAME] END IF End Function 在AE中,//Global Variablesprivate IAnnotateLayerPropertiesCollection pAnnoProps;priva
阅读全文
摘要:Convert part to feature command // Copyright 2010 ESRI// // All rights reserved under the copyright laws of the United States// and applicable international laws, treaties, and conventions.// // You may freely redistribute and use this sample code, with or// without modification, provided you includ
阅读全文
摘要:arcgis10 arcmap10插件监控打开和保存文档
阅读全文
摘要:在做垃圾桶服务能力检测功能时,需要求两个垃圾桶之间在道路上的实际距离,由于道路使用的是线要素,而考虑到采集数据的精度问题,我假设在地图上道路两边都有可能出现垃圾桶。所以求这个距离的确是个难题。后来想了很多种方法,都一一否定了。后来在论坛上看见一个帖子,他是使用的vb写的,被我改成c#了,其实也挺简单的,主要使用了IPolyline自带的QueryPointAndDistance方法,它能返回一个点至线的起始点的距离,然后通过这两个距离相减,就得到两点之间的距离了。ICurve.QueryPointAndDistance Method :Finds the point on the curve
阅读全文
摘要:____这是我以前写过的一篇文章,也是SmartSoft中用到的,作为SmartSoft专题的一部分转贴到这里,与大家共享。此类实现AutoCAD块属性提取功能,在VS.Net2003(2005)+AutoCAD2004(2007)下调试通过。 Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->usingSystem;usingAu...
阅读全文
摘要:关闭所有有色斑的图层/*关闭所有有色斑的图层* * 色斑图层比较多的情况下,一个一个弄比较麻烦,这个一次全关,再配合图层状态保存功能就非常容易相互切换了* * http://goat.cublog.cn* 作者:王晓东 QQ:10516321 Email:xiaook@gmail.com* */using Autodesk.AutoCAD.ApplicationServices;using Autodesk.AutoCAD.DatabaseServices;using Autodesk.AutoCAD.EditorInput;using Autodesk.AutoCAD.Runtime;/*C
阅读全文
摘要:在.NET中进行AutoCAD二次开发(C#+ObjectArx)来源:CSDN作者:zhujiang1001发布时间:2007-10-14人气:4071.Autodesk官方最新的.net教程(一)(C#版):修正:(1)启用对象浏览器方法:双击托管的类,会自动调用对象浏览器(2)调试环境设置:应设2项,否则调试程序无法运行:启动外部程序为:F:\AutoCAD 2007\acad.exe工作目录为:F:\AutoCAD 2007\UserDataCache\2.Autodesk官方最新的.net教程(二)(C#版): (1)prPointRes = ed.GetPoint(prPointO
阅读全文
摘要:#region 校验合法性 ArrayList pFeatureArray = null; pFeatureArray = Application.Editor.FeatureSelection(); int count=pFeatureArray.Count; if (count<1) { MessageBox.Show("最少必须选择1个要素才能进行要素分解!", "提示"); return; }#endregion try{ //启动编辑操作 Application.Editor.StartOperation(); ...
阅读全文
摘要:利用C#进行AutoCAD的二次开发(三)(转自明经通道)这一讲的主要内容是介绍AutoCAD对象模型,如果你对VBA开发AutoCAD了解的话,这部分内容应该是超简单的。 对象是 AutoCAD ActiveX 接口的主要构造块,每一个显示的对象均精确代表一个 AutoCAD 组件。AutoCAD ActiveX 接口的主要对象有: • 直线、圆弧、文字和标注等图形对象。 • 线型与标注样式等样式设置对象 • 图层、编组和块等组织结构对象 • 视图与视口等图形显示对象。 • 图形、AutoCAD 应用程序本身也是对象 所有对象的根对象是AutoCAD 应用程序本身,它用Acad...
阅读全文
摘要:利用C#进行AutoCAD的二次开发(四)(转自明经通道)(2010-10-06 19:51:32) 转载▼标签: cautocad二次开发教程标准对话框杂谈分类: 开发 使用通用对话框 看了本站出的“AutoCAD VBA 开发精彩实例教程”以后,深有启发。但书中用到通用对话框时,总是调用windows api函数,我一看就头大了。想到C#可以调用通用对话框,因此试验了一下,没想到在C#中可以非常容易地解决这个问题,下面就把我的做法给写出来。 本文的例子是调用颜色对话框,对于其他通用对话框做法是一样的。但由于要使用到AutoCAD2004新增加的TrueColor属性,因此,本文所举的例子.
阅读全文
摘要:/// <summary> ///首尾相连的线段连接成多段线 /// V1.0 by WeltionChen @2011.02.17 /// 实现原理: /// 1.选择图面上所有直线段 /// 2.选取选集第一条直线作为起始线段,向线段的两个方向搜索与之相连的直线段 /// 3.搜索方式采用Editor的SelectCrossingWindow方法通过线段的端点创建选集 /// 正常情况下会选到1到2个线段(本程序暂不处理3个线段相交的情况),剔除本身,得到与之相连的直线段 /// 4.处理过的直线段将不再作为起始线段,由集合中剔除 /// 4.通过递归循环依次搜索,直到末端。
阅读全文
摘要:因为有人问到,所以写了个例子。具体的要求是从.NET(比如C#)里面调用AutoCAD ActiveX API实现后台打印DWG文件为PDF文件,而且要把打印页面的大小设置成和DWG视图的页面的大小一致。当然除了ActiveX API,其它接口,比如ObjectARX和AutoCAD.NET API也支持打印并能实现上述功能的。不过我们今天就限定一下范围,用一用ActiveX API,而且指定产品是AutoCAD 2010吧。 执行步骤:打开一个dwg文件,用netload加载下面代码所在的.dll文件,再输入命令plottest,就得到输出结果(一个.pdf文件)。 要用到的参考: AcDb
阅读全文
摘要:来自:http://www.haogongju.net/art/1297389C# AutoCAD ActiveX 二次开发 -- CAD图层合并作者:因是因非 | 出处:博客园 | 2012/2/15 15:24:45 | 阅读13次 因使用AutoCAD版本为2004,2006版本以后才有.net开发包,因此采用ActiveX方式进行开发。功能为:将几个CAD图层合并到其中一个上,并设置坐标,线和标记的颜色和字体。CAD对象的层级为AcadApplication - AcadDocument - AcadModelSpace AcadEntity 1 using Syst...
阅读全文
摘要:判断要素是否被编辑public bool ISEdit (IFeatureClass pFeatureClass){IDatasetEdit pDataEdit = pFeatureClass as IDatasetEdit;return pDataEdit.IsBeingEdited();}来自:arcgis培训文档
阅读全文