def modal(self, context, event): self.header_text = "Place Object: (Left Click = Place Object) (Hold Shift = Place Multiple) (Esc = Cancel)" context.area.tag_redraw() selected_point, selected_obj = fd.get_selection_point(context,event) self.obj.location = selected_point rotation = object_utils.get_z_rotation(selected_obj, 0) self.obj.rotation_euler.z = rotation if event.type == 'LEFTMOUSE' and event.value == 'PRESS': self.obj.draw_type = 'TEXTURED' item = context.scene.objectlib.scene_objects.add() item.name = self.obj.name if event.shift: self.get_object(context) else: return self.cancel_drop(context,event) if event.type in {'MIDDLEMOUSE', 'WHEELUPMOUSE', 'WHEELDOWNMOUSE'}: return {'PASS_THROUGH'} if event.type == 'ESC': obj_list = [] obj_list.append(self.obj) fd.delete_obj_list(obj_list) return self.cancel_drop(context,event) return {'RUNNING_MODAL'}
def modal(self, context, event): self.header_text = "Place Group: (Left Click = Place Group) (Hold Shift = Place Multiple) (Esc = Cancel)" context.area.tag_redraw() selected_point, selected_obj = fd.get_selection_point(context,event) obj_wall_bp = fd.get_wall_bp(selected_obj) for obj_bp in self.obj_bps: if obj_wall_bp: obj_bp.location.x = selected_point[0] obj_bp.location.y = selected_point[1] obj_bp.location.z = self.grp_z_loc obj_bp.rotation_euler = obj_wall_bp.rotation_euler else: obj_bp.location = selected_point if event.type == 'LEFTMOUSE' and event.value == 'PRESS': self.place_group(context,selected_obj) if event.shift: self.get_group(context) else: return self.cancel_drop(context,event) if event.type in {'MIDDLEMOUSE', 'WHEELUPMOUSE', 'WHEELDOWNMOUSE'}: return {'PASS_THROUGH'} if event.type == 'ESC': obj_list = [] for obj in self.grp.objects: obj_list.append(obj) fd.delete_obj_list(obj_list) return self.cancel_drop(context,event) return {'RUNNING_MODAL'}
def execute(self, context): obj_bp = self.get_bp(context) self.make_opening_available(obj_bp) bool_list = [] self.get_boolean_objects(obj_bp, bool_list) for bool_obj in bool_list: self.remove_referenced_modifiers(context, bool_obj) obj_list = [] obj_list = fd.get_child_objects(obj_bp,obj_list) fd.delete_obj_list(obj_list) return {'FINISHED'}
def execute(self, context): ob = context.scene.objectlib.scene_objects[self.object_name] if ob: obj = bpy.data.objects[ob.name] objects = [] objects.append(obj) fd.delete_obj_list(objects) for index, obj2 in enumerate(context.scene.objectlib.scene_objects): if obj2.name == ob.name: context.scene.objectlib.scene_objects.remove(index) break return {'FINISHED'}
def execute(self,context): if self.group_name in bpy.data.groups: grp = bpy.data.groups[self.group_name] obj_list = [] for obj in grp.objects: obj_list.append(obj) fd.delete_obj_list(obj_list) bpy.data.groups.remove(grp) for index, group in enumerate(context.scene.grouplib.scene_groups): if group.name == self.group_name: context.scene.grouplib.scene_groups.remove(index) break return{'FINISHED'}
def place_group(self,context,selected_obj): obj_wall_bp = fd.get_wall_bp(selected_obj) for obj_bp in self.obj_bps: self.set_xray(obj_bp, False) if obj_wall_bp: self.set_wall_as_parent(obj_wall_bp, obj_bp) self.assign_boolean(selected_obj) fd.delete_obj_list(self.cages) group = context.scene.grouplib.scene_groups.add() group.name = self.grp.name for obj_bp in self.obj_bps: obj_bp.select = True context.scene.objects.active = obj_bp
def cancel_drop(self,context,event): fd.delete_object_and_children(self.wall.obj_bp) context.window.cursor_set('DEFAULT') fd.delete_obj_list([self.drawing_plane]) return {'FINISHED'}