Home Technical Talk

[Maya] GN Quad Fill Hole

polycounter lvl 7
Offline / Send Message
Gabriel Nadeau polycounter lvl 7


Update version 2.01:

Hello!
I just updated my script on ArtStation which now comes with a new option "Force offset" that might help achieve a better result in certain situations. Basically, as you can see in the animation below, if you check this box, an offset will be applied to the Quad Fill Hole no matter what.



Update version 2.0:

Hi everyone!
I've just updated my script on ArtStation with some cool new features.
Basically, I've improved the script overall functioning and made it preserve your object transforms and pivot.
Also, the script now comes with an option box that contains a couple of additional options that you will find listed below with some new examples of the script in action.

UI:


OPTIONS:
Alternate action: This option will allow you to choose an alternate action to perform in situations where the quad filled hole is not possible.
Add inset: This option will allow you to add an inset to the filled hole, with a slider controlling the size of the inset.
Offset: This option will allow you to shift the quad filled hole by one unit, which can help get a better result in some situations.

DEMO 1 - ALTERNATE ACTION / OFFSET:


DEMO 2 - INSET:


DEMO 3 - TRANSFORMS & PIVOT:


DEMO 4 - IRREGULAR SHAPES:


Version 1.0:

Hi everyone!
I've been learning to script in my spare time for some time now and I decided to share with you my latest script which is called GN Quad Fill Hole that I created mainly to cap cylinders with an even quad topology. Below are a couple of examples of the script in action:




The script is very basic and won't take into account the curvature of the object, it's really meant to just replicate the current Fill Hole operation in Maya but with a quad toplogy instead of just a ngon face. Also, the script has a couple of limitations that I might try to improve in the future. For example, it will only work with certain type of holes and the script will delete the object transforms and history. Below you will see examples of the limitations and how to work around it:



The script is available on my ArtStation store: https://www.artstation.com/gabrielnadeau/store/dRAM/maya-gn-quad-fill-hole
Let me know your thoughts and feel free to contact me if you encounter any bug or you think that something could be improved/changed.

Cheers!
Gabriel

