Smooths the surface using the Natural Neighbor Interpolation (NNI) method.
Namespace: Autodesk.Civil.DatabaseServicesAssembly: AeccDbMgd (in AeccDbMgd.dll) Version: 13.4.2516.0
Syntax
Examples
CopyC#
1
2
3
4[CommandMethod("SmoothTinSurface")]
5public void SmoothTinSurface()
6{
7 using (Transaction ts = Application.DocumentManager.MdiActiveDocument.Database.TransactionManager.StartTransaction())
8 {
9 try
10 {
11
12 ObjectId surfaceId = promptForEntity("Select a TIN surface to smooth\n", typeof(TinSurface));
13 TinSurface oSurface = surfaceId.GetObject(OpenMode.ForWrite) as TinSurface;
14
15
16 ObjectId polylineId = promptForEntity("Select a polyline to define the output region\n", typeof(Polyline));
17 Point3dCollection points = new Point3dCollection();
18 Polyline polyline = polylineId.GetObject(OpenMode.ForRead) as Polyline;
19
20
21 int count = polyline.NumberOfVertices;
22 for (int i = 0; i < count; i++)
23 {
24 points.Add(polyline.GetPoint3dAt(i));
25 }
26
27
28 SurfacePointOutputOptions output = new SurfacePointOutputOptions();
29 output.OutputLocations = SurfacePointOutputLocationsType.Centroids;
30 output.OutputRegions = new Point3dCollection[] { points };
31
32 SurfaceOperationSmooth op = oSurface.SmoothSurfaceByNNI(output);
33
34 editor.WriteMessage("Output Points: {0}\n", op.OutPutPoints.Count);
35
36
37 ts.Commit();
38 }
39 catch (System.Exception e) { editor.WriteMessage(e.Message); }
40 }
41}
See Also