Civil 3D 二次开发 翻转曲面高程分析颜色

本文介绍了一种通过编程方式实现三角网曲面(TIN Surface)的表面高程分析翻转的方法。利用Civil 3D API,该方法能够交换曲面颜色方案,从而直观地展示高程变化。此技术适用于地形模拟与分析。

不解释,直接上代码及截图。

 

[CommandMethod("RvsSEA")]
public void ReverseSurfaceElevationAnalysis()
{
    CivilDocument civilDoc = CivilApplication.ActiveDocument;

    Document doc = Application.DocumentManager.MdiActiveDocument;
    Editor ed = doc.Editor;
    PromptEntityOptions peo = new PromptEntityOptions("拾取三角网曲面");
    peo.SetRejectMessage("\n请选择三角网曲面");
    peo.AddAllowedClass(typeof(TinSurface), true);
    PromptEntityResult per = ed.GetEntity(peo);

    ObjectId surfaceId = ObjectId.Null;
    if (per.Status == PromptStatus.OK)
    {
        surfaceId = per.ObjectId;
    }
    else return;

    using (Transaction ts = Application.DocumentManager.MdiActiveDocument.Database.TransactionManager.StartTransaction())
    {

        TinSurface oSurface = surfaceId.GetObject(OpenMode.ForWrite) as TinSurface;

        SurfaceAnalysisElevationData[] analysisData = oSurface.Analysis.GetElevationData();
        

        int n = analysisData.Length;

        for (int i = 0; i < n / 2; i++)
        {
            Color tempColor = analysisData[i].Scheme;
            analysisData[i].Scheme = analysisData[n-1-i].Scheme;
            analysisData[n - 1 - i].Scheme = tempColor;
        }
        
        oSurface.Analysis.SetElevationData(analysisData);

        ts.Commit();
    }
}

之前:

 

 

翻转后:

 

 

 

转载于:https://www.cnblogs.com/myzw/p/7097143.html

Civil 3D 是由 Autodesk 开发的一款面向土木工程和土地规划的软件。它提供了一系列功能强大的工具,用于设计、分析和文档化土地和基础设施项目。 要进行 Civil 3D二次开发,您可以使用 Autodesk 提供的开发环境和 API。具体来说,您可以使用以下方法来扩展和定制 Civil 3D 的功能: 1. .NET API:Civil 3D 提供了面向对象的 .NET API,可以使用 C# 或 VB.NET 等编程语言进行开发。您可以使用这些 API 访问和操作 Civil 3D 中的对象、属性和方法。 2. AutoLISP 和 Visual LISP:这些是针对 AutoCAD 平台的脚本语言,可以通过加载 LISP 文件来扩展 Civil 3D 的功能。您可以使用 AutoLISP 或 Visual LISP 脚本来自动执行特定的任务或创建自定义命令。 3. Dynamo:Dynamo 是一个开源的可视化编程工具,可以与 Civil 3D 集成。您可以使用 Dynamo 的节点和工作流来创建自定义脚本,以实现复杂的设计和分析操作。 4. 数据连接:Civil 3D 支持与外部数据源(如数据库、Web 服务等)进行连接和交互。您可以使用这些功能来集成其他系统或数据源,并在 Civil 3D 中进行数据交换和同步。 通过以上方法,您可以根据具体需求进行二次开发,例如创建自定义命令、自动化任务、数据导入导出、报表生成等。Autodesk 提供了大量的文档、示例代码和开发者社区,可以帮助您入门和解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值