def reset_sca(self): if self.resetSca_sw: message = "Reset Scale" message = get_progression_message(self, message) increment_progress_bar(self, self.progress) dialog.transform_log(message) lx.eval('!!transform.reset scale')
def reset_pos(self): if self.resetPos_sw: message = "Reset Position" message = get_progression_message(self, message) increment_progress_bar(self, self.progress) dialog.transform_log(message) lx.eval('!!transform.reset translation')
def reset_rot(self): if self.resetRot_sw: message = "Reset Rotation" message = get_progression_message(self, message) increment_progress_bar(self, self.progress) dialog.transform_log(message) lx.eval('!!transform.reset rotation')
def freeze_instance(self, type='meshInst', update_arr=True, first_index=0): compatibleType = [t.itemType['MESH_INSTANCE']] if type in compatibleType and self.scn.selected[0].type in compatibleType: if self.exportFile_sw or ( (not self.exportFile_sw) and (self.freezeInstance_sw or self.freezePos_sw or self.freezeRot_sw or self.freezeSca_sw or self.freezeShe_sw)): message = "Freeze Instance" message = get_progression_message(self, message) increment_progress_bar(self, self.progress) dialog.transform_log(message) lx.eval('item.setType.mesh') frozenItem_arr = [] selection = self.scn.selected for i in xrange(0, len(selection)): item = selection[i] item.select(replace=True) currScale = item.scale if currScale.x.get() < 0 or currScale.y.get( ) < 0 or currScale.z.get() < 0: freeze_sca(self, True) frozenItem_arr.append(item) if not self.exportFile_sw: self.userSelection[first_index + i] = item elif update_arr: self.proceededMesh[first_index + i] = item
def freeze_geo(self): if self.freezeGeo_sw: message = "Freeze Geometry" message = get_progression_message(self, message) increment_progress_bar(self, self.progress) dialog.transform_log(message) lx.eval( 'poly.freeze polyline true 2 true true true false 4.0 true Morph')
def freeze_she(self): if self.freezeShe_sw: message = "Freeze Shear" message = get_progression_message(self, message) increment_progress_bar(self, self.progress) dialog.transform_log(message) lx.eval('!!transform.freeze shear')
def freeze_rot(self): if self.freezeRot_sw: message = "Freeze Rotation" message = get_progression_message(self, message) increment_progress_bar(self, self.progress) dialog.transform_log(message) lx.eval('!!transform.freeze rotation')
def freeze_sca(self, force=False): if self.freezeSca_sw or force: if not force: message = "Freeze Scale" message = get_progression_message(self, message) increment_progress_bar(self, self.progress) dialog.transform_log(message) lx.eval('!!transform.freeze scale')
def freeze_meshop(self, type): if self.freezeMeshOp_sw and type == t.itemType['MESH']: message = "Freeze MeshOp" message = get_progression_message(self, message) increment_progress_bar(self, self.progress) dialog.transform_log(message) selection = self.scn.selected for i in xrange(0, len(selection)): self.scn.select(selection[i]) lx.eval('deformer.freeze false') self.scn.select(selection)
def freeze_replicator(self, type, update_arr=True, first_index=0): if type == t.itemType['REPLICATOR']: message = "Freeze Replicator" message = get_progression_message(self, message) increment_progress_bar(self, self.progress) dialog.transform_log(message) frozenItem_arr = [] selection = self.scn.selected for i in xrange(0, len(selection)): selection[i].select(replace=True) originalName = self.scn.selected[0].name lx.eval('replicator.freeze') item = modo.Item(originalName) children = item.children() self.scn.select(children) lx.eval('item.setType.mesh') lx.eval('layer.mergeMeshes true') trimed_selection = selection[i:] #print trimed_selection helper.replace_replicator_source(self, trimed_selection) frozenItem = modo.Item(self.scn.selected[0].name) frozenItem.setParent() self.scn.select(item) lx.eval('!!item.delete') frozenItem.name = originalName frozenItem_arr.append(frozenItem) if not self.exportFile_sw: self.userSelection[first_index + i] = frozenItem elif update_arr: self.proceededMesh[first_index + i] = frozenItem self.scn.select(frozenItem_arr)
def freeze_meshfusion(self, type): if type == t.itemType['MESH_FUSION']: message = "Freeze MeshFusion" message = get_progression_message(self, message) increment_progress_bar(self, self.progress) dialog.transform_log(message) selection = self.scn.selected for i in xrange(0, len(selection)): self.scn.select(selection[i]) name = self.scn.selected[0].name lx.eval('item.channel OutputMeshMode outModeFinalParts') lx.eval('user.value sdf.outDup false') lx.eval('user.value sdf.meshOutName "%s"' % name) lx.eval('[email protected]') selection[i] = self.scn.item(name) self.scn.select(selection)
def position_offset(self): if (self.posX != 0.0 or self.posY != 0.0 or self.posZ != 0.0) and self.pos_sw: message = "Position offset = (%s, %s, %s)" % (self.posX, self.posY, self.posZ) message = get_progression_message(self, message) increment_progress_bar(self, self.progress) dialog.transform_log(message) selection = self.scn.selected for i in self.scn.selected: self.scn.select(i) currPosition = i.position lx.eval('transform.channel pos.X %s' % str(float(self.posX) + currPosition.x.get())) lx.eval('transform.channel pos.Y %s' % str(float(self.posY) + currPosition.y.get())) lx.eval('transform.channel pos.Z %s' % str(float(self.posZ) + currPosition.z.get())) self.scn.select(selection)
def rot_angle(self): if (self.rotX != 0.0 or self.rotY != 0.0 or self.rotZ != 0.0) and self.rot_sw: message = "Rotation Angle = (%s, %s, %s)" % (self.rotX, self.rotY, self.rotZ) message = get_progression_message(self, message) increment_progress_bar(self, self.progress) dialog.transform_log(message) selection = self.scn.selected for i in self.scn.selected: self.scn.select(i) currRotation = i.rotation lx.eval('transform.freeze rotation') lx.eval('transform.channel rot.X "%s"' % str(float(self.rotX) + currRotation.x.get())) lx.eval('transform.channel rot.Y "%s"' % str(float(self.rotY) + currRotation.y.get())) lx.eval('transform.channel rot.Z "%s"' % str(float(self.rotZ) + currRotation.z.get())) self.scn.select(selection)
def scale_amount(self): if (self.scaX != 1.0 or self.scaY != 1.0 or self.scaZ != 1.0) and self.sca_sw: message = "Scale amount = (%s, %s, %s)" % (self.scaX, self.scaY, self.scaZ) message = get_progression_message(self, message) increment_progress_bar(self, self.progress) dialog.transform_log(message) selection = self.scn.selected for i in self.scn.selected: self.scn.select(i) currScale = i.scale freeze_sca(self) lx.eval('transform.channel scl.X %s' % str(float(self.scaX) * currScale.x.get())) lx.eval('transform.channel scl.Y %s' % str(float(self.scaY) * currScale.y.get())) lx.eval('transform.channel scl.Z %s' % str(float(self.scaZ) * currScale.z.get())) self.scn.select(selection)