cadplayer 发表于 2016-2-20 04:10:38

Civil3d api将轮廓集添加到曲面

Transaction tr = doc.TransactionManager.StartTransaction();
            using (tr)
            {
                TinSurface surf = Surface.GetSurfaceObject(m_name);
                ObjectIdCollection coll = null;
                coll = Selection.Sset3dPolyline();
                SurfaceOperationAddContour contlines = null;
                try
                {
                  contlines = surf.ContoursDefinition.AddContours(coll, 1.0, 100.0, 15.0, 4.444);
                  surf.Rebuild();
                }
                catch (System.Exception ex)
                {
                }
                tr.Commit();
            }
大家好!
我对metod米多轮廓定义有疑问。在Civil3d-api中添加等高线(coll,1.0,100.0,15.0,4.444)
如果我手动将等高线添加到曲面,请选择要添加的3d多段线并给出参数
中距距离= 1
最大距离= 100
剔除距离= 15
剔除角度= 4,444
(见图1)
所选3d多段线之间的三角剖分看起来很好。
但如果我用metod米多ContoursDefinition做同样的事情。AddContours()看起来不一样。我不明白为什么。我错过了什么吗?!
(见图2)



**** Hidden Message *****

cadplayer 发表于 2016-2-20 05:34:50

嗨!
我发现在使用我的代码创建三角形后,如果我只使用Civil3d prospector做同样的事情,在表面上有所不同。
在右例的定义中显示“最小化平面区域”,但在最小代码后创建的三角形中不显示。有关系吗,为什么是不同的三角测量?

Jeff_M 发表于 2016-2-20 10:45:20

当您将Contour数据添加到C3D中的表面定义时,您会提供最小化平坦区域选项。因此,当使用以SurfaceSwitation最小化区域结构为参数的最小化区域()方法在代码中添加它们时,您也必须这样做。

cadplayer 发表于 2016-2-20 14:32:20

超级,我很高兴——非常感谢杰夫。我用metodsurf.MinimizeFlatAreas(SminflatareaO)试了很多次——但是什么都没有发生。我没有意识到ContoursDefinition.AddContours()中的设置在参数中意味着什么?!
中纵坐标距离=1
最大距离=100
除草距离=15
除草角度=4,444
在surf.ContoursDefinition.AddContours(coll,0.001,0.015,0.01,4.0)中使用参数后,它正在向右移动;
            Transaction tr = doc.TransactionManager.StartTransaction();
            using (tr)
            {
                TinSurface surf = Surface.GetSurfaceObject(m_name);
                ObjectIdCollection coll = null;
                coll = Selection.Sset2dPolyline();
                SurfaceOperationAddContour contlines = null;
                SurfaceMinimizeFlatAreaOptions SminiFlatAreaO = new SurfaceMinimizeFlatAreaOptions(true, true, true, true);
                try
                {
                  //contlines = surf.ContoursDefinition.AddContours(coll, 1.0, 100.0, 15.0, 4.444);
                  contlines = surf.ContoursDefinition.AddContours(coll, 0.001, 0.015, 0.01, 4.0);
                  surf.MinimizeFlatAreas(SminiFlatAreaO);
                  surf.Rebuild();
                }
                catch (System.Exception ex)
                {
                }
                tr.Commit();
            }
页: [1]
查看完整版本: Civil3d api将轮廓集添加到曲面