SolidUtil : Modify功能记录

API功能大纲:

namespace Bentley.DgnPlatformNET
{public class Modify : SolidUtil{public Modify();public static BentleyStatus BlendEdges(ref SolidKernelEntity target, SubEntity[] edgesIn, double[] radiiIn, int nEdgesIn, bool propagateSmoothIn);public static BentleyStatus BooleanCut(ref SolidKernelEntity target, CurveVector planarToolIn, CutDirectionMode directionModeIn, CutDepthMode depthModeIn, double distanceIn, bool invertIn, DVector3d defaultNormalIn, uint nodeIdIn);public static BentleyStatus BooleanCut(ref SolidKernelEntity target, CurveVector planarToolIn, CutDirectionMode directionModeIn, CutDepthMode depthModeIn, double distanceIn, bool invertIn, ValueType defaultNormalIn, uint nodeIdIn);public static BentleyStatus BooleanIntersect(ref SolidKernelEntity target, ref SolidKernelEntity[] tools, int nToolsIn);public static BentleyStatus BooleanSubtract(ref SolidKernelEntity target, ref SolidKernelEntity[] tools, int nToolsIn);public static BentleyStatus BooleanUnion(ref SolidKernelEntity target, ref SolidKernelEntity[] tools, int nToolsIn);public static BentleyStatus ChamferEdges(ref SolidKernelEntity target, SubEntity[] edgesIn, double[] values1In, double[] values2In, int nEdgesIn, ChamferMode modeIn, bool propagateSmoothIn);public static BentleyStatus DeleteFaces(ref SolidKernelEntity target, SubEntity[] facesIn, int nFacesIn);public static BentleyStatus DeleteRedundantTopology(ref SolidKernelEntity target);public static BentleyStatus Emboss(ref SolidKernelEntity target, SolidKernelEntity toolIn, bool reverseDirectionIn);public static BentleyStatus HollowFaces(ref SolidKernelEntity target, double defaultDistanceIn, SubEntity[] facesIn, double[] distancesIn, int nFacesIn, StepFacesOption addStepIn);public static BentleyStatus ImprintCurveVectorOnBody(ref SolidKernelEntity target, CurveVector curveVectorIn, ValueType directionIn, bool extendOpenCurvesToEdgeIn);public static BentleyStatus ImprintCurveVectorOnBody(ref SolidKernelEntity target, CurveVector curveVectorIn, DVector3d directionIn, bool extendOpenCurvesToEdgeIn);public static BentleyStatus ImprintWiresOnFace(out SubEntity faceOut, SolidKernelEntity[] wiresIn, bool extendToEdgeIn);public static BentleyStatus OffsetFaces(ref SolidKernelEntity target, SubEntity[] facesIn, double[] distancesIn, int nFacesIn, StepFacesOption addStepIn);public static BentleyStatus SewBodies(out SolidKernelEntity[] sewn, out SolidKernelEntity[] unsewn, ref SolidKernelEntity[] tools, int nToolsIn, double gapWidthBoundIn, int nIterationsIn);public static BentleyStatus SpinBody(ref SolidKernelEntity target, ValueType axisIn, double angleIn);public static BentleyStatus SpinFaces(ref SolidKernelEntity target, SubEntity[] facesIn, int nFacesIn, ValueType axisIn, double angleIn);public static BentleyStatus SweepBody(ref SolidKernelEntity target, ValueType pathIn);public static BentleyStatus SweepBody(ref SolidKernelEntity target, DVector3d pathIn);public static BentleyStatus SweepFaces(ref SolidKernelEntity target, SubEntity[] facesIn, int nFacesIn, ValueType pathIn);public static BentleyStatus SweepFaces(ref SolidKernelEntity target, SubEntity[] facesIn, int nFacesIn, DVector3d pathIn);public static BentleyStatus ThickenSheet(ref SolidKernelEntity target, double frontDistanceIn, double backDistanceIn);public static BentleyStatus TransformBody(ref SolidKernelEntity entityOut, ref DTransform3d transformIn);public static BentleyStatus TransformFaces(ref SolidKernelEntity target, SubEntity[] facesIn, ref DTransform3d translationsIn, int nFacesIn, StepFacesOption addStepIn);public enum CutDepthMode{All = 0,Blind = 1}public enum StepFacesOption{No = 0,Smooth = 1,NonCoincident = 2,All = 3}public enum CutDirectionMode{Forward = 0,Backward = 1,Both = 2}public enum ChamferMode{Ranges = 0,Length = 1,Distances = 2,DistanceAngle = 3,AngleDistance = 4}}
}

