|
AnyCAD Rapid API 2026
Help you to create a better world!
|
几何拓扑形状对象 更多...
Public 成员函数 | |
| TopoShape (global::System.IntPtr cPtr, bool cMemoryOwn) | |
| 仅供内部使用 | |
| override ClassId | GetClassId () |
| 获取对象的类型信息 | |
| EnumTopoShapeType | GetShapeType () |
| 获取拓扑形状类型 | |
| bool | IsShapeType (EnumTopoShapeType type) |
| 测试形状是否为指定类型 | |
| bool | IsNullShape () |
| 测试形状是否为空 | |
| GBBox | GetBBox () |
| 获取轴对齐包围盒(AABB) | |
| GBBox | GetOptimalBBox () |
| 获取精确包围盒(OBB) | |
| GTrsf | GetLocalTransform () |
| 获取局部变换矩阵 | |
| TopoShapeList | GetChildren (EnumTopoShapeType subType) |
| 获取指定类型的子形状列表 | |
| TopoShape | FindChild (EnumTopoShapeType subType, int idx) |
| 查找指定索引的子形状 | |
| int | FindChildIndex (TopoShape subShape) |
| 获取子形状在父形状中的索引 | |
| bool | IsOrientable () |
| 检查形状是否可定向 | |
| TopoShape | Reversed () |
| 获取反向形状 | |
| EnumTopoOrientation | GetOrientation () |
| 获取当前形状的方向 | |
| void | SetOrientation (EnumTopoOrientation orient) |
| 设置形状的方向 | |
| TopoShape | Oriented (EnumTopoOrientation orient) |
| 创建指定方向的新形状 | |
| bool | IsConvex () |
| 检查形状是否为凸形状 | |
| bool | IsEqualShape (TopoShape other) |
| 判断两个形状是否相等(严格比较) | |
| bool | IsSameShape (TopoShape other) |
| 判断两个形状是否相同(忽略方向) | |
| bool | IsPartnerShape (TopoShape other) |
| 判断两个形状是否为伙伴(共享底层几何) | |
| bool | IsClosed () |
| 检查形状是否封闭 | |
| string | toString () |
| 将形状转换为字符串表示 | |
| ulong | HashCode () |
| 计算形状的哈希码 | |
| bool | Write (string fileName) |
| 将形状保存到文件 | |
Public 成员函数 继承自 AnyCAD.Foundation.AObject | |
| AObject (global::System.IntPtr cPtr, bool cMemoryOwn) | |
| 仅供内部使用 | |
| void | Dispose () |
| virtual bool | IsEqual (AObject other) |
| 对象是否相同,或同一个对象 | |
静态 Public 成员函数 | |
| static new ClassId | GetStaticClassId () |
| static TopoShape | Cast (AObject obj) |
| static TopoShape | Read (string buffer) |
| 从文件读取形状 | |
静态 Public 成员函数 继承自 AnyCAD.Foundation.AObject | |
| static ClassId | GetStaticClassId () |
| 获取类信息 | |
几何拓扑形状对象
TopoShape是几何内核中的核心类,用于表示和管理三维几何拓扑结构。 它提供了对顶点、边、线框、面、壳、实体和复合体等 拓扑元素的操作和查询功能。支持形状的变换、方向控制、属性查询以及序列化操作。
| TopoShape AnyCAD.Foundation.TopoShape.FindChild | ( | EnumTopoShapeType | subType, |
| int | idx ) |
查找指定索引的子形状
| subType | 子形状的拓扑类型 |
| idx | 索引值(从0开始) |
根据类型和索引获取特定的子形状。
| int AnyCAD.Foundation.TopoShape.FindChildIndex | ( | TopoShape | subShape | ) |
获取子形状在父形状中的索引
| subShape | 要查找的子形状 |
用于确定子形状在其同类型兄弟形状中的位置。
| GBBox AnyCAD.Foundation.TopoShape.GetBBox | ( | ) |
获取轴对齐包围盒(AABB)
计算并返回形状的轴对齐包围盒,用于快速的空间查询和碰撞检测。 此方法性能较好,但可能不是最紧密的包围盒。
| TopoShapeList AnyCAD.Foundation.TopoShape.GetChildren | ( | EnumTopoShapeType | subType | ) |
获取指定类型的子形状列表
| subType | 子形状的拓扑类型 |
遍历形状的所有子元素,返回指定类型的子形状集合。 例如,可以从实体中获取所有面,或从复合体中获取所有边。
|
virtual |
| GTrsf AnyCAD.Foundation.TopoShape.GetLocalTransform | ( | ) |
获取局部变换矩阵
返回形状相对于其父形状的局部坐标变换,包括平移、旋转和缩放。
| GBBox AnyCAD.Foundation.TopoShape.GetOptimalBBox | ( | ) |
获取精确包围盒(OBB)
计算并返回形状的最优包围盒,比GetBBox()更精确但性能较低。 适用于需要精确包围盒的场景。
| EnumTopoOrientation AnyCAD.Foundation.TopoShape.GetOrientation | ( | ) |
获取当前形状的方向
返回形状的拓扑方向:FORWARD、REVERSED、INTERNAL或EXTERNAL。
| EnumTopoShapeType AnyCAD.Foundation.TopoShape.GetShapeType | ( | ) |
获取拓扑形状类型
返回当前形状的拓扑类型,如顶点、边、线框、面、壳、实体或复合体。
| ulong AnyCAD.Foundation.TopoShape.HashCode | ( | ) |
计算形状的哈希码
基于形状的底层数据生成唯一的哈希值,可用于快速比较和哈希表存储。
| bool AnyCAD.Foundation.TopoShape.IsClosed | ( | ) |
检查形状是否封闭
封闭形状没有边界,如球面、环面或封闭的实体。
| bool AnyCAD.Foundation.TopoShape.IsConvex | ( | ) |
检查形状是否为凸形状
凸形状的定义是:形状内任意两点的连线都在形状内部。
| bool AnyCAD.Foundation.TopoShape.IsEqualShape | ( | TopoShape | other | ) |
判断两个形状是否相等(严格比较)
| other | 要比较的另一个形状 |
相等条件:两个形状共享相同的TShape、位置和方向。 这是最严格的比较方式。
| bool AnyCAD.Foundation.TopoShape.IsNullShape | ( | ) |
测试形状是否为空
检查内部是否包含有效的拓扑形状数据。
| bool AnyCAD.Foundation.TopoShape.IsOrientable | ( | ) |
检查形状是否可定向
可定向形状具有明确的内外侧定义,如封闭的面或实体。
| bool AnyCAD.Foundation.TopoShape.IsPartnerShape | ( | TopoShape | other | ) |
判断两个形状是否为伙伴(共享底层几何)
| other | 要比较的另一个形状 |
伙伴关系条件:两个形状共享相同的TShape,但位置和方向可以不同。 这表示它们引用相同的底层几何数据。
| bool AnyCAD.Foundation.TopoShape.IsSameShape | ( | TopoShape | other | ) |
判断两个形状是否相同(忽略方向)
| other | 要比较的另一个形状 |
相同条件:两个形状共享相同的TShape和位置,但方向可以不同。
| bool AnyCAD.Foundation.TopoShape.IsShapeType | ( | EnumTopoShapeType | type | ) |
测试形状是否为指定类型
| type | 要测试的拓扑类型 |
用于快速判断形状的拓扑类型,避免多次调用GetShapeType()。
| TopoShape AnyCAD.Foundation.TopoShape.Oriented | ( | EnumTopoOrientation | orient | ) |
创建指定方向的新形状
| orient | 指定的方向 |
创建一个与原形状几何相同但方向不同的新形状,原形状保持不变。
|
static |
从文件读取形状
| buffer | 文件路径或数据缓冲区 |
从文件或数据缓冲区加载形状,自动识别文件格式。
| TopoShape AnyCAD.Foundation.TopoShape.Reversed | ( | ) |
获取反向形状
创建一个新的形状对象,其拓扑方向与原形状相反。 原形状保持不变。
| void AnyCAD.Foundation.TopoShape.SetOrientation | ( | EnumTopoOrientation | orient | ) |
设置形状的方向
| orient | 要设置的方向枚举值 |
修改当前形状的拓扑方向。注意这可能影响面的法向和实体的内外侧判断。
| string AnyCAD.Foundation.TopoShape.toString | ( | ) |
将形状转换为字符串表示
返回包含形状类型、拓扑信息等内容的字符串,用于调试和日志记录。
| bool AnyCAD.Foundation.TopoShape.Write | ( | string | fileName | ) |
将形状保存到文件
| fileName | 文件路径 |