欢迎来到我的博客
Civil 3D开发与应用,欢迎加入QQ群:484124761
AutoCAD开发,欢迎加入QQ群:193522571

将曲面移至指定文件夹

参照这个帖子

简单修改了一下,

 

改成了扩展方法:

复制代码
public static void MoveTo(this TinSurface sur,string folderName)
{
    var surfRootFolderId = Autodesk.Civil.DatabaseServices.FolderUtil.GetNonAlignmentRootFolder(RXClass.GetClass(typeof(Autodesk.Civil.DatabaseServices.Surface)), sur.Database);
    using (Transaction tr = sur.Database.TransactionManager.StartTransaction())
    {
        var surfRootFolder = (Folder)tr.GetObject(surfRootFolderId, OpenMode.ForWrite);
        Folder folder = null;
        foreach (ObjectId id in surfRootFolder.GetSubFolders())
        {
            var f = (Folder)tr.GetObject(id, OpenMode.ForRead);
            if (f.Name == folderName)
            {
                folder = f;
                folder.UpgradeOpen();
                break;
            }
        }
        if (folder == null)
            folder = (Folder)tr.GetObject(surfRootFolder.CreateFolder(folderName), OpenMode.ForWrite);
        if (sur.FolderId != folder.ObjectId)
            folder.AddEntity(sur.ObjectId);
        tr.Commit();
    }
}
复制代码

 

 
 
 
posted @   david96007  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2019-04-10 景观施工图微地形等高线赋值
2019-04-10 批量修改曲面样式中的显示模式
2019-04-10 《AutoCAD Civil 3D .NET二次开发》勘误2
点击右上角即可分享
微信分享提示