Pymel / Python Coding

Category: qt designer

Global Mapping GUI


Features

Filter by capital/country
Filter by continent/region
Create custom locations
Save and Import Collections
Save Presets
Set color of curves
Set width of curves
Animation of curves based on length or fixed.
Start and End point custom geometry
Export locator data to After Effects.

project_01_large_a

project_01_large_b

Curve fix and setup for Renderman/3delight

coded this up in pymel and used qt designer for the GUI in maya. This GUI sets up the normals on curves for rendering in renderman / 3delight – and is used in conjunction with primitive variables on each curve and a curve shader.

As you can see in (1) a regular curve prior to be fixed is all kinds of wonky. With this technique the ‘Face Camera’ of the normals are disabled and they can be set to all face the direction selected.

GUI enables per item or selection
1 Fix
2 set direction
3 color
5 Animation of Curve based on curve length proportion or custom set. Start and end frames
can also be set.

6 Width for start and end can be adjusted

qt designer

http://dopesheet.co.uk/?p=91

maya

http://dopesheet.co.uk/?p=86

import pymel.core as pm
pm.shadingNode ('ramp',asTexture=True,n="curveRamp")
pm.shadingNode ('place2dTexture',asUtility=True,n="curveRamp_place2dTexture")
pm.connectAttr ("curveRamp_place2dTexture.outUV", "curveRamp.uv");
pm.connectAttr( "curveRamp_place2dTexture.outUvFilterSize", "curveRamp.uvFilterSize");
pm.disconnectAttr ("curveRamp_place2dTexture.outUV", "curveRamp.uvCoord");
if (pm.window('Normal_Curve_Creator',exists=True)):
    pm.deleteUI('Normal_Curve_Creator')
import curve_fixer
reload(curve_fixer)
dialog2 = pm.loadUI(f="C:/Users/luke/Documents/QTDESIGNER/rebuild_curve.ui")
allowedAreas = ['right', 'left']
pm.showWindow()
pm.dockControl(area='left',content=dialog2,allowedArea=allowedAreas,l='Normal_Curve_Creator')

pymel
http://dopesheet.co.uk/uncategorized/curve_fixer-py/

Output Maya Animation Data to .csv file

Coded this up to output animation data from maya into a comma separated.csv file. pymel script def textOut(): fileName = pm.fileDialog2(fileFilter=’*.csv’, caption=’Write to a csv file’) fileWrite = open(fileName[0], ‘w’) firstFrame = pm.intSlider(‘StartFrameSlider’, query=True, value=True) lastFrame = pm.intSlider(‘EndFrameSlider’, query=True, value=True) # animation time range animTimeRange = pm.checkBox(‘AnimBackRange_checkBox’, query=True, value=True) if animTimeRange == True: animStart =…

qt designer part 2 – signals and slots

qt designer set up gui to be imported into maya new > file > form > Main Window Layouts > Vertical Layout into the vertical layout drag two instances of  ‘Push Button’ from Buttons in Widget Box. Rename to something that makes sense  – “CreateSphere”, “ResizeSphere” add dynamic property to “CreateSphere” and to “ResizeSphere” first…