Как получить вершину, которую я нажал на виджете OCC? - PullRequest
0 голосов
/ 28 октября 2019

Я использую OCC с python для визуализации .igs и .stl формат. В файле .stl у меня есть сетка на моей модели, и я хочу знать, какая вершина на этой сетке была нажата. По крайней мере, чтобы получить какой-то идентификатор. Я вижу, что выбранная мной модель автоматически подсвечивается без каких-либо настроек, поэтому я думаю, что есть способ сделать это. Но я не смог найти никакой информации об этом. Model with mesh

1 Ответ

0 голосов
/ 29 октября 2019

Хорошо, нашел это. В случае, если кому-то еще это понадобится:

 display = self.occWidget._display
 display.SetSelectionModeVertex() # This is the required function
 display.register_select_callback(recognize_clicked)

, где признать_clicked равно

def recognize_clicked(shp, *kwargs):
""" This is the function called every time
a face is clicked in the 3d view
"""
for shape in shp:
    print("Face selected: ", shape)

Выбор лица - SetSelectionModeFace()

Выбор вершины - SetSelectionModeVertex()

Выбор края - SetSelectionModeEdge()

Выбор формы - SetSelectionModeShape()

Нейтральный (по умолчанию) выбор - SetSelectionModeNeutral()

Это все режимы, которые ямы нашли в других примерах. Пожалуйста, если найдете больше, напишите в комментарии этот ресурс.

...