
Я пытаюсь выбрать только U-образные ребра на полиплоскости и я не могу найти сексуальный способ сделать это. Я попробовал выбрать все ребра с нечетными числами.
Код: Выделить всё
poly_plane = cmds.polyPlane(name='ribbon_Geo', width=10, height=1,
subdivisionsWidth=10, subdivisionsHeight=1)[0]
# Get the shape node
shape = cmds.listRelatives (polyPlane, shapes = True, type = "mesh")[0]
# Get the total number of edges
edge_count = cmds.polyEvaluate (shape, edge = True)
# Get all odd edges on the ribbon geometry
oddEdges = ["{}.e[{}]".format (shape, i) for i in range (edge_count) if i % 2 != 0]
Я попробовал использовать команду polySelectConstraint, и она хорошо работает для U-образных ребер. Не выбирает конечные края. Я могу добавить первое ребро, но не знаю, что такое конечное ребро.
Код: Выделить всё
# Create the polyPlane
poly_plane = cmds.polyPlane(name='ribbon_Geo', width=10, height=1,
subdivisionsWidth=10, subdivisionsHeight=1)[0]
# Get the shape node of the plane
shape = cmds.listRelatives(poly_plane, shapes=True, type="mesh")[0]
# Get the total number of edges
edge_count = cmds.polyEvaluate(shape, edge=True)
# Define the first and last edge
first_edge = cmds.ls(f"{shape}.e[0]") # First edge
last_edge = cmds.ls(f"{shape}.e[{edge_count - 1}]") # Last edge
cmds.polySelectConstraint( mode = 3, type = 0x8000, angle = True, anglebound=(0, 89) )
polyConst = cmds.ls(selection = True)
allEdges = first_edge.append(polyConst)
cmds.select(allEdges)
Это часть гораздо более крупного сценария, и мне нужно иметь возможность чтобы выбрать эти ребра на плоскости любого размера с разным количеством ребер. Плоскость не всегда может иметь 10 ребер U, их может быть 3, 5 или 35. Я имею в виду ребра в середине плоскости, а не граничные ребра.
Подробнее здесь: https://stackoverflow.com/questions/792 ... -polyplane
Мобильная версия