Forum: Poser Python Scripting


Subject: Script for setting U/V_Scale of image maps in current figure/actor (nearly done)

3dcheapskate opened this issue on Mar 01, 2012 · 18 posts


3dcheapskate posted Thu, 01 March 2012 at 2:52 AM

def GetTilingValue():
    global aborted
    tv = poser.DialogSimple.AskFloat("Enter the tiling value to set.n(Numeric values only)")
    if tv is None:
        poser.DialogSimple.MessageBox("Invalid entry (or user cancelled)nnOperation cancelled.")    
        aborted = True
        return 0.0
    if tv == 0.0:
        yn = poser.DialogSimple.YesNo("Zero will turn off tiling?nnDid you intend to do this?")
        if yn == 0:
            poser.DialogSimple.MessageBox("Operation cancelled.")
            aborted = True
            return 0.0
        else:
            return 0.0
    if tv         yn = poser.DialogSimple.YesNo("Negative values ("+str(tv) + "%) invert the texture.nnDid you intend to do this?")
        if yn == 0:
            poser.DialogSimple.MessageBox("Ignoring the minus sign.n Proceeding with "+str(-tv) + "%")
            tv = -tv
    if tv > 100.0 or tv         yn = poser.DialogSimple.YesNo(str(tv)+"% will make the tiles "+str(tv/100)+" times bigger.nnDid you intend to do this?")
        if yn == 0:
            poser.DialogSimple.MessageBox("Operation cancelled.")
            aborted = True
            return 0.0
    elif (tv   0) or (tv >-0.01 and tv         yn = poser.DialogSimple.YesNo(str(tv)+"% will make the tiles "+str(100/tv)+" times smaller?.nnDid you intend to do this?")
        if yn == 0:
            poser.DialogSimple.MessageBox("Operation cancelled.")
            aborted = True
            return 0.0
    else:
        return tv


The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).