API功能明细:

// 将指定的边缘进行混合(例如,圆角处理)  
public static BentleyStatus BlendEdges(  ref SolidKernelEntity target,         // 目标实体  SubEntity[] edgesIn,                 // 要处理的边缘数组  double[] radiiIn,                    // 每个边缘的半径数组  int nEdgesIn,                        // 要处理的边缘数量  bool propagateSmoothIn               // 是否传播平滑效果  
);  // 使用平面工具对目标实体进行布尔切割操作  
public static BentleyStatus BooleanCut(  ref SolidKernelEntity target,             // 目标实体  CurveVector planarToolIn,                 // 平面切割工具  CutDirectionMode directionModeIn,         // 切割方向模式  CutDepthMode depthModeIn,                // 切割深度模式  double distanceIn,                       // 切割距离  bool invertIn,                           // 是否反转切割结果  DVector3d defaultNormalIn,                // 默认法线向量  uint nodeIdIn                            // 节点ID(可能是用于特定上下文或标识)  
);  // 与上一个方法类似,但默认法线向量的数据类型不同  
public static BentleyStatus BooleanCut(  // ... 参数与上一个方法类似,但defaultNormalIn的类型不同 ...  ValueType defaultNormalIn,                // 默认法线向量的值类型  // ... 其余参数相同 ...  
);  // 对目标实体和一系列工具实体进行布尔求交操作  
public static BentleyStatus BooleanIntersect(  ref SolidKernelEntity target,             // 目标实体  ref SolidKernelEntity[] tools,            // 工具实体数组  int nToolsIn                             // 工具实体的数量  
);  // 对目标实体和一系列工具实体进行布尔相减操作  
public static BentleyStatus BooleanSubtract(  // ... 参数与BooleanIntersect类似 ...  
);  // 对目标实体和一系列工具实体进行布尔并集操作  
public static BentleyStatus BooleanUnion(  // ... 参数与BooleanIntersect类似 ...  
);  // 对目标实体的边缘进行倒角处理  
public static BentleyStatus ChamferEdges(  ref SolidKernelEntity target,             // 目标实体  SubEntity[] edgesIn,                     // 要处理的边缘数组  double[] values1In,                      // 第一个倒角值数组  double[] values2In,                      // 第二个倒角值数组  int nEdgesIn,                            // 要处理的边缘数量  ChamferMode modeIn,                      // 倒角模式  bool propagateSmoothIn                   // 是否传播平滑效果  
);  // 从目标实体中删除指定的面  
public static BentleyStatus DeleteFaces(  ref SolidKernelEntity target,             // 目标实体  SubEntity[] facesIn,                     // 要删除的面数组  int nFacesIn                             // 要删除的面的数量  
);  // 从目标实体中删除冗余的拓扑结构  
public static BentleyStatus DeleteRedundantTopology(  ref SolidKernelEntity target              // 目标实体  
);  // 使用工具实体对目标实体进行浮雕处理  
public static BentleyStatus Emboss(  ref SolidKernelEntity target,             // 目标实体  SolidKernelEntity toolIn,                 // 工具实体  bool reverseDirectionIn                   // 是否反转浮雕方向  
);  // 对目标实体的面进行挖空处理  
public static BentleyStatus HollowFaces(  ref SolidKernelEntity target,             // 目标实体  double defaultDistanceIn,                 // 默认挖空距离  SubEntity[] facesIn,                     // 要挖空的面数组  double[] distancesIn,                    // 每个面的挖空距离数组  int nFacesIn,                            // 要挖空的面的数量  StepFacesOption addStepIn                // 挖空面的阶梯选项  
);  // 在目标实体上压印曲线向量  
public static BentleyStatus ImprintCurveVectorOnBody(  ref SolidKernelEntity target,             // 目标实体  CurveVector curveVectorIn,                // 要压印的曲线向量  ValueType directionIn,                    // 压印方向的值类型  bool extendOpenCurvesToEdgeIn             // 是否将开放的曲线延伸到边缘  
);// 将指定的边缘进行混合(例如,圆角处理)  
public static BentleyStatus BlendEdges(  ref SolidKernelEntity target,         // 目标实体  SubEntity[] edgesIn,                 // 要处理的边缘数组  double[] radiiIn,                    // 每个边缘的半径数组  int nEdgesIn,                        // 要处理的边缘数量  bool propagateSmoothIn               // 是否传播平滑效果  
);  // 使用平面工具对目标实体进行布尔切割操作  
public static BentleyStatus BooleanCut(  ref SolidKernelEntity target,             // 目标实体  CurveVector planarToolIn,                 // 平面切割工具  CutDirectionMode directionModeIn,         // 切割方向模式  CutDepthMode depthModeIn,                // 切割深度模式  double distanceIn,                       // 切割距离  bool invertIn,                           // 是否反转切割结果  DVector3d defaultNormalIn,                // 默认法线向量  uint nodeIdIn                            // 节点ID(可能是用于特定上下文或标识)  
);  // 与上一个方法类似,但默认法线向量的数据类型不同  
public static BentleyStatus BooleanCut(  // ... 参数与上一个方法类似,但defaultNormalIn的类型不同 ...  ValueType defaultNormalIn,                // 默认法线向量的值类型  // ... 其余参数相同 ...  
);  // 对目标实体和一系列工具实体进行布尔求交操作  
public static BentleyStatus BooleanIntersect(  ref SolidKernelEntity target,             // 目标实体  ref SolidKernelEntity[] tools,            // 工具实体数组  int nToolsIn                             // 工具实体的数量  
);  // 对目标实体和一系列工具实体进行布尔相减操作  
public static BentleyStatus BooleanSubtract(  // ... 参数与BooleanIntersect类似 ...  
);  // 对目标实体和一系列工具实体进行布尔并集操作  
public static BentleyStatus BooleanUnion(  // ... 参数与BooleanIntersect类似 ...  
);  // 对目标实体的边缘进行倒角处理  
public static BentleyStatus ChamferEdges(  ref SolidKernelEntity target,             // 目标实体  SubEntity[] edgesIn,                     // 要处理的边缘数组  double[] values1In,                      // 第一个倒角值数组  double[] values2In,                      // 第二个倒角值数组  int nEdgesIn,                            // 要处理的边缘数量  ChamferMode modeIn,                      // 倒角模式  bool propagateSmoothIn                   // 是否传播平滑效果  
);  // 从目标实体中删除指定的面  
public static BentleyStatus DeleteFaces(  ref SolidKernelEntity target,             // 目标实体  SubEntity[] facesIn,                     // 要删除的面数组  int nFacesIn                             // 要删除的面的数量  
);  // 从目标实体中删除冗余的拓扑结构  
public static BentleyStatus DeleteRedundantTopology(  ref SolidKernelEntity target              // 目标实体  
);  // 使用工具实体对目标实体进行浮雕处理  
public static BentleyStatus Emboss(  ref SolidKernelEntity target,             // 目标实体  SolidKernelEntity toolIn,                 // 工具实体  bool reverseDirectionIn                   // 是否反转浮雕方向  
);  // 对目标实体的面进行挖空处理  
public static BentleyStatus HollowFaces(  ref SolidKernelEntity target,             // 目标实体  double defaultDistanceIn,                 // 默认挖空距离  SubEntity[] facesIn,                     // 要挖空的面数组  double[] distancesIn,                    // 每个面的挖空距离数组  int nFacesIn,                            // 要挖空的面的数量  StepFacesOption addStepIn                // 挖空面的阶梯选项  
);  // 在目标实体上压印曲线向量  
public static BentleyStatus ImprintCurveVectorOnBody(  ref SolidKernelEntity target,             // 目标实体  CurveVector curveVectorIn,                // 要压印的曲线向量  ValueType directionIn,                    // 压印方向的值类型  bool extendOpenCurvesToEdgeIn             // 是否将开放的曲线延伸到边缘  
);
// 在实体上压印曲线向量  
public static BentleyStatus ImprintCurveVectorOnBody(  ref SolidKernelEntity target, // 目标实体(引用)  CurveVector curveVectorIn, // 曲线向量  DVector3d directionIn, // 方向向量  bool extendOpenCurvesToEdgeIn // 是否将开放曲线扩展到边缘  
);  // 在面上压印线框  
public static BentleyStatus ImprintWiresOnFace(  out SubEntity faceOut, // 输出的面(输出参数)  SolidKernelEntity[] wiresIn, // 输入的线框数组  bool extendToEdgeIn // 是否扩展到边缘  
);  // 偏移面  
public static BentleyStatus OffsetFaces(  ref SolidKernelEntity target, // 目标实体(引用)  SubEntity[] facesIn, // 输入的面数组  double[] distancesIn, // 偏移距离数组  int nFacesIn, // 面的数量  StepFacesOption addStepIn // 添加步骤的选项  
);  // 缝合实体  
public static BentleyStatus SewBodies(  out SolidKernelEntity[] sewn, // 缝合后的实体数组(输出参数)  out SolidKernelEntity[] unsewn, // 未缝合的实体数组(输出参数)  ref SolidKernelEntity[] tools, // 工具实体数组(引用)  int nToolsIn, // 工具实体的数量  double gapWidthBoundIn, // 间隙宽度的界限  int nIterationsIn // 迭代次数  
);  // 旋转实体  
public static BentleyStatus SpinBody(  ref SolidKernelEntity target, // 目标实体(引用)  ValueType axisIn, // 旋转轴  double angleIn // 旋转角度  
);  // 旋转面  
public static BentleyStatus SpinFaces(  ref SolidKernelEntity target, // 目标实体(引用)  SubEntity[] facesIn, // 输入的面数组  int nFacesIn, // 面的数量  ValueType axisIn, // 旋转轴  double angleIn // 旋转角度  
);  // 沿路径扫掠实体  
// 有两个重载版本,分别接受ValueType和DVector3d作为路径参数  
public static BentleyStatus SweepBody(  ref SolidKernelEntity target, // 目标实体(引用)  ValueType pathIn // 路径(ValueType类型)  
);  public static BentleyStatus SweepBody(  ref SolidKernelEntity target, // 目标实体(引用)  DVector3d pathIn // 路径(DVector3d类型)  
);  // 沿路径扫掠面  
// 同样有两个重载版本,分别接受ValueType和DVector3d作为路径参数  
public static BentleyStatus SweepFaces(  ref SolidKernelEntity target, // 目标实体(引用)  SubEntity[] facesIn, // 输入的面数组  int nFacesIn, // 面的数量  ValueType pathIn // 路径(ValueType类型)  
);  public static BentleyStatus SweepFaces(  ref SolidKernelEntity target, // 目标实体(引用)  SubEntity[] facesIn, // 输入的面数组  int nFacesIn, // 面的数量  DVector3d pathIn // 路径(DVector3d类型)  
);  // 加厚片体  
public static BentleyStatus ThickenSheet(  ref SolidKernelEntity target, // 目标实体(引用)  double frontDistanceIn, // 前面加厚距离  double backDistanceIn // 后面加厚距离  
);  // 变换实体  
public static BentleyStatus TransformBody(  ref SolidKernelEntity entityOut, // 输出的实体(引用)  ref DTransform3d transformIn // 变换矩阵(引用)  
);  // 变换面  
public static BentleyStatus TransformFaces(  ref SolidKernelEntity target, // 目标实体(引用)  SubEntity[] facesIn, // 输入的面数组  ref DTransform3d translationsIn, // 变换矩阵(引用),这里可能是笔误,通常称为“变换”而不仅仅是“平移”  int nFacesIn, // 面的数量  StepFacesOption addStepIn // 添加步骤的选项  
);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/832570.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

