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 ***** 嗨!
我发现在使用我的代码创建三角形后,如果我只使用Civil3d prospector做同样的事情,在表面上有所不同。
在右例的定义中显示“最小化平面区域”,但在最小代码后创建的三角形中不显示。有关系吗,为什么是不同的三角测量?
当您将Contour数据添加到C3D中的表面定义时,您会提供最小化平坦区域选项。因此,当使用以SurfaceSwitation最小化区域结构为参数的最小化区域()方法在代码中添加它们时,您也必须这样做。
超级,我很高兴——非常感谢杰夫。我用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]