您的位置:首页 > 游戏 > 游戏 > C#:通用方法总结—第16集

C#:通用方法总结—第16集

2024/11/15 15:37:25 来源:https://blog.csdn.net/m0_53104033/article/details/141091434  浏览:    关键词:C#:通用方法总结—第16集

大家好,今天继续介绍我们的通用方法系列。

下面是今天要介绍的通用方法:

(1)这个通用方法为TaggedObject转换为Face

Public void  ConvertTag()

{

TaggedObject[] GetSelectedObjects = face_select0.GetSelectedObjects();

                Face[] faces = new Face[0];

                foreach (var to in GetSelectedObjects)

                {

                    Array.Resize(ref faces, faces.Length + 1);

                    faces[faces.Length - 1] = (Face)to;

                }

}

(2)这个通用方法为UG获取面属性

Public void GetFaceAttr(Face faces)

{

for (int a = 0; a < faces.Length; a++)

                {

                    NXObject.AttributeInformation[] attributeInformation1 = faces[a].GetUserAttributes();

                    foreach (var ai in attributeInformation1)//遍历面属性

                    {

                        if (ai.Type == NXObject.AttributeType.String)//属性是string类型

                        {

                            if (ai.Title == "A")//属性名

                            {

                                string value= (ai.StringValue);

                            }

                        }

                    }

                }

}

(3)这个通用方法为 判断圆形边是不是封闭的

/// <summary>

    /// 判断圆形边是不是封闭的,返回的是bool值

    /// </summary>

    /// <param name="edgetag"></param>

    /// <returns></returns>

    bool judgecircle(Tag edgetag)//判断圆形边是不是封闭的,返回的是bool值

    {

        IntPtr uFEval1;

        theUfSession.Eval.Initialize(edgetag, out uFEval1);

        UFEval.Arc arc1;

        theUfSession.Eval.AskArc(uFEval1, out arc1);

        bool boolvar = false;

        if (arc1.is_periodic)//判断是否为整圆

        {

            double[] arccenter = new double[100];

            arccenter[0] = arc1.center[0];

            arccenter[1] = arc1.center[1];

            arccenter[2] = arc1.center[2];

            double[] arcxaxis = new double[100];

            arcxaxis[0] = arc1.x_axis[0];

            arcxaxis[1] = arc1.x_axis[1];

            arcxaxis[2] = arc1.x_axis[2];

            double[] arcyaxis = new double[100];

            arcyaxis[0] = arc1.y_axis[0];

            arcyaxis[1] = arc1.y_axis[1];

            arcyaxis[2] = arc1.y_axis[2];

            double[] arcR = new double[100];

            arcR[0] = arc1.radius;

            bool boolisarc;

            theUfSession.Eval.IsArc(uFEval1, out boolisarc);

            if (Math.Abs(arc1.limits[0]) < 0.001 && Math.Abs(arc1.limits[1] - 2 * Math.PI) < 0.001)

            {

                boolvar = true;

            }

            theUfSession.Eval.Free(uFEval1);

        }

        return boolvar;

    }

今天要介绍的就是这么多,我们下篇文章再见。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com