Python Forum
Could someone help me finish this ASAP
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Could someone help me finish this ASAP
#1
Hello Guys,

I'm hoping anyone can help an ignorant modeler. I haven't done much coding since I was in school, and I was trying to create a tool that would allow me to make Roof tiles for numerous buildings in my scene. The only ones I can find online were MEL based and was trying to create it myself... started building it.. and I'm lost in my functions, all I've really built is my window. Help anyone, in anyway. Guidance, or what you would do etc.


cmds.window(title='Roof Tile Creator',sizeable=False, resizeToFitChildren=True, backgroundColor=[0,0,0])

cmds.rowColumnLayout(numberOfColumns=1) #Master Layout


cmds.rowColumnLayout(numberOfColumns=1)#Layout A
cmds.text(width=100, height=20, label='Select GEO for Tile', backgroundColor=[0,255,0])

cmds.setParent('..')

cmds.rowColumnLayout(numberOfColumns=1)#Layout B
cmds.text(width=80, height=20, label='Rotate & Position the GEO on the Z axis',backgroundColor=[255,165,0])


cmds.rowColumnLayout(numberOfColumns=2, backgroundColor=[0,0,0])#Layout C
cmds.text(width=80, height=20, label='Row')
cmds.intSliderGrp(width=150, height=12.5, field=True,minValue=0, maxValue=999, value=1 )

cmds.setParent('..')

cmds.rowColumnLayout(numberOfColumns=2)#Layout D
cmds.text(width=80, height=20, label='Column')
cmds.intSliderGrp(width=150, height=12.5, field=True, minValue=0, maxValue=999, value=1)

cmds.setParent('..')

cmds.rowColumnLayout(numberOfColumns=2)#Layout E
cmds.text(width=80, height=20, label='Height Offset')
cmds.intSliderGrp(width=150, height=12.5, field=True, minValue=0, maxValue=4, value=1.5)

cmds.setParent('..')

cmds.rowColumnLayout(numberOfColumns=1)#Layout F
cmds.button(label='Create', width=80, height=15)

cmds.showWindow()
Reply
#2
Please:
  • Post enough code to enable running. Complete is best.
  • State your goal
  • Where you think you're at
  • Anything else useful for debugging
Reply
#3
'''Python Script to quickly build and shape roof tiles. Select the model, use the UI, and go
Enter the Number of tiles by inputing number of rows & columns.'''


import maya.cmds as cmds

class TileWindow(object):


def __init__(self):

self.window = "TileWindow"
self.title = "Roof Tile Creator"
self.size = (100, 100)


if cmds.window(self.window, exists = True):
cmds.deleteUI(self.window, window=True)


self.window = cmds.window(self.window, title=self.title, widthHeight=self.size)

cmds.rowColumnLayout(numberOfColumns=1,adjustableColumn = True)#Layout1
cmds.text(width=100, height=20, label= 'Select Model for Tile', backgroundColor=[0,255,0])

cmds.setParent('..')

cmds.rowColumnLayout(numberOfColumns=1, adjustableColumn = True)#Layout2
cmds.text(width=200, height=20, label='Rotate & Position Model on Z axis:',backgroundColor=[255,165,0])

cmds.setParent('..')

cmds.rowColumnLayout(numberOfColumns=2, adjustableColumn= True)#Layout3
cmds.text(width=80, height=20, label='Row')
cmds.separator
self.rowamount = cmds.intSliderGrp(width=150, height=12.5, field=True, minValue=0, maxValue=999, value=1)


cmds.setParent('..')

cmds.rowColumnLayout(numberOfColumns=2, adjustableColumn = True)#Layout4
cmds.text(width=80, height=20, label='Column')
cmds.separator
self.columnamount = cmds.intSliderGrp(width=150, height=12.5, field=True, minValue=0, maxValue=999, value=1)

cmds.setParent('..')

cmds.rowColumnLayout(numberOfColumns=2, adjustableColumn = True)#Layout5
cmds.text(width=80, height=20, label='Height Offset')
cmds.separator
self.heightoffset = cmds.intSliderGrp(width=150, height=12.5, field=True, minValue=1.5, maxValue=4, value=1.5)

cmds.setParent('..')

cmds.rowColumnLayout(numberOfColumns=1, adjustableColumn = True)
self.tileName = cmds.textFieldGrp( label='Tile Name:')

cmds.rowColumnLayout(numberOfColumns=1, adjustableColumn = True)#Layout6
self.tileCreateBtn = cmds.button(label='Create', width=80, height=15, command=self.createTile)



cmds.showWindow()

def createTile (self, *args):

numberOfRows = cmds.intSliderGrp(self.rowamount, query=True, value=True)

numberOfColumns = cmds.intSliderGrp(self.columnamount, query=True, value=True)

amountOfHeightoffset = cmds.intSliderGrp(self.heightoffset, query=True, value=True)

name = cmds.textFieldGrp(self.tileName, query=True, text=True)




myWindow = TileWindow()



I know I have to define my tile, I was going to use a polyCube command, and non linear bend. Not really sure how to go about that. Or how to write the code to call upon the values from each slider.
Reply
#4
Hello could anyone help me with this.

I'm trying to finish my function so that when I press create it references the information from my slider groups.


import maya.cmds as cmds
import random


