Skip to content

Instantly share code, notes, and snippets.

@fredrikaverpil
fredrikaverpil / bevel_toggle.py
Created March 25, 2014 13:38
Bevel or "unbevel" selected objects #maya
import maya.cmds as cmds
def bevelSelected():
selection = cmds.ls( selection=True )
for select in selection:
cmds.polyBevel(mesh, offset=0.1, angleTolerance=0)
def unBevelSelected():
selection = cmds.ls (selection=True)
for select in selection:
@fredrikaverpil
fredrikaverpil / get_maya_environment.py
Last active August 29, 2015 13:57
Get Maya environment info #maya
# Get Maya scene filepath and name
sceneFilepath = cmds.file(q=True, sn=True)
sceneName = os.path.basename( sceneFilepath )
sceneNameNoExtension = os.path.splitext(sceneName)[0]
sceneNameExtensionOnly = os.path.splitext(sceneName)[1]
# Get Maya project
mayaProject = cmds.workspace(q=True, rd=True)
# internalVar returns internal variables on a user level, more info: http://download.autodesk.com/global/docs/maya2014/en_us/CommandsPython/internalVar.html
@fredrikaverpil
fredrikaverpil / toggle_ortho_persp.py
Created March 25, 2014 13:44
Toggle orthographic view for persp #maya
import maya.cmds as cmds
def toggleOrthoPersp():
if cmds.getAttr('perspShape.orthographic') == 1:
cmds.setAttr('perspShape.orthographic', 0)
print('Orto disabled on Persp view.')
else:
cmds.setAttr('perspShape.orthographic', 1)
print('Orto enabled on Persp view.')
@fredrikaverpil
fredrikaverpil / custom_attribute.py
Created March 25, 2014 13:45
Ask for value and set it as custom attribute #maya
import maya.cmds as cmds
import maya.mel as mel
import sys
input = sys.stdin.readline()
selection = cmds.ls( selection=True )
for object in selection:
try:
@fredrikaverpil
fredrikaverpil / main.py
Last active August 29, 2015 13:57
Subclassing #python
class Example(object):
def run(self):
print "Hello, world!"
if __name__ == '__main__':
Example().run()
@fredrikaverpil
fredrikaverpil / batch_check.mel
Created March 25, 2014 13:50
GUI or batch mode? #mel
if(!`about -batch`) {
// GUI commands go in here and are skipped in batch mode
}
@fredrikaverpil
fredrikaverpil / get_renderer_per_renderlayer.mel
Created March 25, 2014 13:52
Identify renderable renderlayers and their renderer overrides #mel
// Loop through all render layers
for ($layer in `ls -type "renderLayer"`){
// Find the ones which are renderable
if ((`getAttr ($layer+".renderable")` == 1)){
string $buffer[] ;
$buffer = stringToStringArray($layer, ":");
// Don't count renderlayers from references
if(size($buffer) < 2){
editRenderLayerGlobals -currentRenderLayer $layer;
string $renderer = (`getAttr "defaultRenderGlobals.currentRenderer"`);
@fredrikaverpil
fredrikaverpil / search_replace.mel
Created March 25, 2014 13:53
Search and replace #mel
while(`match "_ZZZrender" $alf` == "_ZZZrender"){
$alf = `substitute "_ZZZrender" $alf "_Srender"`;
}
@fredrikaverpil
fredrikaverpil / vray_ram_setter.mel
Created March 25, 2014 13:55
Get machine RAM and set two thirds of that to V-Ray Dynamic Memory Limit #mel
float $tmpFloat[] = (`memory -phy`);
int $gigs = (int)$tmpFloat[0];
int $assignMem= $gigs-($gigs/3);
vraySettings.sys_rayc_dynMemLimit = $assignMem;
// Set V-Ray's number of passes to amount of cores
vraySettings.numPasses = `threadCount -q -n`;
// Set V-Ray's subdivs (under Light cache) to image width
vraySettings.subdivs = getAttr("defaultResolution.width");
@fredrikaverpil
fredrikaverpil / subprocess_stdout.py
Created March 25, 2014 16:59
Catching stdout from subprocess #python #tractor
command = '...'
p = subprocess.Popen( command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
sys.stdout.flush()
for line in iter(p.stdout.readline, b''):
sys.stdout.flush()
print(">>> " + line.rstrip())