液晶数显式液压万能试验机WES-300B

一、简介 主机为两立柱、两丝杠、油缸下置式,拉伸空间位于主机的上方,压缩、弯曲试验空间位于主机下横梁和工作台之间。测力仪表采用高清液晶显示屏,实验数据方便直观。 主要性能技术指标 最大试验力(kN) 300 试…

FreeRTOS资源管理

1.以前临界资源的保护方式 有使用过静态局部变量来保护临界资源,也有用队列,信号量,互斥量来保护临界资源。这些都是在多个任务会共同使用临界资源的情况下我们的保护方式。 问题提出:如果有个传感器在读取数据时有严格的时序&a…

舒尔补【Schur Complement】

文章目录 一、定义二、推导三、一些性质四、解线性方程组五、参考资料 舒尔补(Schur complement)是线性代数中的一个重要概念,经常在矩阵理论、优化问题和数值计算中出现。舒尔补可以用来简化大型线性系统的求解和分析,特别是在稀疏矩阵和块矩…

前端基础学习html(1)

1.标题标签.h1,h2...h6 2.段落标签p 换行标签br 3.加粗strong(b) /倾斜em(i) /删除 del(s) /下划线ins(u) 4.盒子:div //一行一个 span//一行多个 5.img :src alt title width height border 图片src引用:相对路径 上级/同级/中级 绝对路径&#xff…

