GetReportProperty方法返回的是布尔值
时间: 2024-02-25 17:53:12 浏览: 129
抱歉,再次感谢您指出我的错误。在 Tekla Open API 中,GetReportProperty 方法返回的确实是布尔类型的值,表示报告属性是否存在。如果属性存在,则可以使用 GetDoubleValue 方法获取属性值。以下是示例代码:
```csharp
using Tekla.Structures.Model;
public void GetComponentCOG()
{
Model model = new Model();
// 获取构件 ID,这里假设构件 ID 已知
Identifier componentId = new Identifier(123);
// 获取构件的 COG_X、COG_Y、COG_Z 值
double cogX = 0;
double cogY = 0;
double cogZ = 0;
if (model.GetReportProperty("COG_X", componentId))
{
cogX = model.GetReportProperty("COG_X", componentId).GetDoubleValue();
}
if (model.GetReportProperty("COG_Y", componentId))
{
cogY = model.GetReportProperty("COG_Y", componentId).GetDoubleValue();
}
if (model.GetReportProperty("COG_Z", componentId))
{
cogZ = model.GetReportProperty("COG_Z", componentId).GetDoubleValue();
}
}
```
其中,"123" 是要获取 COG 值的构件 ID,可以根据实际情况替换为其他构件的 ID。使用 GetReportProperty 方法获取 COG 值时,需要使用构件的标识符作为第二个参数,以指示 COG 值所属的构件。如果属性存在,则使用 GetDoubleValue 方法将属性值转换为实数类型,并赋值给 cogX、cogY 和 cogZ 变量。
需要注意的是,在使用 GetReportProperty 方法获取属性值时,需要确保属性名称和对象的标识符的正确性。如果属性名拼写错误或属性不存在,或者标识符无效,将会返回 false,表示属性不存在。另外,获取 COG 值时,需要确保构件已经被定位,否则 COG 值可能不准确。
阅读全文