"""Python Script to quickly build and shape roof tiles. Select the model, use the UI, and go
Enter the Number of tiles by inputing number of rows & columns."""


result = cmds.ls(sl=True)


class TileWindow(object):
    def createTile(self, *args):

        numberOfRows = cmds.intSliderGrp(self.rowamount, query=True, value=True)

        numberOfColumns = cmds.intSliderGrp(self.columnamount, query=True, value=True)

        amountOfHeightoffset = cmds.intSliderGrp(
            self.heightoffset, query=True, value=True
        )

        name = cmds.textFieldGrp(self.tileName, query=True, text=True)

        sel = cmds.ls(selection=True)

        Tile = cmds.polyCube(width=31.433, height=43.10, depth=3.175)

    def __init__(self):

        self.window = "TileWindow"
        self.title = "Roof Tile Creator"
        self.size = (1000, 1000)

        if cmds.window(self.window, exists=True):
            cmds.deleteUI(self.window, window=True)

        self.window = cmds.window(self.window, title=self.title, widthHeight=self.size)

        cmds.rowColumnLayout(numberOfColumns=1, adjustableColumn=True)  # Layout1
        cmds.text(
            width=100,
            height=20,
            label="Select Model for Tile",
            backgroundColor=[0, 255, 0],
        )

        cmds.setParent("..")

        cmds.rowColumnLayout(numberOfColumns=1, adjustableColumn=True)  # Layout2
        cmds.text(
            width=200,
            height=20,
            label="Rotate & Position Model on Z axis:",
            backgroundColor=[255, 165, 0],
        )

        cmds.setParent("..")

        cmds.rowColumnLayout(numberOfColumns=2, adjustableColumn=True)  # Layout3
        cmds.text(width=80, height=20, label="Row")
        cmds.separator
        self.rowamount = cmds.intSliderGrp(
            "value1",
            width=150,
            height=12.5,
            field=True,
            minValue=0,
            maxValue=999,
            value=1,
        )

        cmds.setParent("..")

        cmds.rowColumnLayout(numberOfColumns=2, adjustableColumn=True)  # Layout4
        cmds.text(width=80, height=20, label="Column")
        cmds.separator
        self.columnamount = cmds.intSliderGrp(
            "value2",
            width=150,
            height=12.5,
            field=True,
            minValue=0,
            maxValue=999,
            value=1,
        )

        cmds.setParent("..")

        cmds.rowColumnLayout(numberOfColumns=2, adjustableColumn=True)  # Layout5
        cmds.text(width=80, height=20, label="Height Offset")
        cmds.separator
        self.heightoffset = cmds.intSliderGrp(
            "value3",
            width=150,
            height=12.5,
            field=True,
            minValue=1,
            maxValue=4,
            value=1,
        )

        cmds.setParent("..")

        cmds.rowColumnLayout(numberOfColumns=1, adjustableColumn=True)  # Layout6
        self.tileName = cmds.textFieldGrp("value4", label="Tile Name:")

        cmds.rowColumnLayout(numberOfColumns=1, adjustableColumn=True)  # Layout
        self.tileCreateBtn = cmds.button(
            label="Create", width=80, height=15, command=self.createTile
        )

        cmds.showWindow()


myWindow = TileWindow()
Reply
#5
There is a python package named maya, but I it's not what you you are looking for.
If you used pip install maya what you installed is a datetime manipulation package, see:
https://pypi.org/project/maya/

cmds is a class of the purchased product Maya (autodesk):
see: https://knowledge.autodesk.com/support/m...0-htm.html
Reply
#6
Do not start new threads when continuing previous subject. It's against forum rules.
Reply
#7
(Dec-23-2021, 01:04 AM)Larz60+ Wrote: Do not start new threads when continuing previous subject. It's against forum rules.

I don't care. I'm looking for help, not speeches

User has been warned for this post. Reason: Not following directions/unpoliite language for https://python-forum.io/thread-35851-post-150996.html#pid150996
Reply
#8
Please see help: https://python-forum.io/misc.php?action=help&hid=22
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  how to check if file path finish on .csv danlopek14q 4 10,952 Apr-04-2021, 09:50 AM
Last Post: danlopek14q
  Need help with this homework for a course ASAP...need solution for completion. SP04123 8 4,985 Jun-21-2020, 06:15 PM
Last Post: buran
  really need assistance with this assignment ASAP due tomorrow mohamedhadi02 8 3,563 Jun-21-2020, 09:16 AM
Last Post: mohamedhadi02
  Need help to finish the hat on the snowman in this Python drawing soowoosamuel 1 3,384 Apr-10-2019, 06:31 AM
Last Post: j.crater
  python homework help ASAP gk34332 1 2,989 Mar-13-2019, 07:27 PM
Last Post: ichabod801
  Temperature converter Help (ASAP) Edison_Weng 1 2,827 Apr-16-2018, 01:55 PM
Last Post: stranac
  Quiz Game Help (ASAP Please!) beginnercoder04 2 3,208 Apr-15-2018, 04:13 AM
Last Post: beginnercoder04
  Storm Hurricane Tracker (NEED HELP ASAP) zak1206 2 3,834 Nov-13-2017, 02:10 PM
Last Post: gruntfutuk
  Can Anyone Finish this off FeaRoNz 5 3,986 Mar-25-2017, 10:12 AM
Last Post: Larz60+

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020