From 6c87db255114aa97bc1aa105a439bfd7b11b61e6 Mon Sep 17 00:00:00 2001 From: Clemens Barth <barth@root-1.de> Date: Fri, 29 Mar 2019 20:33:17 +0100 Subject: [PATCH] Fix 1: Atomic structures based on meta spheres were not visible because the meta balls were hidden by default, T62804 Fix 2: Option 'Mesh UV spheres' for atomic structures lead to an error message, T62804 Comments ======== 1: It i strange that a representative mesh sphere or NURBS sphere in a dupliverts structure can be hidden, which is not the case for meta balls. A representative meta ball needs to be 'visible' and not hidden. By default this is now the case. 2: The 'size' option in 'bpy.ops.mesh.primitive_uv_sphere_add' does not exist anymore. Option 'size' was removed. --- io_mesh_atomic/pdb_import.py | 6 ++++-- io_mesh_atomic/xyz_import.py | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/io_mesh_atomic/pdb_import.py b/io_mesh_atomic/pdb_import.py index 06a808c00..4f0bddd8b 100644 --- a/io_mesh_atomic/pdb_import.py +++ b/io_mesh_atomic/pdb_import.py @@ -707,7 +707,7 @@ def draw_atoms_one_type(draw_all_atoms_type, elif Ball_type == "1": bpy.ops.mesh.primitive_uv_sphere_add( segments=Ball_azimuth, ring_count=Ball_zenith, - size=1, view_align=False, enter_editmode=False, + view_align=False, enter_editmode=False, location=(0,0,0), rotation=(0, 0, 0)) # Meta balls elif Ball_type == "2": @@ -719,7 +719,9 @@ def draw_atoms_one_type(draw_all_atoms_type, # Hide this ball because its appearance has no meaning. It is just the # representative ball. The ball is visible at the vertices of the mesh. # Rememmber, this is a dupliverts construct! - ball.hide_set(True) + # However, hiding does not work with meta balls! + if Ball_type == "0" or Ball_type == "1": + ball.hide_set(True) # Scale up/down the ball radius. ball.scale = (atom[3]*Ball_radius_factor,) * 3 diff --git a/io_mesh_atomic/xyz_import.py b/io_mesh_atomic/xyz_import.py index fe903f4ed..8f6b4c5b0 100644 --- a/io_mesh_atomic/xyz_import.py +++ b/io_mesh_atomic/xyz_import.py @@ -679,7 +679,7 @@ def import_xyz(Ball_type, elif Ball_type == "1": bpy.ops.mesh.primitive_uv_sphere_add( segments=Ball_azimuth, ring_count=Ball_zenith, - size=1, view_align=False, enter_editmode=False, + view_align=False, enter_editmode=False, location=(0,0,0), rotation=(0, 0, 0)) # Meta balls elif Ball_type == "2": @@ -691,7 +691,9 @@ def import_xyz(Ball_type, # Hide this ball because its appearance has no meaning. It is just the # representative ball. The ball is visible at the vertices of the mesh. # Rememmber, this is a dupliverts construct! - ball.hide_set(True) + # However, hiding does not work with meta balls! + if Ball_type == "0" or Ball_type == "1": + ball.hide_set(True) # Scale up/down the ball radius. ball.scale = (atom.radius*Ball_radius_factor,) * 3 -- GitLab