2015-12-02 20 views
1

У меня есть файл STEP, который я экспортировал из OnShape.Разбор Brep из файла STEP

В моем документе OnShape у меня есть сборка, содержащая деталь и два экземпляра другой сборки (, в которой есть еще 2 части).

Когда я открываю этот файл в python-occ, единственное, что я получаю, это одна форма, которая, кажется, содержит все грани вместо того, чтобы иметь своего рода иерархию.

Есть ли способ изучить эту иерархию? Имейте список деталей и где они используются внутри сборки.

ответ

1

Итак, решение, даже если я не получаю никакой иерархии с помощью сборки, я могу вернуть все части и извлечь все уникальные.

Открыть файл STEP:

sr = STEPControl_Reader() 
sr.ReadFile("myFile.step") 

Перенести все корни, а затем для каждой формы, как корень, посетить их:

ex = TopExp_Explorer(shape, TopAbs_SOLID) 

И вы можете определить уникальную часть с TShape :

solid = ex.Current() 
tshapePtr = solid.TShape().DumpToString() 

значение tshapePtr будет одинаковым с каждой формой, используя тот же TShape, поэтому одна и та же часть.

Затем просто извлекайте грани и вершины, исследуя форму на лицо с помощью триангуляции.