Replies

  • Dukefleed
    Offline / Send Message
    Dukefleed polycounter lvl 7
    Hi!
    nice script!
    Works on mac maya 2018 with little hack: 
        -rename GN-QuadFillHole.mel as GN_QuadFillHole.mel
        -mel command to execute: source GN_QuadFillHole.mel; GN_QuadFillHole; (not GN_QuadrangulateFace;)
  • Gabriel Nadeau
    Offline / Send Message
    Gabriel Nadeau polycounter lvl 7
    Hi Dukefleed!

    Thank you for reporting back.
    You're right about the command to use, I put the wrong one in the instructions.
    I updated the files with the correct one.
  • Slyvin
    I install the tool in maya 2020, but it doesn t work. It s posible to help me. Thank you :)
  • Gabriel Nadeau
    Offline / Send Message
    Gabriel Nadeau polycounter lvl 7
    Hi @Slyvin

    I'd like to help you, but I don't really have enough information right now.
    Can you tell me what happens when you run the command, do you have an error or something?
    Make sure to follow carefully the instruction on how to install and use the script in the READ-ME.txt file that comes with it and then everything should work fine.
  • Slyvin
    Great, I made a mistake. I put a wrong order. Thank you very much. It works 

  • RedMASK
    Offline / Send Message
    RedMASK polycounter lvl 5
    Hi, this looks nice.
    Any plans for future like adding to work on curvature surface?
  • Gabriel Nadeau
    Offline / Send Message
    Gabriel Nadeau polycounter lvl 7

    I fear like a feature like this would be very challenging to make and it's not really on my plan for the near future, but maybe someday I'll try to work something out.
  • RedMASK
    Offline / Send Message
    RedMASK polycounter lvl 5
    Hi @Gabriel Nadeau

    I know :) .... no one has done it.
    Anyway tnx ,and keep up with good work.
  • Matfreitas
    I install the tool in maya 2020, but it doesn t work. It s posible to help me. Thank you !
  • Gabriel Nadeau
    Offline / Send Message
    Gabriel Nadeau polycounter lvl 7
    Hi @Matfreitas

    I'd like to help you, but I would need more details to do so.
    Can you tell me exactly what version of my tool that you're trying to install and what happens when you run the command?
    Do you have any error that you could share with me, so that I can troubleshoot this issue.

    Thank you,
    Gabriel
  • Matfreitas
    Hi @Matfreitas

    I'd like to help you, but I would need more details to do so.
    Can you tell me exactly what version of my tool that you're trying to install and what happens when you run the command?
    Do you have any error that you could share with me, so that I can troubleshoot this issue.

    Thank you,
    Gabriel
    Quad fill v4 01. in maya 2020 . cmdline # Error: unexpected indent. 
    Can you provide me a old version? 


  • Gabriel Nadeau
    Offline / Send Message
    Gabriel Nadeau polycounter lvl 7
    Hi @Matfreitas

    I'd like to help you, but I would need more details to do so.
    Can you tell me exactly what version of my tool that you're trying to install and what happens when you run the command?
    Do you have any error that you could share with me, so that I can troubleshoot this issue.

    Thank you,
    Gabriel
    Quad fill v4 01. in maya 2020 . cmdline # Error: unexpected indent. 
    Can you provide me a old version? 


    Did you make sure that you typed the command correctly with no space (indentation) at the beginning?
    You can also just copy & paste the command below in the Python command line and it should work.
    import GN_QuadFillHole
    GN_QuadFillHole.QFH_Window(optionBox=True)

    You will also find the commands to use in the file READ-ME.txt that comes with the script.
  • Matfreitas
    Hi @Matfreitas

    I'd like to help you, but I would need more details to do so.
    Can you tell me exactly what version of my tool that you're trying to install and what happens when you run the command?
    Do you have any error that you could share with me, so that I can troubleshoot this issue.

    Thank you,
    Gabriel
    Quad fill v4 01. in maya 2020 . cmdline # Error: unexpected indent. 
    Can you provide me a old version? 


    Did you make sure that you typed the command correctly with no space (indentation) at the beginning?
    You can also just copy & paste the command below in the Python command line and it should work.
    import GN_QuadFillHole
    GN_QuadFillHole.QFH_Window(optionBox=True)

    You will also find the commands to use in the file READ-ME.txt that comes with the script.


    I made a mistake.. Thank you very much. It works . Great tool
  • ManiSalguero
    Hi! 
    I am trying to install the plugin, but It's not working.

    I pasted in maya 2019 and 2022 scripts folder.
    After I pasted the command.
    And when I'm in maya I got a "syntax error":
    What I'm doing wrong?
    Hope that you can help me, and thank you! :D 


  • Gabriel Nadeau
    Offline / Send Message
    Gabriel Nadeau polycounter lvl 7
    Hi @ManiSalguero

    You didn't enter the command properly.
    There are two different commands that you can use, one that will run the script with the current options and the other one to open the window and change the options.

    Command #1:
    import GN_QuadFillHole
    GN_QuadFillHole.QFH_Window(optionBox=False)

    Command #2:
    import GN_QuadFillHole
    GN_QuadFillHole.QFH_Window(optionBox=True)

    You can just copy & paste the commands above and it should work.
    Make sure to copy only the commands and nothing else.

    Thank you,
    Gabriel
  • ManiSalguero
    Hi @ManiSalguero

    You didn't enter the command properly.
    There are two different commands that you can use, one that will run the script with the current options and the other one to open the window and change the options.

    Command #1:
    import GN_QuadFillHole
    GN_QuadFillHole.QFH_Window(optionBox=False)

    Command #2:
    import GN_QuadFillHole
    GN_QuadFillHole.QFH_Window(optionBox=True)

    You can just copy & paste the commands above and it should work.
    Make sure to copy only the commands and nothing else.

    Thank you,
    Gabriel
    My mistake! Thank you so much! :D 


  • janoshx
    Offline / Send Message
    janoshx polycounter lvl 6
    I get error message in maya 2022. In maya 2020 this works. Tried the latest version from artstation shop


    # Error: SyntaxError: file C:\Program Files\Autodesk\Maya2022\Python37\lib\site-packages\shiboken2\files.dir\shibokensupport\__feature__.py line 142: (unicode error) 'unicodeescape' codec can't decode bytes in position 410-411: truncated \UXXXXXXXX escape # 

  • Gabriel Nadeau
    Offline / Send Message
    Gabriel Nadeau polycounter lvl 7
    Hi @janoshx

    Thank you for letting me know about this error.
    I've just released a new update on the ArtStation store, it should work properly now.
    Please let me know if you have any other issue.

    Thank you,
    Gabriel
  • devingeesr
    Offline / Send Message
    devingeesr polycounter lvl 11
    Hello hope all is well I recently tried the script in Maya 2022 and I keep getting a syntax error: 

  • Gabriel Nadeau
    Offline / Send Message
    Gabriel Nadeau polycounter lvl 7
    Hi @devingeesr

    Which version of the script are you using?
    Make sure to use the latest version 4.07 and everything should be good.
    Let me know if you still have an error with the latest version and I will investigate further.

    Thank you,
    Gabriel
  • devingeesr
    Offline / Send Message
    devingeesr polycounter lvl 11
    @Gabriel Nadeau Hello thank you for the response I downloaded the latest version today. And I was still giving me the error I will check again. 
  • devingeesr
    Offline / Send Message
    devingeesr polycounter lvl 11
    @Gabriel Nadeau After testing the script in 2020 it worked but it did not work in 2022.  I installed the 4.07 version of the plugin.
  • Gabriel Nadeau
    Offline / Send Message
    Gabriel Nadeau polycounter lvl 7
    @devingeesr

    What do you mean it doesn't work. You still have a syntax error?
    By the way, I just noticed in your screenshot that you're not using the right command.
    The command was changed in one of the newer version for this one:
    import GN_QuadFillHole
    GN_QuadFillHole.GN_QuadFillHole(optionBox=True)
  • devingeesr
    Offline / Send Message
    devingeesr polycounter lvl 11
    Yes, I'm still getting the same error in Maya 2022.  I copied and pasted the code you posted and I'm still getting the error. 

  • Gabriel Nadeau
    Offline / Send Message
    Gabriel Nadeau polycounter lvl 7
    Can you open the Python file in a text editor and check the first couple of lines to make sure that you are indeed using version 4.07?

    If so, I would suggest to completely reset your Maya preferences and reinstall the script.
    You can reset the preferences by deleting the following folder:
    %userprofile%\Documents\maya

    Hopefully, that will resolve your issue, because otherwise I am not sure what else I can do as I'm currently unable to replicate your error and I haven't heard of anyone else having this issue with the current version.
  • devingeesr
    Offline / Send Message
    devingeesr polycounter lvl 11
    @Gabriel Nadeau  Thank you looks like deleting the preferences worked.
  • Henrik
    Can you open the Python file in a text editor and check the first couple of lines to make sure that you are indeed using version 4.07?

    If so, I would suggest to completely reset your Maya preferences and reinstall the script.
    You can reset the preferences by deleting the following folder:
    %userprofile%\Documents\maya

    Hopefully, that will resolve your issue, because otherwise I am not sure what else I can do as I'm currently unable to replicate your error and I haven't heard of anyone else having this issue with the current version.
    @Gabriel Nadeau  Thank you looks like deleting the preferences worked.
    I'm in the same boat as @davingeesr was . If I delete my prefs, is there any way to backup and restore my prefs, or is the syntax error likely to return once restoring back to old prefs? (I have lots of pref tweaks that would take ages to keep track of.)
  • Gabriel Nadeau
    Offline / Send Message
    Gabriel Nadeau polycounter lvl 7

    Unfortunately, I do not know of any way to do what you're looking for.
    You should at least make a backup of the folder before deleting it, and then test to make sure the script is working with the fresh preferences. If that fixes the error, then I'm afraid you will have to rebuild your preferences manually from there. If it doesn't, then you can go back to your old preferences and let me know, so I can investigate further.

    However, there are probably some elements that you can recover safely from your old preferences, such as your hotkeys, shelves and colors.
    Maybe you can get rid of this error by just deleting the file "userPrefs.mel" and restart Maya.
    Just make a backup and go trial and error to see what you have to delete and what you can keep.

    Example:


    Hope this helps,
    Good luck!

    Gabriel
  • Henrik

    However, there are probably some elements that you can recover safely from your old preferences, such as your hotkeys, shelves and colors.
    Maybe you can get rid of this error by just deleting the file "userPrefs.mel" and restart Maya.
    Just make a backup and go trial and error to see what you have to delete and what you can keep.
    Sorry, Gabriel. Didn't see this reply until after replying to your email. Ok! I'll try these methods as soon as I get a chance and report back if I discover that it wasn't caused by borked preferences. Again, appreciate taking your time to provide such a detailed reply.
Sign In or Register to comment.