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

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

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

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

Public void ConvertTag()

{

TaggedObject\[\] GetSelectedObjects = face_select0.GetSelectedObjects();

Face\[\] faces = new Face0;

foreach (var to in GetSelectedObjects)

{

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

facesfaces.Length - 1 = (Face)to;

}

}

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

Public void GetFaceAttr(Face faces)

{

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

{

NXObject.AttributeInformation\[\] attributeInformation1 = facesa.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 double100;

arccenter0 = arc1.center0;

arccenter1 = arc1.center1;

arccenter2 = arc1.center2;

double\[\] arcxaxis = new double100;

arcxaxis0 = arc1.x_axis0;

arcxaxis1 = arc1.x_axis1;

arcxaxis2 = arc1.x_axis2;

double\[\] arcyaxis = new double100;

arcyaxis0 = arc1.y_axis0;

arcyaxis1 = arc1.y_axis1;

arcyaxis2 = arc1.y_axis2;

double\[\] arcR = new double100;

arcR0 = arc1.radius;

bool boolisarc;

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

if (Math.Abs(arc1.limits0) < 0.001 && Math.Abs(arc1.limits1 - 2 * Math.PI) < 0.001)

{

boolvar = true;

}

theUfSession.Eval.Free(uFEval1);

}

return boolvar;

}

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

相关推荐
不是万能的豆学长4 小时前
filetidy 文件整理助手:一键归类 + 规范重命名(Python 零依赖单文件工具)
大数据·开发语言·python·技术美术
懂点Tech8 小时前
ctfshow MISC入门图片篇(信息附加):misc41解题思路
开发语言·python
catchadmin9 小时前
PHP 8.7 协程新提案 让跨协程代码共享请求身份
开发语言·php
念何架构之路10 小时前
go-grpc设计思想
开发语言·后端·golang
酷炫码神10 小时前
Day 10|Pinia 状态管理:把散落在各组件的数据,收进一个全局仓库
android·开发语言·javascript
Elastic 中国社区官方博客11 小时前
我们如何通过 70 多个拉取请求,将 OpenTelemetry Java agent 迁移到 invokedynamic
java·大数据·开发语言·elasticsearch·搜索引擎·全文检索·es
tyn18811 小时前
记录本地安装nacos服务的方法及异常
java·开发语言
步行cgn12 小时前
Spring MVC 视图机制的核心接口与类
java·开发语言·后端·spring·mvc
传奇开心果编程12 小时前
【Rust入门练中学】第5课:引用与借用
开发语言·rust·引用·编程语言理论·通用编程语言·借用
qetfw13 小时前
Bash 变量:export、位置参数与默认值展开验证
linux·开发语言·chrome·bash