NX二次开发C#-----NXopen测量两个面的投影距离

该代码实现了一个计算两个面之间投影距离的方法。通过创建工作部件中的测量距离构建器,设置投影方向为指定向量,并指定两个测量面对象。使用最小投影距离算法创建测量对象,最终返回两个面之间的投影距离值。计算完成后销毁测量构建器以释放资源。该方法适用于需要获取三维空间中面与面之间沿特定方向投影距离的场景。

复制代码
public double ProjectionDistance(Face Disface1, Vector3d DisDirection, Face Disface2)
    {
        double distance = 0.0;

        MeasureDistanceBuilder measureDistanceBuilder1 = workPart.MeasureManager.CreateMeasureDistanceBuilder(null);

        // 创建投影方向对象
        Point3d WcsOrigin = new Point3d(0, 0, 0);
        Direction direction1 = workPart.Directions.CreateDirection(WcsOrigin, DisDirection, SmartObject.UpdateOption.AfterModeling);

        // 设置投影方向
        measureDistanceBuilder1.ProjectionVector = direction1;

        // 设置测量面
        measureDistanceBuilder1.Object1.Value = Disface1;
        measureDistanceBuilder1.Object2.Value = Disface2;

        // 创建投影距离测量对象
        MeasureDistance measureDistance1 = workPart.MeasureManager.NewDistance(null, Disface1, Disface2, direction1, MeasureManager.ProjectionType.Minimum);

        // 获取测量的距离值
        distance = measureDistance1.Value;

        measureDistanceBuilder1.Destroy();

        return distance;

    }
相关推荐
Behavior1 小时前
Unity 7.0 Alpha 拆解:编辑器干掉 Mono 换 CoreCLR
c#·unity3d·游戏开发
淡海水1 小时前
02-06-原理篇-增量式GC与并发GC
算法·unity·c#·并发·gc·增量
Vertira2 小时前
C# 函数封装成 DLL,
开发语言·c#
浅尝辄止;3 小时前
设计模式在HIS/LIS医疗系统中的完整实践指南(C#版)
开发语言·设计模式·c#
kimloner13 小时前
开源一个 376KB 的 Windows 桌面小工具:便签 + 截图标注 + OCR + 待办提醒(C# / WinForms)
windows·开源·c#·ocr·winforms
阿松爱学习14 小时前
【Unity开发】Aspose.PDF的使用
unity·pdf·c#
半亩码田15 小时前
C#转Python第4.8篇:正则表达式:Python re 模块 vs C# System.Text.RegularExpressions
python·正则表达式·c#
FPGA小徐15 小时前
【一生一芯 / PA】异常响应机制:RISC-V 中 ecall → mtvec → mret 的完整代
开发语言·数据库·c#
淡海水16 小时前
02-04-原理篇-GC Roots与对象图遍历
算法·unity·c#·图·gc·遍历·roots
胖纸不争20 小时前
嫌桌面 Agent 太重,我“自己”写了一个
ai·c#·net core