触动精灵纯本地离线文字识别插件

目的 触动精灵是一款可以模拟鼠标和键盘操作的自动化工具。它可以帮助用户自动完成一些重复的、繁琐的任务,节省大量人工操作的时间。但触动精灵的图色功能比较单一,无法识别屏幕上的图像,根据图像的变化自动执行相应的操作。本篇文章主要讲解…

GitHacker:Git源码泄漏检测工具可恢复整个Git Repo

GitHacker是一个多线程工具,用于检测站点是否存在git源码泄漏,并能够将网站源代码下载到本地。值得一提的是,这个工具会将整个git repo恢复到本地,而不是像[githack]那样,只是简单的恢复到最新版本。如此一来&#xff…

【Java基础】三大特性——多态

多态的前提条件:继承可以简单理解为:把子类看成父类类型(反之是错误的) 优缺点 弊端: 只能使用父类(父接口)中定义的功能好处: 函数的参数定义为父类(父接口)类型,可以…

使用idea编辑器回退git已经push的代码

直接上结果 选择想要回退的那次/多次提交历史, 右击, 选中 revert commit git自动产生一个Revert记录,然后我们会看到git自动将我第三次错误提交代码回退了,这个其实就相当于git帮我们手动回退了代码。 后续,只需要我们将本次改动push到远…

