UG/NX 二次开发(C#) 获取曲面的中心点坐标

本文介绍了在二开过程中如何计算曲面的中心点坐标,当遇到大佬提到的"0.5uv"概念时,作者通过研究理解了其含义。代码示例展示了如何使用UG NX的API来实现这一功能,通过计算面的u、v参数空间的中点,从而获取曲面上的中心点。调试结果显示方法有效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 二开过程中,需要用到曲面的中心点坐标,没有直接的获取方法,找了一些群友问,大佬甩我一句0.5uv,完全没看明白什么意思,没有设计基础做二开的是尴尬。
经过多方查阅资料终于明白大佬的意思,顺便整理出来与大家分享。

废话不多说,直接上源码:

    /// <summary>
    /// 获取曲面的中心点
    /// </summary>
    /// <param name="face"></param>
    /// <returns></returns>
    public static Point3d GetCenterPoint(Face face)
    {
        theUFSession = UFSession.GetUFSession();
        IntPtr evaluator;
        theUFSession.Evalsf.Initialize2(face.Tag, out evaluator);  //初始化面部评估器结构 
        double[] uv_min_max = new double[4] { 0.0, 1.0, 0.0, 1.0 };
        theUFSession.Evalsf.AskFaceUvMinmax(evaluator, uv_min_max);   //计算面的u,v参数空间min,max 
        double[] uv_pair = { 0.5 * (uv_min_max[0] + uv_min_max[1]), 0.5 * (uv_min_max[2] + uv_min_max[3]) };

        ModlSrfValue surf_eval;
        theUFSession.Evalsf.Evaluate(evaluator, 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MarcoPro

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值