Skip to content

Commit 363763d

Browse files
committed
several rename; add addition format module; added print information when rendering
1 parent f25f060 commit 363763d

12 files changed

Lines changed: 56 additions & 67 deletions

File tree

Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
from .mzd import readMZD_to_bpymesh,readMZD_to_meshio
22
from .bgeo import readbgeo_to_meshio
33

4-
__all__ = [readMZD_to_bpymesh,readMZD_to_meshio,readbgeo_to_meshio]
4+
additional_format_loader ={'.bgeo':readbgeo_to_meshio, '.mzd':readMZD_to_meshio}
5+
6+
__all__ = [readMZD_to_bpymesh,readMZD_to_meshio,readbgeo_to_meshio,additional_format_loader]
7+

simloader/__init__.py

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,39 @@
1-
from .operators import SIMLOADER_OT_load,SIMLOADER_OT_edit,SIMLOADER_OT_resetpt,SIMLOADER_OT_resetmesh,SIMLOADER_OT_resetins
1+
from .operators import SIMLOADER_OT_load, SIMLOADER_OT_edit, SIMLOADER_OT_resetpt, SIMLOADER_OT_resetmesh, SIMLOADER_OT_resetins
22
from .properties import SIMLOADER_scene_property, SIMLOADER_obj_property
33
from .panels import SIMLOADER_UL_Obj_List, SIMLOADER_List_Panel, SIMLOADER_Settings, SIMLOADER_Import, SIMLOADER_Templates, SIMLOADER_UL_Att_List, draw_template
4-
from .importer_manager import subscribe_to_selected, unsubscribe_to_selected
4+
from .messanger import subscribe_to_selected, unsubscribe_to_selected
55
import bpy
66
from bpy.app.handlers import persistent
77
from .importer import update_obj
8+
from datetime import datetime
9+
10+
11+
def print_information(scene):
12+
if not bpy.context.scene.SIMLOADER.print:
13+
return
14+
now = datetime.now()
15+
path = bpy.context.scene.render.filepath
16+
filepath = path + '/simloader_' + now.strftime("%Y_%m_%d %H:%M")
17+
with open(filepath, 'w') as file:
18+
file.write("Render Time: {}\n".format(now.strftime("%Y_%m_%d %H:%M")))
19+
file.write("Simloader Objects in the scene:\n\n")
20+
for obj in bpy.data.objects:
21+
simloader_prop = obj.SIMLOADER
22+
if simloader_prop.init:
23+
file.write("Object name: {}\n".format(obj.name))
24+
file.write("Is it being animated: {}\n".format(simloader_prop.enabled))
25+
file.write("Filepath: {}\n".format(simloader_prop.pattern))
26+
file.write("Is it relative path: {}\n".format(simloader_prop.use_relative))
27+
file.write("\n\n")
828

929

1030
@persistent
1131
def SIMLOADER_initilize(scene):
1232
if update_obj not in bpy.app.handlers.frame_change_post:
1333
bpy.app.handlers.frame_change_post.append(update_obj)
1434
subscribe_to_selected()
35+
if print_information not in bpy.app.handlers.render_init:
36+
bpy.app.handlers.render_init.append(print_information)
1537

1638

1739
__all__ = [

simloader/importer.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from .utils import show_message_box, reserved_word_check
66
import numpy as np
77
from mathutils import Matrix
8-
import mzd
8+
import additional_file_formats
99

1010
supported_mesh_format = ['triangle', 'quad']
1111

@@ -102,10 +102,9 @@ def create_obj(fileseq, use_relaitve, transform_matrix=Matrix([[1, 0, 0, 0], [0,
102102

103103
meshio_mesh = None
104104
enabled = True
105-
106105
try:
107-
if filepath.endswith('.bgeo'):
108-
meshio_mesh = mzd.readbgeo_to_meshio(filepath)
106+
if fileseq.extension() in additional_file_formats.additional_format_loader:
107+
meshio_mesh = additional_file_formats.additional_format_loader[fileseq.extension()](filepath)
109108
else:
110109
meshio_mesh = meshio.read(filepath)
111110
except Exception as e:
@@ -177,8 +176,8 @@ def update_obj(scene, depsgraph=None):
177176
else:
178177
filepath = fs[current_frame % len(fs)]
179178
try:
180-
if filepath.endswith('.bgeo'):
181-
meshio_mesh = mzd.readbgeo_to_meshio(filepath)
179+
if fs.extension() in additional_file_formats.additional_format_loader:
180+
meshio_mesh = additional_file_formats.additional_format_loader[fs.extension()](filepath)
182181
else:
183182
meshio_mesh = meshio.read(filepath)
184183
except Exception as e:
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def subscribe_to_selected():
1616
import simloader
1717
bpy.msgbus.subscribe_rna(
1818
key=(bpy.types.LayerObjects, 'active'),
19-
# don't know why it needs this owner, so I set owner to this module `meshioimporter`
19+
# don't know why it needs this owner, so I set owner to this module `simloader`
2020
owner=simloader,
2121
# no args
2222
args=(()),
@@ -27,3 +27,4 @@ def subscribe_to_selected():
2727
def unsubscribe_to_selected():
2828
import simloader
2929
bpy.msgbus.clear_by_owner(simloader)
30+

simloader/operators.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import bpy
22
import fileseq
3-
from .importer_manager import *
3+
from .messanger import *
44
import traceback
55
from .utils import show_message_box
66
from .importer import create_obj

simloader/panels.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ def draw(self, context):
154154
scene = context.scene
155155
importer_prop = scene.SIMLOADER
156156

157-
layout.label(text="Basic Settings")
157+
layout.label(text="Basic Import Settings")
158158
box = layout.box()
159159
split = box.split()
160160
col1 = split.column()
@@ -186,6 +186,16 @@ def draw(self, context):
186186

187187
layout.operator("sequence.load")
188188

189+
layout.label(text="Extra Settings")
190+
box = layout.box()
191+
split = box.split()
192+
col1 = split.column()
193+
col1.alignment = 'RIGHT'
194+
col2 = split.column(align=False)
195+
196+
col1.label(text="Print Information when render")
197+
col2.prop(importer_prop, "print", text="")
198+
189199

190200
class SIMLOADER_Templates(bpy.types.Menu):
191201
'''

simloader/properties.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ class SIMLOADER_scene_property(bpy.types.PropertyGroup):
3030
poll=poll_material,
3131
)
3232

33+
print:bpy.props.BoolProperty(name='print',
34+
description="whether or not to print additional information when rendering",
35+
default=True)
36+
3337

3438
class SIMLOADER_obj_property(bpy.types.PropertyGroup):
3539
init: bpy.props.BoolProperty(default=False)

0 commit comments

Comments
 (0)