Vue 介绍

【1】前端发展史 前端的发展史可简述为: 从最初的静态页面编写,依赖后端模板渲染逐步演化为通过JavaScript(特别是Ajax技术)实现前后端分离,使得前端能够独立地加载数据和渲染页面随后,Angular、React、Vu…

《鸿蒙:开启智能新时代的璀璨之光》

在科技的浩瀚宇宙中,华为鸿蒙犹如一颗闪耀的明星,迸发出璀璨的光芒。它是智慧与创新的完美融合,以其卓越的性能和独特的设计,颠覆着我们对科技的认知。 鸿蒙系统,就像一幅绚丽多彩的奇幻画卷,在我们眼前徐徐…

VUE 监视数据原理

1、如何监测对象中的数据? 通过setter实现监视,且要在new vue时就传入监测的数据 (1)对象中后加的属性,vue默认不做响应式处理 (2)如需给后添加的属性做响应式,请使用如下API&#x…

open 函数到底做了什么

使用设备之前我们通常都需要调用 open 函数,这个函数一般用于设备专有数据的初始化,申请相关资源及进行设备的初始化等工作,对于简单的设备而言,open 函数可以不做具体的工作,你在应用层通过系统调用 open 打开设备…

Docker部署PostgreSQL

1. 指令: # 拉取镜像 docker pull postgres# 创建容器 docker run --name postgres -e POSTGRES_PASSWORDpostgres -p 5432:5432 -v /mydata/docker/postgres/data:/var/lib/postgresql/data -d postgres# 或: docker run \--name postgres \-e POSTGRE…

