Enabling Mesh-Check with script



  • On 22/10/2014 at 04:11, xxxxxxxx wrote:

    Hi guys.
    I'm trying to figure out a way to make a script button for enabling and disabling the new Mesh-Check options.
    So far I'm pretty sure it belongs to the snap-module as I can read the settings from the corresponding basecontainer. But setting them seems to be not possible:

    import c4d  
    from c4d.modules import snap
    def main() :
    \> # Get snap settings
    \> bc = snap.GetSnapSettings(doc)  
    \> 
    \> bc[c4d.MESH_CHECK_ENABLED] = 0  
    \> 
    \> snap.SetSnapSettings(doc, bc)
    \> 
    \>   
    \> 
    if __name__=='__main__':  
    main()
    

    I tried different the options, for example setting the colors but nothing works. Is this simply not supported in Python or am I doing something wrong. Setting the snap-settings themselves works just fine.
    Cheers
    Phil



  • On 22/10/2014 at 06:59, xxxxxxxx wrote:

    Hi Phil,

    ~~first of all, you have to enable the snap settings with

    snap.EnableSnap(True, doc)
    ~~
    There is a good example in the new docs
    http://www.maxonexchange.de/sdk/CINEMA4DPYTHONSDK/help/modules/c4d.modules/snap/index.html?highlight=snap#module-c4d.modules.snap

    Cheers,
    Martin



  • On 22/10/2014 at 07:15, xxxxxxxx wrote:

    sorry to fast, you are right :

    c4d.CallCommand(c4d.MESH_CHECK_ENABLED)
    wont work!!



  • On 23/10/2014 at 00:21, xxxxxxxx wrote:

    Yeah I tried that one too.
    I don't really get it, I really like the new Mesh-Check, but enabling it through the attribute manager seems cumbersome. I would even prefer a COFFEE-Button, which can be checked (why isn't this possible in Python?) but that is probably not possible at all.
    Cheers
    Phil



  • On 23/10/2014 at 23:39, xxxxxxxx wrote:

    Hello,

    there seems to be something broken in SetSnapSettings. A bug report was filed.

    Best wishes,
    Sebastian



  • On 25/10/2014 at 02:12, xxxxxxxx wrote:

    Well that explains it.
    Thanks Sebastian



  • On 27/02/2017 at 01:54, xxxxxxxx wrote:

    The problem is still not solved. MESH_CHECK_ENABLED in python does not work.



  • On 27/02/2017 at 02:20, xxxxxxxx wrote:

    Hi,

    First, MESH_CHECK_ENABLED is a parameter/attribute ID and is not meant to be used with c4d.CallCommand().

    Unfortunately, this parameter can't be set currently due to a limitation of the Python API (the node that actually owns the parameter can't be retrieved).
    For more information see this thread.



  • On 27/02/2017 at 04:14, xxxxxxxx wrote:

    Thank you. But this command also does not work with hot keys. For example, how do I assign a hot key to a command "Enable Mesh Check"?



  • On 27/02/2017 at 10:30, xxxxxxxx wrote:

    Hi, I've just tested in R18 and seen that the MESH_CHECK functions are now available via python so I'm here to ask how to use the CallButton function to virtually press the various SELECT buttons in the Mesh Check interface, especially what is the BaseList2D item that I should use in place of teh ???? below:

    c4d.CallButton( ???? , c4d.MESH_CHECK_EDGEPOINT_SELECT)

    Thanks in advance!



  • On 28/02/2017 at 02:04, xxxxxxxx wrote:

    Originally posted by xxxxxxxx

    Thank you. But this command also does not work with hot keys. For example, how do I assign a hot key to a command "Enable Mesh Check"?

    There's no command such as "Enable Mesh Check".

    If you have more questions please create a new topic.



  • On 28/02/2017 at 02:05, xxxxxxxx wrote:

    Originally posted by xxxxxxxx

    Hi, I've just tested in R18 and seen that the MESH_CHECK functions are now available via python so I'm here to ask how to use the CallButton function to virtually press the various SELECT buttons in the Mesh Check interface, especially what is the BaseList2D item that I should use in place of teh ???? below:

    c4d.CallButton( ???? , c4d.MESH_CHECK_EDGEPOINT_SELECT)

    I'm afraid it's still not possible in R18 to access the Mesh Check settings and call its buttons.
    The issue is the Python API can't give you the BaseList2D node needed to change the Mesh Check parameters and for c4d.CallButton().
      
    If you have more questions please create a new topic.



  • On 28/02/2017 at 03:08, xxxxxxxx wrote:

    Thanks Yannick, I'll try to code sonme of the Mesh Check functions by myself (it could be a good learning experience!)


Log in to reply