我需要使用C ++阅读简单的步骤文件(车削零件)。因此,我尝试使用Open Cascade。我已经可以打开步骤文件并读取文件中的形状数量。现在,我需要获取几何数据(长度,宽度,直径..),但是尽管阅读了所有文档,但我不知道它是如何工作的。 有没有已经使用Open Cascade并可以帮助我解决问题的人?我会很高兴的,谢谢!!
那是我的代码
<script>
fbq('trackCustom', 'Passenger', {
value:{{DataLayer Price}},
currency: 'USD'
});
</script>
This is our DataLayer code:
'[
{
"gtm.start": XXXXXXXXXXX,
"event": "gtm.js",
"gtm.uniqueEventId": 0
},
{
"gtm.start": XXXXXXXXXXX,
"event": "gtm.js",
"gtm.uniqueEventId": 6
},
{
"event": "checkout",
"ecommerce": {
"currencyCode": "USD",
"checkout": {
"products": [
{
"name": "XXXXXX",
"id": "84",
"price": "55",
"category": "XXXXXXX",
"quantity": "X"
}
]
}
},
"gtm.uniqueEventId": 7
},
{
"event": "gtm.dom",
"gtm.uniqueEventId": 11
},
{
"event": "gtm.load",
"gtm.uniqueEventId": 14
}
]'
答案 0 :(得分:2)
检查FreeCad源代码。他们使用OpenCascade,并且可以导入step和iges。它应该让您开始。 https://github.com/FreeCAD/FreeCAD/blob/master/src/Mod/Part/App/ImportStep.cpp中的功能ImportStepParts(...)是您要搜索的内容。
答案 1 :(得分:0)
使用TopExpExplorer
类遍历形状的对象(顶点,边缘,面..)。您可以在此tutorial中找到一个迭代示例。
使用GProp_GProps
class获取形状的属性。示例:
GProp_GProps propertiesSystemFace;
BRepGProp::VolumeProperties(shape, propertiesSystemFace);
double shapeVolume = propertiesSystemFace.Mass();
gp_Pnt centerOfMass = propertiesSystemFace.CentreOfMass();
还可以根据边缘类型将TopoDS_Edge
转换为curve对象以获取其他一些参数:
BRepAdaptor_Curve adaptCrv = BRepAdaptor_Curve(edge);