To grow selection in UVPolygon mode



  • Hi everyone!

    When C4D is in Polygon mode Grow selection can be done using SendModelingCommand e.g.

    utils.SendModelingCommand(
            c4d.MCOMMAND_SELECTGROW,
            [op],
            c4d.MODELINGCOMMANDMODE_POLYGONSELECTION,
            c4d.BaseContainer(),
            doc
        )
    

    After that, selection grows to neighbour polygons. Everithing is ok.
    However, when active mode is UV Polygon then code above select neighbour polygons the same way how it was in previous case. Sometime it's ok, but not always.

    The second way to grow selection is to use CallCommand

    c4d.CallCommand(12558, 12558) # Grow Selection
    

    In this case selection grows correctly in both modes.
    I'll show an example. There is a simple sphere that separated by UVs in the middle. So it has 2 UV islands.

    0_1550175526500_original.png

    0_1550175544700_result-1.png

    0_1550175550200_result-2.png

    From 1 selected polygon (the first image) I want to get the result which is shown on the last image.
    But I don't know how to get it without CallCommand
    Sorry for mistakes. English is not my szcznek language
    Cheers



  • Hi Kisaf, I'm afraid this is not possible from SendModelingCommand to send command in UV mode.

    So it's up to you to remove the extra selected stuff or build your own grow algorithm.
    A good way to achieves that could be to:

    • Detects uv island and give them an ID.
    • Store uv island ID used with the current selection.
    • Grow the selection in polygon mode
    • Deselect all polygons if they are not in the uv island.

    But this not work in all cases (e.g. topology of the object is disconnected but uv are connected).
    Cheers,
    Maxime.


Log in to reply