遇见123go 发表于 2015-4-27 11:24:56

新手求助

想要获得图层中图斑的面积与面积之和,并输出到excel表格中。新手先谢过。

ivde 发表于 2015-4-27 12:38:47

这个可就复杂了,lisp方法有很多源码

遇见123go 发表于 2015-4-27 12:52:10

ivde 发表于 2015-4-27 12:38 static/image/common/back.gif
这个可就复杂了,lisp方法有很多源码

如果光是获取面积的代码呢用c#

雪山飞狐_lzh 发表于 2015-4-27 13:04:45

图斑?看不懂,,,请说术语

遇见123go 发表于 2015-4-27 13:18:45

雪山飞狐_lzh 发表于 2015-4-27 13:04 static/image/common/back.gif
图斑?看不懂,,,请说术语

就是由多段线构成的封闭图形,新手,不太会,所以求帮忙呀,

雪山飞狐_lzh 发表于 2015-4-27 13:30:31

多义线有Area属性

遇见123go 发表于 2015-4-27 14:05:27

雪山飞狐_lzh 发表于 2015-4-27 13:30 static/image/common/back.gif
多义线有Area属性

可以麻烦弄点代码吗?

雪山飞狐_lzh 发表于 2015-4-27 14:22:53

      
      public static void tta()
      {
            Document doc = Application.DocumentManager.MdiActiveDocument;
            Editor ed = doc.Editor;
            Database db = doc.Database;

            var res =
                ed.SelectAll(
                  new SelectionFilter(
                        new TypedValue[]
                        {
                            new TypedValue(0, "LWPOLYLINE")
                        }));
            if (res.Status != PromptStatus.OK)
                return;

            double totalArea = 0;
            using (var tr = db.TransactionManager.StartTransaction())
            {
                foreach(var id in res.Value.GetObjectIds())
                {
                  var pl = tr.GetObject(id, OpenMode.ForRead) as Polyline;
                  totalArea += pl.Area;
                }
            }

            ed.WriteMessage("\ntotal area is {0}", totalArea);

      }

ivde 发表于 2015-4-27 14:29:37

应该只需要闭合线吧

遇见123go 发表于 2015-4-27 15:57:01

雪山飞狐_lzh 发表于 2015-4-27 14:22 static/image/common/back.gif


非常感谢!!!!!
页: [1] 2
查看完整版本: 新手求助