2024年电化学、可再生能源与绿色发展国际会议(ICERGD2024)

2024年电化学、可再生能源与绿色发展国际会议(ICERGD2024) 会议简介 2024国际电化学、可再生能源与绿色发展大会(ICERGD2024)将在青岛隆重举行。本次会议聚焦电化学、可再生能源和绿色发展领域的最新研究成果和技术趋势,旨在促进相关领域…

OpenNJet:下一代云原生应用引擎

OpenNJet:下一代云原生应用引擎 前言一、技术架构二、新增特性1. 透明流量劫持2. 熔断机制3. 遥测与故障注入 三、Ubuntu 发行版安装 OpentNJet1. 添加gpg 文件2. 添加APT 源3. 安装及启动4. 验证 总结 前言 OpenNJet,是一款基于强大的 NGINX 技术栈构建…

typescript类型基础

typescript类型基础 枚举类型 enum Season {Spring,Summer,Fall,Winter }数值型枚举 enum Direction {Up,Down,Left,Right } const direction:Direction Direction.up每个数值型枚举成员都表示一个具体的数字,如果在定义一个枚举的时候没有设置枚举成员的值&…

Excel利用数据透视表将二维数据转换为一维数据(便于后面的可视化分析)

一维数据:属性值都不可合并,属性值一般在第一列或第一行。 二维数据:行属性或列属性是可以继续合并的,如下数据中行属性可以合并为【月份】 下面利用数据透视表将二维数据转换为一维数据: 1、在原来的数据上插入数据透…

MySQL字符编码中的各个字符集的区别

MySQL8.0及以后版本 默认的字符集是utf8mb4,默认的排序规则是utf8mb4_0900_ai_ci。此排序规则不区分大小写,所以在项目查询功能中要格外注意。另外此排序规则不兼容MySQL8.0之前的数据,当做关联查询时会报错。 MySQL8.0之前版本 默认的字符…

MySQL 社区经理:MySQL 8.4 InnoDB 参数默认值为什么要这么改?

MySQL 8.4 LTS 版本,我们一共修改了 20 个 InnoDB 变量的默认值。 作者:Frederic Descamps,EMEA 和亚太地区的 MySQL 社区经理。于 2016 年 5 月加入 MySQL 社区团队。担任开源和 MySQL 顾问已超过 15 年。最喜欢的主题是高可用和高性能。 本…

解决一个朋友的nbcio-boot的mysql数据库问题

1、原先安装mysql5.7数据库,导入我的项目里的带数据有报错信息 原因不明 2、只能建议用docker进行msyql5.7的安装 如下,可以修改成自己需要的信息 docker run -p 3306:3306 --name mastermysql -v /home/mydata/mysql/data:/var/lib/mysql -e MYSQL_R…