def __init__(self, index, generator): # Stores its location. self.__index = index # Retrieves the values needed from the UI. self.__get_values(generator) # Fetches a pointer to the cratering data. cratering = self.__cratering # Stores the transform and shape nodes. nodes = [] # If this is the first moon created, create a polyPlatonicSolid. if (index == 0): # Creates the shape. nodes = polyPlatonicSolid(radius=self.__radius, name="Moon") # For aesthetics, the polyPlatonicSolid is beveled (based on the user's input) and smoothed. polyBevel3(offset=getAttr("polyBevel1.offset") * generator.get_spinbox_value("moon_ratio"), depth=cratering.get_depth(), segments=cratering.get_segments(), fraction=cratering.get_fraction()) polySmooth(divisions=2) # Otherwise, instance the original. else: nodes = instance("Moon") # Stores the transform node. self.__transform_node = nodes[0]
def tv(): #group MODULE mir = random.randint(0, 19) crazyR = random.randint(0, 1000) tvBase = 'TvBase' + str(mir) + str(crazyR) tv = 'Tv' + str(mir) + str(crazyR) cmds.group(n=tvBase, em=True) cmds.group(n=tv, em=True) base_heigh = 0.5 base_width = 4 stick_height = 2 tv_width = cmds.intSliderGrp(slider4, q=True, value=True) #base: base = cmds.polyCube(h=base_heigh, w=base_width, depth=2) cmds.polyBevel3(base, offset=0.1) stick = cmds.polyCube(h=stick_height, w=base_width / 2, depth=0.5) # cmds.move(0,base_heigh/2,base_width/4) cmds.select(base, stick) cmds.align(x='mid', y='dist', atl=True) cmds.parent(base, stick, tvBase) #tv screen: screen = cmds.polyCube(h=tv_width / 2, w=tv_width, depth=0.2) cmds.polyBevel3(screen, offset=0.02) cmds.select(base, screen) cmds.align(y='stack', atl=True) cmds.select(stick, screen) cmds.align(y='stack', atl=True) # cmds.move(0,-base_heigh/20.0,-base_width/10.0) cmds.parent(tvBase, screen, tv)
def four(): #group MODULE mir = random.randint(0, 19) crazyR = random.randint(0, 1000) oven = 'Oven' + str(mir) + str(crazyR) cmds.group(n=oven, em=True) base_heigh = cmds.intSliderGrp(slider1, q=True, value=True) base_width = cmds.intSliderGrp(slider2, q=True, value=True) base_depth = cmds.intSliderGrp(slider3, q=True, value=True) #base: base = cmds.polyCube(h=base_heigh, w=base_width, depth=base_depth) cmds.polyBevel3(base, offset=0.1) door = cmds.polyCube(h=base_heigh - base_heigh / 2, w=base_width - base_width / 2, depth=0.2) cmds.move(0, -base_heigh / 20.0, -base_width / 2.0) cmds.parent(base, door, oven) #swiches: sdoor = cmds.ls(door) for i in range(3): switch = cmds.polySphere(sx=5, sy=5, r=0.2) cmds.move(-base_width / 4.0 + i - 0.2 * i, base_heigh / 2.5, -base_width / 2.1) cmds.parent(switch, oven) for i in range(2): heatersOne = cmds.polyCylinder(sx=7, sy=7, h=0.2, r=base_width / 1000) cmds.move(-base_width / 6.0 + i, base_heigh / 2.0, -base_width / 3.5) cmds.parent(heatersOne, oven) for i in range(2): heaterTwo = cmds.polyCylinder(sx=7, sy=7, h=0.2, r=base_width / 1000) cmds.move(-base_width / 6.0 + i, base_heigh / 2.0, base_width / 3.5) cmds.parent(heaterTwo, oven)
def create_cylinder(): result = cmds.polyCylinder(name='cylinder', r=1.15, h=0.15, sx=6, sy=1, sz=1, ax=(0, 1, 0), rcp=0, cuv=3, ch=1) cmds.polyBevel3(result[0], fraction=0.5, offsetAsFraction=1, autoFit=1, depth=1, mitering=0, miterAlong=0, chamfer=1, segments=1, worldSpace=1, smoothingAngle=30, subdivideNgons=1, mergeVertices=1, mergeVertexTolerance=0.0001, miteringAngle=180, angleTolerance=180, ch=1) #print 'result: %s' % result return result
def applyCallback(noOfRocksField, scaleMultiplierField, *pArgs): noOfRocks = cmds.intField(noOfRocksField, q=True, v=True) scaleMultiplier = cmds.intField(scaleMultiplierField, q=True, v=True) for i in range(noOfRocks): rock = cmds.polyPlatonic(r=random.uniform(7.5, 12.5), primitive=random.choice( [3, 4])), cmds.rename('rock_#') cmds.polyReduce(ver=1, trm=1, vct=random.choice([4, 5, 7, 8, 9]), p=random.uniform(40, 75), shp=random.uniform(0, 1), kqw=random.uniform(0, 1), kev=random.choice([True, False]), kmw=random.uniform(0, 1)) if noOfRocks > 1: x = random.uniform(-10 * noOfRocks, 10 * noOfRocks) * scaleMultiplier y = 0 z = random.uniform(-10 * noOfRocks, 10 * noOfRocks) * scaleMultiplier cmds.move(x, y, z) allEdges = cmds.ls('.e[:]', flatten=1) cmds.select(allEdges) cmds.polyBevel3(n='rockBevel_#', mv=True, ch=True, sa=180, sn=True, sg=random.choice([2, 3, 4]), d=random.uniform(0.25, 1), o=random.uniform(0.5, 1.5)) cmds.select(rock) cmds.polySmooth(c=random.uniform(0, 1), kb=random.choice([True, False]), khe=random.choice([True, False]), mth=random.choice([1, 2]), ro=random.uniform(0, 1)) cmds.select(rock) cmds.scale(random.uniform(0.3, 1.3) * scaleMultiplier, random.uniform(0.75, 1.25) * scaleMultiplier, random.uniform(0.75, 1.25) * scaleMultiplier, r=True, a=True) cmds.manipPivot(r=True) cmds.deleteUI(windowName)
def Upgrade(): mc.selectMode(co=True) Hard = mc.ls(sl=True) #gets selection mc.polySelectConstraint(m=3, t=0x8000, sm=1) #constraints hard edges and selects them mc.polyBevel3(fraction=0.5, offsetAsFraction=1, depth=1, chamfer=0, segments=1, subdivideNgons=1, mergeVertices=1) mc.polySelectConstraint(sm=0) # turn off edge smoothness constraint
def CreateWindowBase(self, name="windowBase", width=_wallbaseWidth, height=_wallbaseHeight): if cmds.objExists(name): return name window = cmds.polyPlane(name=name, w=1, h=1, sx=2, sy=2, cuv=2, ch=1, ax=[1, 0, 0]) cmds.move(0, height / 2, 0, a=True) cmds.select(f'{name}.f[0:]', r=True) cmds.sets(e=True, forceElement=self._matWindowFrame) cmds.polyExtrudeFacet(constructionHistory=True, keepFacesTogether=False, offset=0.05, divisions=1) cmds.polyExtrudeFacet(constructionHistory=True, keepFacesTogether=True, thickness=-0.05, divisions=1) cmds.sets(e=True, forceElement=self._matWindowPane) cmds.select(window) cmds.polyBevel3(fraction=0.1, offsetAsFraction=1, autoFit=1, depth=1, mitering=0, miterAlong=0, chamfer=0, segments=2, worldSpace=1, smoothingAngle=30) #freeze transformations cmds.makeIdentity(apply=True, t=1, r=1, s=1, n=0, pn=1) return window[0]
def CreateRoof(self, width=9, depth=5, overhang=0.5, height=0.25): roof = cmds.polyCube(width=depth + overhang, depth=width + overhang, height=height, n="roof") cmds.sets(e=True, forceElement=self._matRoof) cmds.select(roof[0]) cmds.polyBevel3(fraction=0.1, offsetAsFraction=1, autoFit=1, depth=1, mitering=0, miterAlong=0, chamfer=0, segments=1, worldSpace=1, smoothingAngle=30) return roof[0]
def create(): cmds.polyCylinder(radius=1, height=0.04, subdivisionsX=6) selection = cmds.ls(selection=True) cmds.polyBevel3(selection, fraction=0.5, offsetAsFraction=1, autoFit=1, depth=1, mitering=0, miterAlong=0, chamfer=1, segments=1, worldSpace=1, smoothingAngle=30, subdivideNgons=1, mergeVertices=1, mergeVertexTolerance=0.0001, miteringAngle=180, angleTolerance=180)
def table(): tablewidthz = cmds.intSliderGrp(slider1, q=True, value=True) tableWidthx = cmds.intSliderGrp(slider2, q=True, value=True) tableHeight = cmds.intSliderGrp(slider3, q=True, value=True) #Roundness = cmds.intSliderGrp(slider4, q=True, value=True) #mesa table = cmds.polyCube(h=0.7, w=tableWidthx, depth=tablewidthz) rtable = cmds.ls(table[0]) print(rtable) cmds.move(0,tableHeight/2.0-0.3,0) cmds.select(str(rtable[0])+'.e[4:5]') cmds.select(str(rtable[0])+'.e[8:9]', add=True) # cmds.select('table.e[4:5]') # cmds.select('table.e[8:9]', add=True) cmds.polyBevel3(offset=1, segments=3) cmds.polyBevel3(rtable[0], offset=0.1) #patas pataUno = cmds.polyCube(h=tableHeight, w=1, depth=1) cmds.move(-tableWidthx/2.0 + 1,0,tablewidthz/2.0 - 1) cmds.polyBevel(offset=0.1) pataDos = cmds.polyCube(h=tableHeight, w=1, depth=1) cmds.move(tableWidthx/2.0 - 1,0,tablewidthz/2.0 - 1) cmds.polyBevel(offset=0.1) pataTres = cmds.polyCube(h=tableHeight, w=1, depth=1) cmds.move(tableWidthx/2.0 - 1,0,-tablewidthz/2.0 + 1) cmds.polyBevel(offset=0.1) pataCuatro = cmds.polyCube(h=tableHeight, w=1, depth=1) cmds.move(-tableWidthx/2.0 + 1,0,-tablewidthz/2.0 + 1) cmds.polyBevel(offset=0.1) mir = random.randint(0, 19) crazyR = random.randint(0,1000) rName = 'Table'+ str(mir) + str(crazyR) cmds.group(table,pataUno, pataDos, pataTres, pataCuatro, n=rName)
def table(): tablewidthz = cmds.intSliderGrp(slider1, q=True, value=True) tableWidthx = cmds.intSliderGrp(slider2, q=True, value=True) tableHeight = cmds.intSliderGrp(slider3, q=True, value=True) #Roundness = cmds.intSliderGrp(slider4, q=True, value=True) #mesa cmds.polyCube(h=0.7, w=tableWidthx, depth=tablewidthz, n='table') cmds.move(0, tableHeight / 2.0 - 0.3, 0) cmds.select('table.e[4:5]') cmds.select('table.e[8:9]', add=True) cmds.polyBevel3(offset=1, segments=3) cmds.polyBevel3('table', offset=0.1) #patas i = 1 cmds.polyCube(h=tableHeight, w=1, depth=1, n='p_table1_') cmds.move(-tableWidthx / 2.0 + 1, 0, tablewidthz / 2.0 - 1) cmds.polyBevel(offset=0.1) cmds.polyCube(h=tableHeight, w=1, depth=1, n='p_table2_') cmds.move(tableWidthx / 2.0 - 1, 0, tablewidthz / 2.0 - 1) cmds.polyBevel(offset=0.1) cmds.polyCube(h=tableHeight, w=1, depth=1, n='p_table3_') cmds.move(tableWidthx / 2.0 - 1, 0, -tablewidthz / 2.0 + 1) cmds.polyBevel(offset=0.1) cmds.polyCube(h=tableHeight, w=1, depth=1, n='p_table4_') cmds.move(-tableWidthx / 2.0 + 1, 0, -tablewidthz / 2.0 + 1) cmds.polyBevel(offset=0.1) cmds.group('table', 'p_table1_', 'p_table2_', 'p_table3_', 'p_table4_', n='Table1_' + str(i))
def __init__(self, generator): # Creates a pointer to the generator. self.__generator = generator # The radius and cratering data is fetched from the UI. self.__get_values() # Maya generates the shape. polyPlatonicSolid(radius=self.__radius, name="Planet") # The cratering data is fetched, cratering = self.__cratering # For aesthetics, the polyPlatonicSolid is beveled (based on the user's input) and smoothed. polyBevel3(depth=cratering.get_depth(), segments=cratering.get_segments(), fraction=cratering.get_fraction()) polySmooth(divisions=2) # Cleanup objects that are no long necessary. self.__generator = None self.__cratering = None
def runLibrary(): # planche_height = 0.5 # planche_weigth = 10 # planche_depth = 3 # planche_number = 6 # heigh_between_planches = 2 planche_height = cmds.floatSliderGrp(slider1, q=True, value=True) planche_weigth = cmds.intSliderGrp(slider2, q=True, value=True) planche_depth = cmds.intSliderGrp(slider3, q=True, value=True) planche_number = cmds.intSliderGrp(slider4, q=True, value=True) heigh_between_planches = cmds.intSliderGrp(slider5, q=True, value=True) #group: mir = random.randint(0, 19) crazyR = random.randint(0, 1000) gName = 'biblioteque' + str(mir) + str(crazyR) cmds.group(n=gName, em=True) for i in range(planche_number): planche = cmds.polyCube(h=planche_height, w=planche_weigth, depth=planche_depth) cmds.polyBevel3(offset=0.05) cmds.move(0, i * heigh_between_planches, 0) cmds.parent(planche, gName, relative=True) #laterales for i in range(0, 3): planchalateral = cmds.polyCube( h=planche_height, w=planche_number * heigh_between_planches - heigh_between_planches + planche_height, depth=planche_depth) cmds.rotate(0, 0, '-90deg') cmds.move(i * planche_weigth / 2 - planche_weigth / 2.0, ((planche_number * heigh_between_planches - heigh_between_planches) - planche_height / 2) / 2.0, 0) cmds.polyBevel3(offset=0.05) cmds.parent(planchalateral, gName, relative=True) #Back back = cmds.polyCube(h=planche_number * heigh_between_planches - heigh_between_planches + planche_height, w=planche_weigth, depth=planche_height, n='back') cmds.move( 0, ((planche_number * heigh_between_planches - heigh_between_planches) - planche_height / 2) / 2.0, (-planche_depth / 2.0) + (planche_height / 2.0)) cmds.polyBevel3(offset=0.05) cmds.parent(back, gName, relative=True)
def armoireUp(): #group MODULE mir = random.randint(0, 19) crazyR = random.randint(0, 1000) mName = 'MODULE' + str(mir) + str(crazyR) uName = 'MEUBLE_UP' + str(mir) + str(crazyR) # planche_height = 5 # planche_width = 0.1 # planche_depth = 2 # module_width = 4 # number_modules = 3 planche_height = cmds.intSliderGrp(slider1, q=True, value=True) planche_width = cmds.floatSliderGrp(slider2, q=True, value=True) planche_depth = cmds.intSliderGrp(slider3, q=True, value=True) module_width = cmds.intSliderGrp(slider4, q=True, value=True) number_modules = cmds.intSliderGrp(slider5, q=True, value=True) #group MODULE cmds.group(n=mName, em=True) cmds.group(n=uName, em=True) #laterales for i in range(0, 2): planche = cmds.polyCube(h=planche_height, w=planche_width, depth=planche_depth) cmds.polyBevel3(offset=0.02) cmds.move(-i * module_width + module_width / 2.0, planche_height / 2.0, 0) cmds.parent(planche, mName, relative=True) #superior - inferior for i in range(0, 3): placheUpDown = cmds.polyCube(h=planche_width, w=module_width, depth=planche_depth) cmds.polyBevel3(offset=0.02) cmds.move(0, i * planche_height / 2.0, 0) cmds.parent(placheUpDown, mName, relative=True) #puerta puerta = cmds.polyCube(h=planche_height + planche_width, w=module_width + planche_width, depth=planche_width * 2.0) cmds.polyBevel3(offset=0.03) cmds.move(0, planche_height / 2.0, planche_depth / 2.0 + planche_width / 2.0) cmds.parent(puerta, mName, relative=True) #respaldo respaldo = cmds.polyCube(h=planche_height + planche_width, w=module_width + planche_width, depth=planche_width) cmds.polyBevel3(offset=0.03) cmds.move(0, planche_height / 2.0, -planche_depth / 2.0 + planche_width / 2.0) cmds.parent(respaldo, mName, relative=True) for i in range(1, number_modules): mNameInstance = cmds.instance(mName) cmds.move(i * (module_width + planche_width), 0, 0, mNameInstance) cmds.parent(mNameInstance, uName, relative=True) cmds.parent(mName, uName, relative=True)
def runCanape(): moduleNames = [ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't' ] mir = random.randint(0, 19) groupName = cmds.group(n='canape' + str(mir + mir), em=True) # default values: # module1_height = 4 # module1_weigth = 10 # module1_depth = 8 # module1_number = 3 module1_height = cmds.intSliderGrp(slider1, q=True, value=True) module1_weigth = cmds.intSliderGrp(slider2, q=True, value=True) module1_depth = cmds.intSliderGrp(slider3, q=True, value=True) module1_number = cmds.intSliderGrp(slider4, q=True, value=True) for i in range(module1_number): mir = random.randint(0, 19) crazyR = random.randint(0, 1000) rName = 'module1_' + str(mir) + moduleNames[mir] + str(crazyR) + str(i) cmds.polyCube(h=module1_height, w=module1_weigth, depth=module1_depth, n=rName) cmds.move(i * module1_weigth / 1.02, 0, 0) cmds.polyBevel3(offset=0.5) cmds.polySmooth(divisions=2) cmds.parent(rName, groupName, relative=True) #cojines encima for i in range(module1_number): mir = random.randint(0, 19) crazyR = random.randint(0, 1000) rName = 'module2_' + str(mir) + moduleNames[mir] + str(crazyR) + str(i) cmds.polyCube(h=module1_height, w=module1_weigth, depth=module1_depth, n=rName) cmds.rotate('73deg', 0, 0) cmds.move(i * module1_weigth / 1.02, module1_depth / 1.8, -module1_depth / 1.5) cmds.polyBevel3(offset=0.5) cmds.polySmooth(divisions=2) cmds.parent(rName, groupName, relative=True) #laterales ? mir = random.randint(0, 19) crazyR = random.randint(0, 1000) rName = 'lateral1_' + str(mir) + moduleNames[mir] + str(crazyR) + str(i) cmds.polyCube(h=(module1_height + module1_depth) / 1.5, w=module1_height, depth=module1_depth * 1.5, n=rName) cmds.move(-module1_weigth / 2.0, 0, -0.5) b = cmds.instance(rName) cmds.move((module1_weigth * module1_number) - (module1_weigth / 2.0), 0, -0.5) cmds.polyBevel3(offset=0.5) cmds.polySmooth(divisions=2) cmds.parent(rName, groupName, relative=True) cmds.parent(b, groupName, relative=True)
def tableChaise(): tablewidthz = cmds.intSliderGrp(slider1, q=True, value=True) tableWidthx = cmds.intSliderGrp(slider2, q=True, value=True) tableHeight = cmds.intSliderGrp(slider3, q=True, value=True) #Roundness = cmds.intSliderGrp(slider4, q=True, value=True) #mesa table = cmds.polyCube(h=0.7, w=tableWidthx, depth=tablewidthz) rtable = cmds.ls(table[0]) print(rtable) cmds.move(0, tableHeight / 2.0 - 0.3, 0) cmds.select(str(rtable[0]) + '.e[4:5]') cmds.select(str(rtable[0]) + '.e[8:9]', add=True) # cmds.select('table.e[4:5]') # cmds.select('table.e[8:9]', add=True) cmds.polyBevel3(offset=1, segments=3) cmds.polyBevel3(rtable[0], offset=0.1) #patas pataUno = cmds.polyCube(h=tableHeight, w=1, depth=1) cmds.move(-tableWidthx / 2.0 + 1, 0, tablewidthz / 2.0 - 1) cmds.polyBevel(offset=0.1) pataDos = cmds.polyCube(h=tableHeight, w=1, depth=1) cmds.move(tableWidthx / 2.0 - 1, 0, tablewidthz / 2.0 - 1) cmds.polyBevel(offset=0.1) pataTres = cmds.polyCube(h=tableHeight, w=1, depth=1) cmds.move(tableWidthx / 2.0 - 1, 0, -tablewidthz / 2.0 + 1) cmds.polyBevel(offset=0.1) pataCuatro = cmds.polyCube(h=tableHeight, w=1, depth=1) cmds.move(-tableWidthx / 2.0 + 1, 0, -tablewidthz / 2.0 + 1) cmds.polyBevel(offset=0.1) mir = random.randint(0, 19) crazyR = random.randint(0, 1000) tName = 'Table' + str(mir) + str(crazyR) cmds.group(table, pataUno, pataDos, pataTres, pataCuatro, n=tName) Chaisewidthz = cmds.intSliderGrp(slider4, q=True, value=True) ChaiseWidthx = cmds.intSliderGrp(slider5, q=True, value=True) ChaiseHeight = cmds.intSliderGrp(slider6, q=True, value=True) Distance = cmds.intSliderGrp(slider7, q=True, value=True) mainC = cmds.polyCube(h=1, w=ChaiseWidthx, depth=Chaisewidthz) cmds.move(0, ChaiseHeight / 2.0 - 0.3, 0) cmds.polyBevel(offset=0.2) cmds.polySmooth(dv=1) #patas pataUno = cmds.polyCube(h=ChaiseHeight, w=0.7, depth=0.7) cmds.move(-ChaiseWidthx / 2.0 + 0.5, 0, Chaisewidthz / 2.0 - 0.5) cmds.rotate(-4, 0, -4) cmds.polyBevel(offset=0.1) pataDos = cmds.polyCube(h=ChaiseHeight, w=0.7, depth=0.7) cmds.move(ChaiseWidthx / 2.0 - 0.5, 0, Chaisewidthz / 2.0 - 0.5) cmds.rotate(-4, 0, 4) cmds.polyBevel(offset=0.1) pataTres = cmds.polyCube(h=ChaiseHeight, w=0.7, depth=0.7) cmds.move(ChaiseWidthx / 2.0 - 0.5, 0, -Chaisewidthz / 2.0 + 0.5) cmds.rotate(4, 0, 4) cmds.polyBevel(offset=0.1) pataCuatro = cmds.polyCube(h=ChaiseHeight, w=0.7, depth=0.7) cmds.move(-ChaiseWidthx / 2.0 + 0.5, 0, -Chaisewidthz / 2.0 + 0.5) cmds.rotate(4, 0, -4) cmds.polyBevel(offset=0.1) #espaldar e_uno = cmds.polyCube(h=ChaiseHeight, w=0.5, depth=0.5) cmds.move(-ChaiseWidthx / 2.0 + 0.2, ChaiseHeight, Chaisewidthz / 2.0 - 1) cmds.rotate(0, 0, 7) cmds.polyBevel(offset=0.1) e_dos = cmds.polyCube(h=ChaiseHeight, w=0.5, depth=0.5) cmds.move(-ChaiseWidthx / 2.0 + 0.2, ChaiseHeight, -Chaisewidthz / 2.0 + 1) cmds.rotate(0, 0, 7) cmds.polyBevel(offset=0.1) e_tres = cmds.polyCube(h=2.5, w=1, depth=Chaisewidthz) cmds.move(-ChaiseWidthx / 2.0 + 0.5, ChaiseHeight * 1.4, 0) cmds.rotate(0, 0, 7) cmds.polyBevel(offset=0.2) cmds.polySmooth(dv=1) mir = random.randint(0, 19) crazyR = random.randint(0, 1000) rName = 'Chair' + str(mir) + str(crazyR) cmds.group(mainC, pataUno, pataDos, pataTres, pataCuatro, e_uno, e_dos, e_tres, n=rName) cmds.select(rName) cmds.move(Distance, -1, 0) cmds.duplicate(rName) cmds.move(-Distance, -1, 0) cmds.rotate(0, -180, 0) cmds.select(rName) cmds.duplicate(rName) cmds.move(0, -1, -Distance) cmds.rotate(0, 90, 0) cmds.select(rName) cmds.duplicate(rName) cmds.move(0, -1, Distance) cmds.rotate(0, -90, 0)
def CreateDoorBase(self, name="doorBase", width=_wallbaseWidth, height=_wallbaseHeight, divisions=2): if cmds.objExists(name): return name door = cmds.polyPlane(name=name, w=1, h=1, sx=2, sy=2, cuv=2, ch=1, ax=[1, 0, 0]) cmds.move(0, height / 2, 0, a=True) cmds.polySelect(name, edgeRing=1) cmds.polyCrease(value=0.9) cmds.select(f'{name}.f[0:]', r=True) cmds.sets(e=True, forceElement=self._matWall) offset = cmds.polyExtrudeFacet(constructionHistory=True, keepFacesTogether=True, offset=0.05, divisions=divisions) cmds.setAttr(f'{offset[0]}.localTranslate', 0, 0.05, 0) cmds.scale(1, 1, 0.6, r=True, p=[0, 0.45, 0]) cmds.polyExtrudeFacet(constructionHistory=True, keepFacesTogether=True, thickness=0.05, divisions=divisions) cmds.sets(e=True, forceElement=self._matDoorFrame) cmds.polyExtrudeFacet(constructionHistory=True, keepFacesTogether=True, offset=0.02, divisions=divisions) cmds.polyExtrudeFacet(constructionHistory=True, keepFacesTogether=True, thickness=-0.2, divisions=divisions) cmds.sets(e=True, forceElement=self._matDoor) cmds.select(f'{name}.f[4:8]', r=True) cmds.polyDelFacet() cmds.select(door) cmds.polyBevel3(fraction=0.1, offsetAsFraction=1, autoFit=1, depth=1, mitering=0, miterAlong=0, chamfer=0, segments=2, worldSpace=1, smoothingAngle=30) #freeze transformations cmds.makeIdentity(apply=True, t=1, r=1, s=1, n=0, pn=1) return door[0]
def armoire(): # planche_height = 5 # planche_width = 0.15 # planche_depth = 4 # module_width = 4 # number_modules = 3 planche_height = cmds.intSliderGrp(slider1, q=True, value=True) planche_width = cmds.floatSliderGrp(slider2, q=True, value=True) planche_depth = cmds.intSliderGrp(slider3, q=True, value=True) module_width = cmds.intSliderGrp(slider4, q=True, value=True) number_modules = cmds.intSliderGrp(slider5, q=True, value=True) #estos dos valores deben ser iguales number_tiroir = 3.0 tiroir = 3 #group MODULE mir = random.randint(0, 19) crazyR = random.randint(0, 1000) mName = 'MODULE' + str(mir) + str(crazyR) tName = 'TIROIR' + str(mir) + str(crazyR) dName = 'MEUBLE_DOWN' + str(mir) + str(crazyR) cmds.group(n=mName, em=True) cmds.group(n=tName, em=True) cmds.group(n=dName, em=True) #tiroir tiroirPorte = cmds.polyCube(h=(planche_height / number_tiroir), w=module_width + planche_width, depth=planche_width * 2.0) cmds.polyBevel3(offset=0.03) tiroirLat = cmds.polyCube(h=(planche_height / number_tiroir) / 1.5, w=planche_width, depth=planche_depth) cmds.move(-module_width / 2.0 + planche_width, 0, -planche_depth / 2.0) cmds.polyBevel3(offset=0.02) tiroirLatDos = cmds.polyCube(h=(planche_height / number_tiroir) / 1.5, w=planche_width, depth=planche_depth) cmds.move(module_width / 2.0 - planche_width, 0, -planche_depth / 2.0) cmds.polyBevel3(offset=0.02) tiroirBase = cmds.polyCube(h=planche_width, w=module_width, depth=planche_depth) cmds.move(0, (-planche_height / number_tiroir) / 4.0, -planche_depth / 2.0) cmds.polyBevel3(offset=0.02) tiroirAtras = cmds.polyCube(h=(planche_height / number_tiroir) / 1.5, w=module_width, depth=planche_width) cmds.move(0, 0, -planche_depth) cmds.polyBevel3(offset=0.02) # cmds.parent('tiroirporte_'+str(i),'tiroirLat1_'+str(i),'tiroirLat2_'+str(i),'tiroiratras_'+str(i),'tiroirBase_'+str(i),'TIROIR') cmds.parent(tiroirPorte, tiroirLat, tiroirLatDos, tiroirAtras, tiroirBase, tName) cmds.move(0, (planche_height / number_tiroir) / 2.0, planche_depth / 2.0, tName) for i in range(1, tiroir): tNameD = cmds.instance(tName) cmds.move( 0, i * (planche_height / number_tiroir) + (planche_height / number_tiroir) / 2, planche_depth / 2.0, tNameD) # cmds.parent(tNameD[i],mName, relative=True) cmds.parent(tName, mName, relative=True) #laterales for i in range(0, 2): planche = cmds.polyCube(h=planche_height, w=planche_width, depth=planche_depth) cmds.polyBevel3(offset=0.02) cmds.move(-i * module_width + module_width / 2.0, planche_height / 2.0, 0) cmds.parent(planche, mName, relative=True) #superior - inferior for i in range(0, 2): placheUpDown = cmds.polyCube(h=planche_width, w=module_width, depth=planche_depth) cmds.polyBevel3(offset=0.02) cmds.move(0, i * planche_height, 0) cmds.parent(placheUpDown, mName, relative=True) #respaldo respaldo = cmds.polyCube(h=planche_height, w=module_width, depth=planche_width) cmds.polyBevel3(offset=0.02) cmds.move(0, planche_height / 2.0, -planche_depth / 2.0) cmds.parent(respaldo, mName, relative=True) #superior plancheSuperior = cmds.polyCube(h=planche_width * 2.0, w=module_width * number_modules + planche_width * 6.0, depth=planche_depth + 1.0) cmds.polyBevel3(offset=0.02) cmds.move((module_width * number_modules) / 2.0 - (module_width / 2.0) + planche_width, (planche_height) + planche_width * 2, 0) cmds.parent(plancheSuperior, dName, relative=True) for i in range(1, number_modules): modulesDuplicate = cmds.instance(mName) cmds.move(i * (module_width + planche_width), 0, 0, modulesDuplicate) cmds.parent(modulesDuplicate, dName, relative=True) cmds.parent(mName, dName, relative=True)
'TOP_LAMP', relative=True) cmds.select('TOP_LAMP') cmds.move(0, height_lamp / 5.0, 0) # CENTRO Y BASE cmds.polyCylinder(r=radius_lamp / 12.0, h=height_lamp / 1.5, n='soportecentral_' + str(i)) cmds.polyCylinder(r=radius_lamp, h=radius_lamp / 5.0, sa=40, n='soporteBase') cmds.move(0, -height_lamp / 3.0, 0) cmds.polyBevel3('soporteBase.e[40:79]', 'soporteBase.e[0:39]', offset=0.02, segments=3) cmds.polySmooth(dv=1) cmds.polySphere(r=radius_lamp / 12.0, n='decor') cmds.move(0, height_lamp / 3.0, 0) cmds.parent('TOP_LAMP', 'soportecentral_' + str(i), 'soporteBase', 'decor', 'LAMP', relative=True) #, 'lamp.e[720:759]', 'lamp.e[640:679]','lamp.e[560:599]','lamp.e[480:519]' )
def lamp(): # height_lamp = 10 # radius_lamp = 4 # Thickness_lamp = 0.1 height_lamp = cmds.intSliderGrp(slider1, q=True, value=True) radius_lamp = cmds.intSliderGrp(slider2, q=True, value=True) Thickness_lamp = cmds.floatSliderGrp(slider3, q=True, value=True) mir = random.randint(0, 19) crazyR = random.randint(0, 1000) topLamp = 'TOP_LAMP' + str(mir) + str(crazyR) lamp = 'LAMP' + str(mir) + str(crazyR) cmds.group(n=topLamp, em=True) cmds.group(n=lamp, em=True) # TOP_LAMP tLamp = cmds.polyPipe(h=height_lamp, r=radius_lamp, thickness=Thickness_lamp, sh=10, sa=40) soporteCentroArriba = cmds.polyCylinder(r=radius_lamp / 3.0, h=0.30) traversoCentro = cmds.polyCylinder(r=0.08, h=(radius_lamp * 2.0) - Thickness_lamp) cmds.rotate(0, 0, '90deg', r=True) traversoCentroD = cmds.duplicate(traversoCentro) cmds.rotate(0, '90deg', 0, r=True) cmds.parent(tLamp, soporteCentroArriba, traversoCentro, traversoCentroD, topLamp, relative=True) cmds.select(topLamp) cmds.move(0, height_lamp / 5.0, 0) # CENTRO Y BASE soporteCentral = cmds.polyCylinder(r=radius_lamp / 12.0, h=height_lamp / 1.5) soporteBase = cmds.polyCylinder(r=radius_lamp, h=radius_lamp / 5.0, sa=40) rSoporteBase = cmds.ls(soporteBase) cmds.move(0, -height_lamp / 3.0, 0) cmds.polyBevel3(rSoporteBase[0] + '.e[40:79]', rSoporteBase[0] + '.e[0:39]', offset=0.02, segments=3) cmds.polySmooth(dv=1) decor = cmds.polySphere(r=radius_lamp / 12.0) cmds.move(0, height_lamp / 3.0, 0) #cmds.parent('TOP_LAMP', 'soportecentral_'+str(i), 'soporteBase', 'decor', 'LAMP', relative=True) cmds.parent(topLamp, soporteCentral, soporteBase, decor, lamp, relative=True)
cmds.file(f=True, new=True) matela_Widthx = 12 matela_widthz = 8 matela_Height = 2 lit_extrude_y = 0.8 lit_extrude_Z = 0.85 cmds.group(n='lit_complete', em=True) #matelas cmds.polyCube(h=matela_Height, w=matela_Widthx, depth=matela_widthz, n='matela') cmds.polyBevel3('matela', offset=0.1) cmds.polySmooth('matela', divisions=3) cmds.parent('matela', 'lit_complete', relative=True) #laterales cmds.polyCube(h=matela_Height, w=matela_Widthx, depth=0.4, n='lateral_lit1_' + str(i)) cmds.move(0, -matela_Height / 2.0, -matela_widthz / 2.0) cmds.instance('lateral_lit1_' + str(i)) cmds.move(0, -matela_Height / 2.0, matela_widthz / 2.0) cmds.polyBevel3(offset=0.05) cmds.parent('lateral_lit1_' + str(i), 'lit_complete', relative=True) #tete
def runBed(): # matela_Widthx = 12 # matela_widthz = 8 # matela_Height = 2 # lit_extrude_y = 0.8 # lit_extrude_Z = 0.85 matela_Widthx = cmds.intSliderGrp(slider1, q=True, value=True) matela_widthz = cmds.intSliderGrp(slider2, q=True, value=True) matela_Height = cmds.intSliderGrp(slider3, q=True, value=True) lit_extrude_y = cmds.floatSliderGrp(slider4, q=True, value=True) lit_extrude_Z = cmds.floatSliderGrp(slider5, q=True, value=True) mir = random.randint(0, 19) crazyR = random.randint(0, 1000) gName = 'lit_complete' + str(mir) + str(crazyR) cmds.group(n=gName, em=True) #matelas matela = cmds.polyCube(h=matela_Height, w=matela_Widthx, depth=matela_widthz) cmds.polyBevel3(matela, offset=0.1) cmds.polySmooth(matela, divisions=3) cmds.parent(matela, gName, relative=True) #laterales lateralUno = cmds.polyCube(h=matela_Height, w=matela_Widthx, depth=0.4) cmds.move(0, -matela_Height / 2.0, -matela_widthz / 2.0) lateralInstance = cmds.instance(lateralUno) cmds.move(0, -matela_Height / 2.0, matela_widthz / 2.0) cmds.polyBevel3(offset=0.05) cmds.parent(lateralUno, gName, relative=True) cmds.parent(lateralInstance, gName, relative=True) #tete tete = cmds.polyCube(h=matela_Height * 2.0, w=0.5, depth=matela_widthz) cmds.move(-matela_Widthx / 2.0, 0, 0) rtete = cmds.ls(tete) cmds.polyExtrudeFacet(str(rtete[0]) + '.f[4]', kft=False, ls=(lit_extrude_Z, lit_extrude_y, 0)) cmds.polyExtrudeFacet(str(rtete[0]) + '.f[4]', kft=False, ltz=-0.2) cmds.polyBevel3(offset=0.05) cmds.parent(tete, gName, relative=True) #pieds pied = cmds.polyCube(h=matela_Height, w=0.4, depth=matela_widthz) cmds.move(matela_Widthx / 2.0, -matela_Height / 2.0, 0) rpied = cmds.ls(pied) cmds.polyExtrudeFacet(str(rpied[0]) + '.f[4]', kft=False, ls=(lit_extrude_Z, lit_extrude_y - 0.2, 0)) cmds.polyExtrudeFacet(str(rpied[0]) + '.f[4]', kft=False, ltz=-0.2) cmds.polyBevel3(offset=0.05) cmds.parent(pied, gName, relative=True) #coussin coussin = cmds.polyCube(h=0.7, w=matela_widthz / 3.0, depth=matela_widthz / 2.0) cmds.move(-matela_Widthx / 2.0 + 1.8, (matela_Height / 2.0) + 0.1, (matela_widthz / 2.0) / 2.0) cmds.polyBevel3(offset=0.3) cmds.polySmooth(divisions=2) coussinInstance = cmds.instance(coussin) cmds.move(-matela_Widthx / 2.0 + 1.8, (matela_Height / 2.0) + 0.1, (-matela_widthz / 2.0) / 2.0) cmds.parent(coussin, gName, relative=True) cmds.parent(coussinInstance, gName, relative=True)
number_tiroir = 3.0 tiroir = 3 #group MODULE cmds.group(n='MODULE', em=True) cmds.group(n='TIROIR', em=True) cmds.group(n='MEUBLE_DOWN', em=True) #tiroir cmds.polyCube(h=(planche_height / number_tiroir), w=module_weight + planche_weigth, depth=planche_weigth * 2.0, n='tiroirporte_' + str(i)) cmds.polyBevel3(offset=0.03) cmds.polyCube(h=(planche_height / number_tiroir) / 1.5, w=planche_weigth, depth=planche_depth, n='tiroirLat1_' + str(i)) cmds.move(-module_weight / 2.0 + planche_weigth, 0, -planche_depth / 2.0) cmds.polyBevel3(offset=0.02) cmds.polyCube(h=(planche_height / number_tiroir) / 1.5, w=planche_weigth, depth=planche_depth, n='tiroirLat2_' + str(i)) cmds.move(module_weight / 2.0 - planche_weigth, 0, -planche_depth / 2.0) cmds.polyBevel3(offset=0.02)
def polyBevel3(*args, **kwargs): res = cmds.polyBevel3(*args, **kwargs) if not kwargs.get('query', kwargs.get('q', False)): res = _factories.maybeConvert(res, _general.PyNode) return res
cmds.file(f=True, new=True) module1_height = 4 module1_weigth = 10 module1_depth = 8 module1_number = 3 cmds.group(n='canape', em=True) for i in range(module1_number): cmds.polyCube(h=module1_height, w=module1_weigth, depth=module1_depth, n='module1_' + str(i)) cmds.move(i * module1_weigth / 1.02, 0, 0) cmds.polyBevel3(offset=0.5) cmds.polySmooth(divisions=2) cmds.parent('module1_' + str(i), 'canape', relative=True) #cojines encima for i in range(module1_number): cmds.polyCube(h=module1_height, w=module1_weigth, depth=module1_depth, n='module2_' + str(i)) cmds.rotate('73deg', 0, 0) cmds.move(i * module1_weigth / 1.02, module1_depth / 1.8, -module1_depth / 1.5) cmds.polyBevel3(offset=0.5) cmds.polySmooth(divisions=2)
#shieldObjectCreation.py import maya.cmds as cmds cylResult = cmds.polyCylinder(r=1.15, h=.15, sx=6) cmds.polyBevel3(cylResult, oaf=True, ws=True, at=180) shpereResult = cmds.polySphere(r=1.15, name="PowerCore") cmds.move(0, 10, 0, shpereResult)