From a6adec9e1df98a194902be4dadf7f2a1e002da32 Mon Sep 17 00:00:00 2001 From: Thomas Larsson Date: Sun, 26 Feb 2012 20:37:36 +0000 Subject: MHX importer: temporary commit for Bmesh. UV coordinates are ignored, but at least the script does not crash. --- io_mesh_pdb/__init__.py | 43 +++++++-- io_mesh_pdb/atom_info.dat | 218 +++++++++++++++++++++++----------------------- io_mesh_pdb/export_pdb.py | 109 +++++++++++++++++++++++ io_mesh_pdb/import_pdb.py | 2 +- 4 files changed, 257 insertions(+), 115 deletions(-) create mode 100644 io_mesh_pdb/export_pdb.py (limited to 'io_mesh_pdb') diff --git a/io_mesh_pdb/__init__.py b/io_mesh_pdb/__init__.py index e079ff3d..a7552352 100644 --- a/io_mesh_pdb/__init__.py +++ b/io_mesh_pdb/__init__.py @@ -22,6 +22,7 @@ bl_info = { "author": "Clemens Barth", "version": (1,2), "blender": (2,6), + "api": 31236, "location": "File -> Import -> PDB (.pdb), Panel: View 3D - Tools", "warning": "", "wiki_url": "http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Import-Export/PDB", @@ -32,7 +33,7 @@ bl_info = { import bpy from bpy.types import Operator, Panel -from bpy_extras.io_utils import ImportHelper +from bpy_extras.io_utils import ImportHelper, ExportHelper from bpy.props import (StringProperty, BoolProperty, EnumProperty, @@ -42,6 +43,8 @@ from bpy.props import (StringProperty, # TODO, allow reload from . import import_pdb +from . import export_pdb + ATOM_PDB_ERROR = "" @@ -234,7 +237,7 @@ class CLASS_atom_pdb_IO(bpy.types.PropertyGroup): description="The sticks are round (sectors are not visible)") scn.use_atom_pdb_sticks_bonds = BoolProperty( name="Bonds", default=False, - description="Show double and tripple bonds") + description="Show double and tripple bonds.") scn.atom_pdb_sticks_dist = FloatProperty( name="Distance", default = 1.1, min=1.0, max=3.0, description="Distance between sticks measured in stick diameter") @@ -596,6 +599,30 @@ class ImportPDB(Operator, ImportHelper): return {'FINISHED'} + +# This is the class for the file dialog. +class ExportPDB(Operator, ExportHelper): + bl_idname = "export_mesh.pdb" + bl_label = "Export Protein Data Bank(*.pdb)" + + filename_ext = ".pdb" + filter_glob = StringProperty(default="*.pdb", options={'HIDDEN'},) + + def draw(self, context): + layout = self.layout + scn = bpy.context.scene + + def execute(self, context): + scn = bpy.context.scene + + # This is in order to solve this strange 'relative path' thing. + export_pdb.ATOM_PDB_FILEPATH = bpy.path.abspath(self.filepath) + export_pdb.DEF_atom_pdb_export() + + return {'FINISHED'} + + + class CLASS_atom_pdb_error_dialog(bpy.types.Operator): bl_idname = "atom_pdb.error_dialog" bl_label = "Attention !" @@ -612,17 +639,23 @@ class CLASS_atom_pdb_error_dialog(bpy.types.Operator): # The entry into the menu 'file -> import' -def menu_func(self, context): +def menu_func_import(self, context): self.layout.operator(ImportPDB.bl_idname, text="Protein Data Bank (.pdb)") +# The entry into the menu 'file -> export' +def menu_func_export(self, context): + self.layout.operator(ExportPDB.bl_idname, text="Protein Data Bank (.pdb)") + def register(): bpy.utils.register_module(__name__) - bpy.types.INFO_MT_file_import.append(menu_func) + bpy.types.INFO_MT_file_import.append(menu_func_import) + bpy.types.INFO_MT_file_export.append(menu_func_export) def unregister(): bpy.utils.unregister_module(__name__) - bpy.types.INFO_MT_file_import.remove(menu_func) + bpy.types.INFO_MT_file_import.remove(menu_func_import) + bpy.types.INFO_MT_file_export.remove(menu_func_export) if __name__ == "__main__": diff --git a/io_mesh_pdb/atom_info.dat b/io_mesh_pdb/atom_info.dat index efd72f6f..5e00a5fb 100644 --- a/io_mesh_pdb/atom_info.dat +++ b/io_mesh_pdb/atom_info.dat @@ -3,7 +3,7 @@ Atom Number : 1 Name : Hydrogen Short name : H -Color : 0.0,0.0,1.0 +Color : 0.99,0.99,0.99 Radius used : 0.320000 Radius, covalent : 0.320000 Radius, atomic : 0.790000 @@ -16,7 +16,7 @@ Atom Number : 2 Name : Helium Short name : He -Color : 0.207843137255,0.56862745098,0.207843137255 +Color : 0.84,0.99,0.99 Radius used : 0.930000 Radius, covalent : 0.930000 Radius, atomic : 0.490000 @@ -27,7 +27,7 @@ Atom Number : 3 Name : Lithium Short name : Li -Color : 0.729411764706,0.278431372549,0.254901960784 +Color : 0.79,0.5,0.99 Radius used : 1.230000 Radius, covalent : 1.230000 Radius, atomic : 2.050000 @@ -40,7 +40,7 @@ Atom Number : 4 Name : Beryllium Short name : Be -Color : 0.447058823529,0.725490196078,0.309803921569 +Color : 0.75,0.99,0.0 Radius used : 0.900000 Radius, covalent : 0.900000 Radius, atomic : 1.400000 @@ -55,7 +55,7 @@ Atom Number : 5 Name : Boron Short name : B -Color : 1.0,1.0,1.0 +Color : 0.99,0.70,0.70 Radius used : 0.820000 Radius, covalent : 0.820000 Radius, atomic : 1.170000 @@ -70,8 +70,8 @@ Atom Number : 6 Name : Carbon Short name : C -Color : 0.0,0.0,0.0 -Radius used : 0.770000 +Color : 0.3,0.3,0.3 +Radius used : 0.910000 Radius, covalent : 0.770000 Radius, atomic : 0.910000 Charge state : -4 @@ -85,7 +85,7 @@ Atom Number : 7 Name : Nitrogen Short name : N -Color : 0.0,0.0,1.0 +Color : 0.18,0.31,0.96 Radius used : 0.750000 Radius, covalent : 0.750000 Radius, atomic : 0.750000 @@ -104,7 +104,7 @@ Atom Number : 8 Name : Oxygen Short name : O -Color : 1.0,0.0,0.0 +Color : 0.99,0.05,0.05 Radius used : 0.730000 Radius, covalent : 0.730000 Radius, atomic : 0.650000 @@ -124,7 +124,7 @@ Number : 9 Name : Fluorine Short name : F Color : 0.0,1.0,0.0 -Radius used : 0.720000 +Radius used : 1.330000 Radius, covalent : 0.720000 Radius, atomic : 0.570000 Charge state : -1 @@ -138,7 +138,7 @@ Atom Number : 10 Name : Neon Short name : Ne -Color : 0.537254901961,0.607843137255,0.525490196078 +Color : 0.69,0.88,0.95 Radius used : 0.710000 Radius, covalent : 0.710000 Radius, atomic : 0.510000 @@ -151,8 +151,8 @@ Atom Number : 11 Name : Sodium Short name : Na -Color : 0.0,0.0,1.0 -Radius used : 1.540000 +Color : 0.5,0.5,0.5 +Radius used : 0.970000 Radius, covalent : 1.540000 Radius, atomic : 2.230000 Charge state : 1 @@ -164,8 +164,8 @@ Atom Number : 12 Name : Magnesium Short name : Mg -Color : 1.0,1.0,1.0 -Radius used : 1.360000 +Color : 0.38,0.066,1.0 +Radius used : 0.660000 Radius, covalent : 1.360000 Radius, atomic : 1.720000 Charge state : 1 @@ -179,7 +179,7 @@ Atom Number : 13 Name : Aluminium Short name : Al -Color : 0.701960784314,0.2,0.623529411765 +Color : 0.74,0.64,0.64 Radius used : 1.180000 Radius, covalent : 1.180000 Radius, atomic : 1.820000 @@ -192,7 +192,7 @@ Atom Number : 14 Name : Silicon Short name : Si -Color : 0.654901960784,0.647058823529,0.278431372549 +Color : 0.93,0.78,0.62 Radius used : 1.110000 Radius, covalent : 1.110000 Radius, atomic : 1.460000 @@ -211,7 +211,7 @@ Atom Number : 15 Name : Phosphorus Short name : P -Color : 1.0,1.0,0.0 +Color : 0.99,0.5,0.0 Radius used : 1.060000 Radius, covalent : 1.060000 Radius, atomic : 1.230000 @@ -228,7 +228,7 @@ Atom Number : 16 Name : Sulfur Short name : S -Color : 1.0,1.0,0.501960784314 +Color : 0.99,0.99,0.18 Radius used : 1.020000 Radius, covalent : 1.020000 Radius, atomic : 1.090000 @@ -247,8 +247,8 @@ Atom Number : 17 Name : Chlorine Short name : Cl -Color : 0.0,1.0,0.0 -Radius used : 0.990000 +Color : 0.095,0.411,1.0 +Radius used : 1.810000 Radius, covalent : 0.990000 Radius, atomic : 0.970000 Charge state : -1 @@ -264,7 +264,7 @@ Atom Number : 18 Name : Argon Short name : Ar -Color : 0.317647058824,0.329411764706,0.749019607843 +Color : 0.5,0.81,0.88 Radius used : 0.980000 Radius, covalent : 0.980000 Radius, atomic : 0.880000 @@ -277,7 +277,7 @@ Atom Number : 19 Name : Potassium Short name : K -Color : 0.811764705882,0.239215686275,0.423529411765 +Color : 0.55,0.25,0.82 Radius used : 2.030000 Radius, covalent : 2.030000 Radius, atomic : 2.770000 @@ -290,7 +290,7 @@ Atom Number : 20 Name : Calcium Short name : Ca -Color : 1.0,1.0,1.0 +Color : 0.23,0.99,0.0 Radius used : 1.740000 Radius, covalent : 1.740000 Radius, atomic : 2.230000 @@ -305,7 +305,7 @@ Atom Number : 21 Name : Scandium Short name : Sc -Color : 0.662745098039,0.447058823529,0.313725490196 +Color : 0.89,0.89,0.89 Radius used : 1.440000 Radius, covalent : 1.440000 Radius, atomic : 2.090000 @@ -318,7 +318,7 @@ Atom Number : 22 Name : Titanium Short name : Ti -Color : 0.270588235294,0.533333333333,0.686274509804 +Color : 0.74,0.75,0.77 Radius used : 1.320000 Radius, covalent : 1.320000 Radius, atomic : 2.000000 @@ -337,7 +337,7 @@ Atom Number : 23 Name : Vanadium Short name : V -Color : 0.270588235294,0.243137254902,0.635294117647 +Color : 0.64,0.64,0.66 Radius used : 1.220000 Radius, covalent : 1.220000 Radius, atomic : 1.920000 @@ -356,7 +356,7 @@ Atom Number : 24 Name : Chromium Short name : Cr -Color : 0.807843137255,0.286274509804,0.819607843137 +Color : 0.53,0.59,0.77 Radius used : 1.180000 Radius, covalent : 1.180000 Radius, atomic : 1.850000 @@ -375,7 +375,7 @@ Atom Number : 25 Name : Manganese Short name : Mn -Color : 0.752941176471,0.352941176471,0.552941176471 +Color : 0.60,0.47,0.77 Radius used : 1.170000 Radius, covalent : 1.170000 Radius, atomic : 1.790000 @@ -394,7 +394,7 @@ Atom Number : 26 Name : Iron Short name : Fe -Color : 1.0,0.0,0.0 +Color : 0.87,0.39,0.19 Radius used : 1.170000 Radius, covalent : 1.170000 Radius, atomic : 1.720000 @@ -409,7 +409,7 @@ Atom Number : 27 Name : Cobalt Short name : Co -Color : 0.274509803922,0.219607843137,0.752941176471 +Color : 0.93,0.56,0.62 Radius used : 1.160000 Radius, covalent : 1.160000 Radius, atomic : 1.670000 @@ -424,7 +424,7 @@ Atom Number : 28 Name : Nickel Short name : Ni -Color : 0.439215686275,0.360784313725,0.862745098039 +Color : 0.31,0.81,0.31 Radius used : 1.150000 Radius, covalent : 1.150000 Radius, atomic : 1.620000 @@ -437,7 +437,7 @@ Atom Number : 29 Name : Copper Short name : Cu -Color : 0.607843137255,0.0,0.0 +Color : 0.78,0.5,0.19 Radius used : 1.170000 Radius, covalent : 1.170000 Radius, atomic : 1.570000 @@ -452,7 +452,7 @@ Atom Number : 30 Name : Zinc Short name : Zn -Color : 0.423529411765,0.36862745098,0.450980392157 +Color : 0.48,0.5,0.68 Radius used : 1.250000 Radius, covalent : 1.250000 Radius, atomic : 1.530000 @@ -467,7 +467,7 @@ Atom Number : 31 Name : Gallium Short name : Ga -Color : 0.635294117647,0.729411764706,0.337254901961 +Color : 0.75,0.55,0.55 Radius used : 1.260000 Radius, covalent : 1.260000 Radius, atomic : 1.810000 @@ -482,7 +482,7 @@ Atom Number : 32 Name : Germanium Short name : Ge -Color : 0.423529411765,0.756862745098,0.301960784314 +Color : 0.39,0.55,0.55 Radius used : 1.220000 Radius, covalent : 1.220000 Radius, atomic : 1.520000 @@ -499,7 +499,7 @@ Atom Number : 33 Name : Arsenic Short name : As -Color : 0.396078431373,0.776470588235,0.250980392157 +Color : 0.73,0.5,0.88 Radius used : 1.200000 Radius, covalent : 1.200000 Radius, atomic : 1.330000 @@ -516,7 +516,7 @@ Atom Number : 34 Name : Selenium Short name : Se -Color : 0.952941176471,0.270588235294,0.905882352941 +Color : 0.99,0.62,0.0 Radius used : 1.160000 Radius, covalent : 1.160000 Radius, atomic : 1.220000 @@ -537,7 +537,7 @@ Atom Number : 35 Name : Bromine Short name : Br -Color : 0.0,0.498039215686,0.0 +Color : 0.64,0.16,0.16 Radius used : 1.140000 Radius, covalent : 1.140000 Radius, atomic : 1.120000 @@ -554,7 +554,7 @@ Atom Number : 36 Name : Krypton Short name : Kr -Color : 0.227450980392,0.435294117647,0.192156862745 +Color : 0.35,0.71,0.81 Radius used : 1.310000 Radius, covalent : 1.310000 Radius, atomic : 1.240000 @@ -565,7 +565,7 @@ Atom Number : 37 Name : Rubidium Short name : Rb -Color : 1.0,1.0,1.0 +Color : 0.43,0.17,0.68 Radius used : 2.160000 Radius, covalent : 2.160000 Radius, atomic : 2.980000 @@ -578,7 +578,7 @@ Atom Number : 38 Name : Strontium Short name : Sr -Color : 1.0,1.0,1.0 +Color : 0.0,0.99,0.0 Radius used : 1.910000 Radius, covalent : 1.910000 Radius, atomic : 2.450000 @@ -591,7 +591,7 @@ Atom Number : 39 Name : Yttrium Short name : Y -Color : 1.0,1.0,1.0 +Color : 0.57,0.99,0.99 Radius used : 1.620000 Radius, covalent : 1.620000 Radius, atomic : 2.270000 @@ -604,7 +604,7 @@ Atom Number : 40 Name : Zirconium Short name : Zr -Color : 1.0,1.0,1.0 +Color : 0.57,0.87,0.87 Radius used : 1.450000 Radius, covalent : 1.450000 Radius, atomic : 2.160000 @@ -619,7 +619,7 @@ Atom Number : 41 Name : Niobium Short name : Nb -Color : 1.0,1.0,1.0 +Color : 0.44,0.75,0.78 Radius used : 1.340000 Radius, covalent : 1.340000 Radius, atomic : 2.080000 @@ -636,7 +636,7 @@ Atom Number : 42 Name : Molybdenum Short name : Mo -Color : 1.0,1.0,1.0 +Color : 0.32,0.70,0.70 Radius used : 1.300000 Radius, covalent : 1.300000 Radius, atomic : 2.010000 @@ -653,7 +653,7 @@ Atom Number : 43 Name : Technetium Short name : Tc -Color : 1.0,1.0,1.0 +Color : 0.23,0.61,0.61 Radius used : 1.270000 Radius, covalent : 1.270000 Radius, atomic : 1.950000 @@ -666,7 +666,7 @@ Atom Number : 44 Name : Ruthenium Short name : Ru -Color : 1.0,1.0,1.0 +Color : 0.14,0.55,0.55 Radius used : 1.250000 Radius, covalent : 1.250000 Radius, atomic : 1.890000 @@ -679,7 +679,7 @@ Atom Number : 45 Name : Rhodium Short name : Rh -Color : 1.0,1.0,1.0 +Color : 0.03,0.48,0.54 Radius used : 1.250000 Radius, covalent : 1.250000 Radius, atomic : 1.830000 @@ -692,7 +692,7 @@ Atom Number : 46 Name : Palladium Short name : Pd -Color : 1.0,1.0,1.0 +Color : 0.0,0.41,0.51 Radius used : 1.280000 Radius, covalent : 1.280000 Radius, atomic : 1.790000 @@ -707,7 +707,7 @@ Atom Number : 47 Name : Silver Short name : Ag -Color : 1.0,1.0,1.0 +Color : 0.75,0.75,0.75 Radius used : 1.340000 Radius, covalent : 1.340000 Radius, atomic : 1.750000 @@ -722,7 +722,7 @@ Atom Number : 48 Name : Cadmium Short name : Cd -Color : 1.0,1.0,1.0 +Color : 0.99,0.84,0.55 Radius used : 1.480000 Radius, covalent : 1.480000 Radius, atomic : 1.710000 @@ -737,7 +737,7 @@ Atom Number : 49 Name : Indium Short name : In -Color : 1.0,1.0,1.0 +Color : 0.64,0.45,0.44 Radius used : 1.440000 Radius, covalent : 1.440000 Radius, atomic : 2.000000 @@ -750,7 +750,7 @@ Atom Number : 50 Name : Tin Short name : Sn -Color : 1.0,1.0,1.0 +Color : 0.39,0.5,0.5 Radius used : 1.410000 Radius, covalent : 1.410000 Radius, atomic : 1.720000 @@ -769,7 +769,7 @@ Atom Number : 51 Name : Antimony Short name : Sb -Color : 1.0,1.0,1.0 +Color : 0.61,0.38,0.70 Radius used : 1.400000 Radius, covalent : 1.400000 Radius, atomic : 1.530000 @@ -786,7 +786,7 @@ Atom Number : 52 Name : Tellurium Short name : Te -Color : 1.0,1.0,1.0 +Color : 0.82,0.47,0.0 Radius used : 1.360000 Radius, covalent : 1.360000 Radius, atomic : 1.420000 @@ -807,7 +807,7 @@ Atom Number : 53 Name : Iodine Short name : I -Color : 0.0,0.498039215686,0.498039215686 +Color : 0.57,0.0,0.57 Radius used : 1.330000 Radius, covalent : 1.330000 Radius, atomic : 1.320000 @@ -824,7 +824,7 @@ Atom Number : 54 Name : Xenon Short name : Xe -Color : 1.0,1.0,1.0 +Color : 0.25,0.61,0.68 Radius used : 1.310000 Radius, covalent : 1.310000 Radius, atomic : 1.240000 @@ -835,7 +835,7 @@ Atom Number : 55 Name : Caesium Short name : Cs -Color : 1.0,1.0,1.0 +Color : 0.33,0.08,0.55 Radius used : 2.350000 Radius, covalent : 2.350000 Radius, atomic : 3.350000 @@ -848,7 +848,7 @@ Atom Number : 56 Name : Barium Short name : Ba -Color : 1.0,1.0,1.0 +Color : 0.0,0.78,0.0 Radius used : 1.980000 Radius, covalent : 1.980000 Radius, atomic : 2.780000 @@ -863,7 +863,7 @@ Atom Number : 57 Name : Lanthanum Short name : La -Color : 1.0,1.0,1.0 +Color : 0.43,0.82,0.99 Radius used : 1.690000 Radius, covalent : 1.690000 Radius, atomic : 2.740000 @@ -878,7 +878,7 @@ Atom Number : 58 Name : Cerium Short name : Ce -Color : 1.0,1.0,1.0 +Color : 0.99,0.99,0.77 Radius used : 1.650000 Radius, covalent : 1.650000 Radius, atomic : 2.700000 @@ -895,7 +895,7 @@ Atom Number : 59 Name : Praseodymium Short name : Pr -Color : 1.0,1.0,1.0 +Color : 0.84,0.99,0.77 Radius used : 1.650000 Radius, covalent : 1.650000 Radius, atomic : 2.670000 @@ -910,7 +910,7 @@ Atom Number : 60 Name : Neodymium Short name : Nd -Color : 1.0,1.0,1.0 +Color : 0.77,0.99,0.77 Radius used : 1.640000 Radius, covalent : 1.640000 Radius, atomic : 2.640000 @@ -923,7 +923,7 @@ Atom Number : 61 Name : Promethium Short name : Pm -Color : 1.0,1.0,1.0 +Color : 0.63,0.99,0.77 Radius used : 1.630000 Radius, covalent : 1.630000 Radius, atomic : 2.620000 @@ -936,7 +936,7 @@ Atom Number : 62 Name : Samarium Short name : Sm -Color : 1.0,1.0,1.0 +Color : 0.55,0.99,0.77 Radius used : 1.620000 Radius, covalent : 1.620000 Radius, atomic : 2.590000 @@ -949,7 +949,7 @@ Atom Number : 63 Name : Europium Short name : Eu -Color : 1.0,1.0,1.0 +Color : 0.37,0.99,0.77 Radius used : 1.850000 Radius, covalent : 1.850000 Radius, atomic : 2.560000 @@ -964,7 +964,7 @@ Atom Number : 64 Name : Gadolinium Short name : Gd -Color : 1.0,1.0,1.0 +Color : 0.26,0.99,0.77 Radius used : 1.610000 Radius, covalent : 1.610000 Radius, atomic : 2.540000 @@ -977,7 +977,7 @@ Atom Number : 65 Name : Terbium Short name : Tb -Color : 1.0,1.0,1.0 +Color : 0.18,0.99,0.77 Radius used : 1.590000 Radius, covalent : 1.590000 Radius, atomic : 2.510000 @@ -992,7 +992,7 @@ Atom Number : 66 Name : Dysprosium Short name : Dy -Color : 1.0,1.0,1.0 +Color : 0.12,0.99,0.77 Radius used : 1.590000 Radius, covalent : 1.590000 Radius, atomic : 2.490000 @@ -1005,7 +1005,7 @@ Atom Number : 67 Name : Holmium Short name : Ho -Color : 1.0,1.0,1.0 +Color : 0.0,0.99,0.60 Radius used : 1.580000 Radius, covalent : 1.580000 Radius, atomic : 2.470000 @@ -1018,7 +1018,7 @@ Atom Number : 68 Name : Erbium Short name : Er -Color : 0.482352941176,0.482352941176,0.482352941176 +Color : 0.0,0.89,0.45 Radius used : 1.570000 Radius, covalent : 1.570000 Radius, atomic : 2.450000 @@ -1031,7 +1031,7 @@ Atom Number : 69 Name : Thulium Short name : Tm -Color : 1.0,1.0,1.0 +Color : 0.0,0.82,0.32 Radius used : 1.560000 Radius, covalent : 1.560000 Radius, atomic : 2.420000 @@ -1044,7 +1044,7 @@ Atom Number : 70 Name : Ytterbium Short name : Yb -Color : 1.0,1.0,1.0 +Color : 0.0,0.74,0.21 Radius used : 1.740000 Radius, covalent : 1.740000 Radius, atomic : 2.400000 @@ -1059,7 +1059,7 @@ Atom Number : 71 Name : Lutetium Short name : Lu -Color : 1.0,1.0,1.0 +Color : 0.0,0.66,0.14 Radius used : 1.560000 Radius, covalent : 1.560000 Radius, atomic : 2.250000 @@ -1072,7 +1072,7 @@ Atom Number : 72 Name : Hafnium Short name : Hf -Color : 1.0,1.0,1.0 +Color : 0.30,0.75,0.99 Radius used : 1.440000 Radius, covalent : 1.440000 Radius, atomic : 2.160000 @@ -1085,7 +1085,7 @@ Atom Number : 73 Name : Tantalum Short name : Ta -Color : 1.0,1.0,1.0 +Color : 0.30,0.64,0.99 Radius used : 1.340000 Radius, covalent : 1.340000 Radius, atomic : 2.090000 @@ -1098,7 +1098,7 @@ Atom Number : 74 Name : Tungsten Short name : W -Color : 1.0,1.0,1.0 +Color : 0.12,0.57,0.83 Radius used : 1.300000 Radius, covalent : 1.300000 Radius, atomic : 2.020000 @@ -1113,7 +1113,7 @@ Atom Number : 75 Name : Rhenium Short name : Re -Color : 1.0,1.0,1.0 +Color : 0.14,0.48,0.66 Radius used : 1.280000 Radius, covalent : 1.280000 Radius, atomic : 1.970000 @@ -1128,7 +1128,7 @@ Atom Number : 76 Name : Osmium Short name : Os -Color : 1.0,1.0,1.0 +Color : 0.14,0.39,0.58 Radius used : 1.260000 Radius, covalent : 1.260000 Radius, atomic : 1.920000 @@ -1143,7 +1143,7 @@ Atom Number : 77 Name : Iridium Short name : Ir -Color : 1.0,1.0,1.0 +Color : 0.08,0.32,0.52 Radius used : 1.270000 Radius, covalent : 1.270000 Radius, atomic : 1.870000 @@ -1156,7 +1156,7 @@ Atom Number : 78 Name : Platinium Short name : Pt -Color : 1.0,1.0,1.0 +Color : 0.81,0.81,0.87 Radius used : 1.300000 Radius, covalent : 1.300000 Radius, atomic : 1.830000 @@ -1171,7 +1171,7 @@ Atom Number : 79 Name : Gold Short name : Au -Color : 1.0,1.0,1.0 +Color : 0.99,0.81,0.13 Radius used : 1.340000 Radius, covalent : 1.340000 Radius, atomic : 1.790000 @@ -1186,7 +1186,7 @@ Atom Number : 80 Name : Mercury Short name : Hg -Color : 1.0,1.0,1.0 +Color : 0.71,0.71,0.81 Radius used : 1.490000 Radius, covalent : 1.490000 Radius, atomic : 1.760000 @@ -1201,7 +1201,7 @@ Atom Number : 81 Name : Thallium Short name : Tl -Color : 1.0,1.0,1.0 +Color : 0.64,0.32,0.30 Radius used : 1.480000 Radius, covalent : 1.480000 Radius, atomic : 2.080000 @@ -1216,7 +1216,7 @@ Atom Number : 82 Name : Lead Short name : Pb -Color : 0.498039215686,0.498039215686,0.498039215686 +Color : 0.33,0.34,0.37 Radius used : 1.470000 Radius, covalent : 1.470000 Radius, atomic : 1.810000 @@ -1231,7 +1231,7 @@ Atom Number : 83 Name : Bismuth Short name : Bi -Color : 1.0,1.0,1.0 +Color : 0.61,0.30,0.70 Radius used : 1.460000 Radius, covalent : 1.460000 Radius, atomic : 1.630000 @@ -1248,7 +1248,7 @@ Atom Number : 84 Name : Polonium Short name : Po -Color : 1.0,1.0,1.0 +Color : 0.66,0.35,0.0 Radius used : 1.460000 Radius, covalent : 1.460000 Radius, atomic : 1.530000 @@ -1261,7 +1261,7 @@ Atom Number : 85 Name : Astatine Short name : At -Color : 1.0,1.0,1.0 +Color : 0.45,0.30,0.26 Radius used : 1.450000 Radius, covalent : 1.450000 Radius, atomic : 1.430000 @@ -1278,7 +1278,7 @@ Atom Number : 86 Name : Radon Short name : Rn -Color : 1.0,1.0,1.0 +Color : 0.25,0.50,0.58 Radius used : 1.000000 Radius, covalent : 1.000000 Radius, atomic : 1.340000 @@ -1289,7 +1289,7 @@ Atom Number : 87 Name : Francium Short name : Fr -Color : 1.0,1.0,1.0 +Color : 0.25,0.0,0.39 Radius used : 1.000000 Radius, covalent : 1.000000 Radius, atomic : 1.000000 @@ -1302,7 +1302,7 @@ Atom Number : 88 Name : Radium Short name : Ra -Color : 1.0,1.0,1.0 +Color : 0.0,0.48,0.0 Radius used : 1.000000 Radius, covalent : 1.000000 Radius, atomic : 1.000000 @@ -1315,7 +1315,7 @@ Atom Number : 89 Name : Actinium Short name : Ac -Color : 1.0,1.0,1.0 +Color : 0.43,0.66,0.97 Radius used : 1.000000 Radius, covalent : 1.000000 Radius, atomic : 1.000000 @@ -1328,7 +1328,7 @@ Atom Number : 90 Name : Thorium Short name : Th -Color : 1.0,1.0,1.0 +Color : 0.0,0.72,0.99 Radius used : 1.650000 Radius, covalent : 1.650000 Radius, atomic : 1.000000 @@ -1341,7 +1341,7 @@ Atom Number : 91 Name : Protactinium Short name : Pa -Color : 1.0,1.0,1.0 +Color : 0.0,0.62,0.99 Radius used : 1.000000 Radius, covalent : 1.000000 Radius, atomic : 1.000000 @@ -1358,7 +1358,7 @@ Atom Number : 92 Name : Uranium Short name : U -Color : 1.0,1.0,1.0 +Color : 0.0,0.55,0.99 Radius used : 1.420000 Radius, covalent : 1.420000 Radius, atomic : 1.000000 @@ -1373,7 +1373,7 @@ Atom Number : 93 Name : Neptunium Short name : Np -Color : 1.0,1.0,1.0 +Color : 0.0,0.5,0.99 Radius used : 1.000000 Radius, covalent : 1.000000 Radius, atomic : 1.000000 @@ -1390,7 +1390,7 @@ Atom Number : 94 Name : Plutonium Short name : Pu -Color : 1.0,1.0,1.0 +Color : 0.0,0.41,0.99 Radius used : 1.000000 Radius, covalent : 1.000000 Radius, atomic : 1.000000 @@ -1405,7 +1405,7 @@ Atom Number : 95 Name : Americium Short name : Am -Color : 1.0,1.0,1.0 +Color : 0.32,0.35,0.94 Radius used : 1.000000 Radius, covalent : 1.000000 Radius, atomic : 1.000000 @@ -1420,7 +1420,7 @@ Atom Number : 96 Name : Curium Short name : Cm -Color : 1.0,1.0,1.0 +Color : 0.46,0.35,0.88 Radius used : 1.000000 Radius, covalent : 1.000000 Radius, atomic : 1.000000 @@ -1431,7 +1431,7 @@ Atom Number : 97 Name : Berkelium Short name : Bk -Color : 1.0,1.0,1.0 +Color : 0.53,0.30,0.88 Radius used : 1.000000 Radius, covalent : 1.000000 Radius, atomic : 1.000000 @@ -1442,7 +1442,7 @@ Atom Number : 98 Name : Californium Short name : Cf -Color : 1.0,1.0,1.0 +Color : 0.62,0.21,0.82 Radius used : 1.000000 Radius, covalent : 1.000000 Radius, atomic : 1.000000 @@ -1453,7 +1453,7 @@ Atom Number : 99 Name : Einsteinium Short name : Es -Color : 1.0,1.0,1.0 +Color : 0.69,0.12,0.82 Radius used : 1.000000 Radius, covalent : 1.000000 Radius, atomic : 1.000000 @@ -1464,7 +1464,7 @@ Atom Number : 100 Name : Fermium Short name : Fm -Color : 1.0,1.0,1.0 +Color : 0.69,0.12,0.72 Radius used : 1.000000 Radius, covalent : 1.000000 Radius, atomic : 1.000000 @@ -1475,7 +1475,7 @@ Atom Number : 101 Name : Mendelevium Short name : Md -Color : 1.0,1.0,1.0 +Color : 0.69,0.05,0.64 Radius used : 1.000000 Radius, covalent : 1.000000 Radius, atomic : 1.000000 @@ -1486,7 +1486,7 @@ Atom Number : 102 Name : Nobelium Short name : No -Color : 1.0,1.0,1.0 +Color : 0.73,0.05,0.52 Radius used : 1.000000 Radius, covalent : 1.000000 Radius, atomic : 1.000000 @@ -1497,7 +1497,7 @@ Atom Number : 103 Name : Lawrencium Short name : Lr -Color : 1.0,1.0,1.0 +Color : 0.77,0.0,0.39 Radius used : 1.000000 Radius, covalent : 1.000000 Radius, atomic : 1.000000 @@ -1509,7 +1509,7 @@ Number : 104 Name : Vacancy Short name : Vac Color : 0.5,0.5,0.5 -Radius used : 1.0 +Radius used : 1.2 Radius, covalent : 1.0 Radius, atomic : 1.0 @@ -1519,7 +1519,7 @@ Atom Number : 105 Name : Default Short name : Default -Color : 1.0,1.0,1.0 +Color : 0.5,0.5,0.5 Radius used : 1.0 Radius, covalent : 1.0 Radius, atomic : 1.0 diff --git a/io_mesh_pdb/export_pdb.py b/io_mesh_pdb/export_pdb.py new file mode 100644 index 00000000..22d1f015 --- /dev/null +++ b/io_mesh_pdb/export_pdb.py @@ -0,0 +1,109 @@ +# ##### BEGIN GPL LICENSE BLOCK ##### +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# ##### END GPL LICENSE BLOCK ##### + +# +# +# Authors : Clemens Barth (Blendphys@root-1.de), ... +# +# Homepage(Wiki) : http://development.root-1.de/Atomic_Blender.php +# Tracker : http://projects.blender.org/tracker/index.php?func=detail&aid=29226&group_id=153&atid=467 +# +# Start of project : 2011-08-31 by Clemens Barth +# First publication in Blender : 2011-11-11 +# Last modified : 2012-02-27 +# +# Acknowledgements: Thanks to ideasman, meta_androcto, truman, kilon, +# dairin0d, PKHG, Valter, etc +# + +import bpy +import io +import math +import os +import copy +from math import pi, cos, sin +from mathutils import Vector, Matrix +from copy import copy + +from . import import_pdb + +ATOM_PDB_FILEPATH = "" +ATOM_PDB_PDBTEXT = ( "REMARK This pdb file has been created with Blender " + + "and the Atomic Blender script\n" + + "REMARK For more details see wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Import-Export/PDB\n" + + "REMARK\n" + + "REMARK\n") + + + + +class CLASS_atom_pdb_atoms_export(object): + __slots__ = ('element', 'location') + def __init__(self, element, location): + self.element = element + self.location = location + + + + +def DEF_atom_pdb_export(): + + list_atoms = [] + for obj in bpy.context.selected_objects: + + if "Stick" in obj.name: + continue + + if obj.type != "SURFACE" and obj.type != "MESH": + continue + + for element in import_pdb.ATOM_PDB_ELEMENTS: + if element.name in obj.name: + if element.short_name == "Vac": + name = "X" + else: + name = element.short_name + + if len(obj.children) != 0: + for vertex in obj.data.vertices: + list_atoms.append(CLASS_atom_pdb_atoms_export( + name, + obj.location+vertex.co)) + + else: + if not obj.parent: + list_atoms.append(CLASS_atom_pdb_atoms_export( + name, + obj.location)) + + + pdb_file_p = open(ATOM_PDB_FILEPATH, "w") + pdb_file_p.write(ATOM_PDB_PDBTEXT) + + for i, atom in enumerate(list_atoms): + string = "ATOM %6d%3s%24.3f%8.3f%8.3f%6.2f%6.2f%12s\n" % ( + i, atom.element, + atom.location[0], + atom.location[1], + atom.location[2], + 1.00, 1.00, atom.element) + pdb_file_p.write(string) + + pdb_file_p.close() + + return True diff --git a/io_mesh_pdb/import_pdb.py b/io_mesh_pdb/import_pdb.py index bc9c0605..2491d4fc 100644 --- a/io_mesh_pdb/import_pdb.py +++ b/io_mesh_pdb/import_pdb.py @@ -25,7 +25,7 @@ # # Start of project : 2011-08-31 by Clemens Barth # First publication in Blender : 2011-11-11 -# Last modified : 2012-02-07 +# Last modified : 2012-02-27 # # Acknowledgements: Thanks to ideasman, meta_androcto, truman, kilon, # dairin0d, PKHG, Valter, etc -- cgit v1.2.3