IEllipticArc ellarc = ConstructEllipticArc();
ICurve curve = ellarc as ICurve;
IPointCollection4 ptcollection = new PolygonClass();
IPoint outpt = new PointClass();
for (double i = 0; i < 1; i = i + 0.001)
{
curve.QueryPoint(esriSegmentExtension.esriExtendAtFrom, i, true, outpt);
object missing = Type.Missing;
ptcollection.AddPoint(outpt, missing, missing);
}
1 个回复
刘峥 - ArcGIS多面手
赞同来自:
1.在ArcMap中将CAD含椭圆弧的数据转换为polyline及polygon后计算面积有误差,并且将含椭圆弧的多边形A用直线切割为A1为A2后,A1+A2的面积之和不等于A,此问题esri美国已确认为10.2版本的bug,编号000083668;
2. 在Engine中有同样的问题,效果较好的解决方法为:将椭圆弧打散为短小的直线段,然后再计算多边形面积,得到的结果与理论值差距较小,如:
ArcMap中等同于用Editor工具条上的Split工具将椭圆弧分割成小线段或COGO工具条上的等比例分割。
要回复问题请先登录或注册