Code Monkey home page Code Monkey logo

maya_gearcreator's Introduction

Gear Creator

Gear Creator is a Maya plugin to easily create / edit complex gear netowks. The plugin is still in early alpha.

Alt text

Installation

  • download the src folder and copy/paste it either:
    • in your Maya installation scripts folder.
    • in a custom folder
  • if you copy the sources in a custom folder, you need to define it in main.py: eg for windows:
    CUSTOM_PATH = "D:/maya_scripts/"
  • using the maya script editor, launch "main.py"

Usage

Rather than creating a gear at a time and then positionning manually, the philosophy of this plugin is not so much of creating individual gears but complete gear networks. Therefore:

  • Gears are created from a parent gear, they can't be created freely.
  • Their placement is automatic:
    • they can only be rotated around neighour gears
    • changing the radius / internal radius will adjust position for current gear / rest of the network

Alt text

  • A gear chain is a ensemble of gears directly conncected to each other.
  • A gear network consists of multiple gear chains linked each other by rods.

Some of the parameter are not configurable for individual gear but for the overall gear chain:

  • Teeth Number:
    • You can't set the number of teeth for an individual gear
    • Rather, you can set the teeth width for the overall chain
    • Teeth number is then automatically calculated for each gear so that they can all fit into each other.
  • Height:
    • The height of the gears can be changed at the chain level
    • The min / max height is caculated from all the rods present in the chain.

Alt text

  • Once the plugin is launched, the gear creator HMI will pop, you can dock it if you want to.
  • HMI consists of three tabs:
    • gear networks tab: list all the network of the scene, you can rename / hide them.
    • gear chains tab: list all the chains of the current network, will also temporarily color them for a better comprehension of the network. You can rename / hide / edit the chains from here.
    • object tab (either gear or rod): from here you can rename / hide / edit the current object. Neighbour gears will also be temporarily colored.
  • As long as no element of a gear network is selected, only the "gear networks" tab is accessible
  • Once you selected an object of the network:
    • the "object" tab will be shown.
    • the "gear chains" tab will be accessible.

You can quit the plugin, the scene and maya safely! All gear creator infos are stored inside the scene, so you can edit your networks later using the plugin. (at least you should)

Alt text Alt text Alt text

Next!

(by criticity)

  • Fix gear teeth collision bug.
  • Still lots of bug to fix.
  • Animation!
  • Bevel option for gears and rods
  • Multiple orientation possible for gears (parrallel, - 90°, +90°)
  • Multiple gear shapes
  • Snapping options for positions of the gears.

Misc

Maya Wrapper

Coding this library, I tried to create a small library to wrap Maya Transform nodes for pymel.

  • The library can be found at src/Maya_GearCreator/maya_wrapper
  • Usage example can be found at etc/maya_wrapper_ex.py

maya_gearcreator's People

Contributors

roma-p avatar

Stargazers

David卫 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.