VSFX 705

Setting up

Cutter for Mac

Modifying the run file


export MAYA_USER_DIR=$HOME/Documents/maya
export RMS_SCRIPT_PATHS=$MAYA_USER_DIR/rfm_scripts/image_tool

# change directory below to where your cutter is
cd /Users/ddu/Desktop/ddu/projects/vsfx_705/cutter

# To uncomment the next line - remove the '#' character

java -Xms512m -Xmx512m -classpath .:cutter.jar Cutter

Making the text file executable

chmod 777 run

Setting up Maya Env for Mac


  1. Copy rfm_scripts folder to /Users/ddu/Documents/maya

  2. copy scripts folder to /Users/ddu/Documents/maya

  3. Copy Arnold Shaders to /Users/ddu/Documents/maya/projects

  4. copy maya.env file to /Users/ddu/Library/Preferences/Autodesk/maya/2020

  • Maya > Window > Plugin manager > Ensure Renderman for Maya is loaded and auto-loaded

  • check script editor for environment and preferences

Student web spaces

  1. Upload your html and asset files to https://sav-myfile.scad.edu/myfile/ws-idrive/Savannah/Webspaces/Studentpages/web_pages

  • Core: font size: 20, source code pro, 4 spaces tab, Scroll past end

  • Packages: Turn off auto-complete-plus & snippets

apm install script autocomplete-python minimap file-icons python-autopep8 linter-flake8 
maya language-mel
pip install autopep8
pip install flake8 

if linter does not show up, delete your Atom config files located: /Users/userName/.atom/config.cson


keep in mind Renderman Attribute Editor, Shelf, Menu bar

Using cutter



Learning Python for Maya

Learning Python

  1. Learning Python, Mark Lutz, O'Reilly Media

  2. Think Python(on-line), Allen Downey

Getting started with Python

Key terms: list, tuple, dictionary

# script is called test.py but it 
# implements a module called "test"
# a modules contrains attributes
# an attribute can be, eg. name of a variable 

# the built-in datatypes are, nubmers, text(string),
# (and collections) list, tuple, dictionary. file.

age = 26
name = "tom"
family = 'jones'
nationatlity = 'welsh'

# an attribute can also be the name of function 
#create function
def person() 

#creating list 
countries = []
countries.append('new zealand')

# using a tuple (fixed value list) - for vertices data structures transfer
locked = (2,4,3,6,8,9)
# i can test my code by printing some value 
# this call the values 
# but comment it out if used asa module

if __ name__ == '__main__':
    #person() #(debugging purposes) 
    #for place in countries:
        # print(place)

#print(__name__) # return name of module from where it was run
# file_test.py
# an example of how to store text in a document 

out_file= open('file directory', 'w')
for n in range(10):
    out_file.write('sphere -r 1;\n)
    out_file.write('move %f %f 0;\n' % (n,(n-2))) # placeholder %

# to run the mel document in Maya use this mel...
#source "filedirectory"
# rib_test.py
Points "P" [0 0 0   3 5 6    5 6 7   9 9 9] "constantwidth" [1.0]
import random
rib_file = open('/Users/ddu/Desktop/ddu/projects/vsfx_705/cutter/data2.rib', 'w')
rib_file.write('##bbox: -5 -5 -5 5 5 5\n')
rib_file.write('Points "P" [\n')
for n in range(100000):
	x = random.uniform(-5, 5)
	y = random.uniform(-5, 5)
	z = random.uniform(-5, 5)
	rib_file.write('%f %f %f\n' % (x,y,z) )
rib_file.write('] "constantwidth" [0.05]')

#Maya > Renderman menu > Archive > import rib archive 
    why is my cutter so slow?
    does not have vsfx705
    cannot open hyperlink

Lesson 3

list [] 
tuple () fixed values 
## bbox: -5 5 -5 5 5 5 # read by rib

def writeCubic(path

cmd E to render in Renderman

Last updated