cadplayer 发表于 2015-9-15 03:08:06

Autodesk::Civil:Land::D atabaseServices::SurfaceOperationPasteSurface

各位同事,大家好!
我有一个问题,如何构建方法“SurfaceOperationPasteSurface”。例如,我想在绘图中选择一个将粘贴到创建曲面中的曲面之后的代码“ExampleTINSurface” 作为代码。我在CivilAPI方面有点新手,没有太多的经验。也许有人可以帮助我。谢谢!
      

      public void CDS_CreateTinSurface()
      {
            using (tr)
            {
                string surfaceName = "ExampleTINSurface";
                // Select a style to use
                ObjectId surfaceStyleId = civilDoc.Styles.SurfaceStyles;
                // Create the surface
                ObjectId surfaceId = TinSurface.Create(surfaceName, surfaceStyleId);
                TinSurface surface = surfaceId.GetObject(OpenMode.ForWrite) as TinSurface;
               
                tr.Commit();
            }
      }

**** Hidden Message *****

Jeff_M 发表于 2015-9-15 09:33:21

surface.PasteSurface(surfToPasteId);

cadplayer 发表于 2015-9-25 05:26:53

你好
是的,它很管用-谢谢

cadplayer 发表于 2015-9-26 06:45:36

你好!
annybody知道,为什么它不能构建一个新的Civil3d表面,如果在objekt中使用metod

      public void CreateTinSurfaceTest()
      {
            Document m_Doc = Application.DocumentManager.MdiActiveDocument;
            Database db = m_Doc.Database;
            Editor ed = m_Doc.Editor;
            using (Transaction m_Tr = db.TransactionManager.StartTransaction())
            {
                try
                {
                  m_SurfaceId = Autodesk.Civil.DatabaseServices.TinSurface.Create(db, "m_NewSurfaceName");
                  m_Surface = m_SurfaceId.GetObject(OpenMode.ForWrite) as TinSurface;
                  ed.WriteMessage("Import succeeded: {0} \n {1}", m_SurfaceId.ToString(), db.Filename);
                }
                catch (System.Exception e)
                {
                  ed.WriteMessage("Import failed: {0}", e.Message);
                }
                m_Tr.Commit();
            }
      }
通过键入命令:创建 - 它>表面工作“m_NewSurfaceName”会创建
但是如果我从class-object调用metod
public NewSurface()
      {
            Surface newSurf = new Surface();
            newSurf.CreateTinSurfaceTest();
      }
我只得到错误消息“未能创建”
有人知道一个技巧,我如何以另一种方式
创建表面

cadplayer 发表于 2015-9-29 09:51:45

解决了!
http://forums.autodesk.com/t5/net/opening-a-civil-3d-drawing-for-edit-in-c-net/td-p/5490349/page/2
页: [1]
查看完整版本: Autodesk::Civil:Land::D atabaseServices::SurfaceOperationPasteSurface