Initial commit and push
This commit is contained in:
@@ -0,0 +1,115 @@
|
||||
'''
|
||||
UI functionality for the import dialog.
|
||||
'''
|
||||
import softimage
|
||||
import zetcore
|
||||
import zetimport
|
||||
reload(softimage)
|
||||
reload(zetcore)
|
||||
reload(zetimport)
|
||||
from win32com.client import constants as const
|
||||
xsi = Application
|
||||
ADDONPATH = xsi.InstallationPath(const.siUserAddonPath)
|
||||
sigen = softimage.SIGeneral()
|
||||
|
||||
|
||||
def store_flags_OnClicked():
|
||||
settings = zetcore.load_settings('import', PPG.Inspected(0))
|
||||
zetcore.save_settings('import', settings)
|
||||
sigen.msg('Stored.')
|
||||
return
|
||||
|
||||
|
||||
def btexpath_OnChanged():
|
||||
ppg = PPG.Inspected(0)
|
||||
checked = ppg.Parameters('btexpath').Value
|
||||
texpath = ppg.Parameters('texpath')
|
||||
texpath.SetCapabilityFlag(2, not checked)
|
||||
|
||||
|
||||
def help_OnClicked():
|
||||
ps = xsi.ActiveSceneRoot.AddProperty('CustomProperty', False, 'ImportHelp')
|
||||
lay = ps.PPGLayout
|
||||
lay.Language = "pythonscript"
|
||||
agr = lay.AddGroup
|
||||
egr = lay.EndGroup
|
||||
text = lay.AddStaticText
|
||||
agr('Import')
|
||||
text('Imports null-chain and animations from an animation .msh.')
|
||||
egr()
|
||||
agr('Texture Folder')
|
||||
text('''Sets the texture paths to that folder. If the box is unchecked the paths
|
||||
will be set to the path of the .msh file.''')
|
||||
egr()
|
||||
agr('Set Frame Range')
|
||||
text('''Automatically sets the frame range from the animated frames in the
|
||||
.msh file.''')
|
||||
egr()
|
||||
agr('Apply animation')
|
||||
text('''Only applies the unpacked animation to the selected hierarchy. Doesn't
|
||||
import geometry/models or materials.''')
|
||||
egr()
|
||||
agr('Null Display Size')
|
||||
text('''Sets the display size of Nulls. Improves cleanness of the null
|
||||
chain after import.''')
|
||||
egr()
|
||||
agr('Ignore Geometry')
|
||||
text('''Ignore geometry on import.''')
|
||||
egr()
|
||||
agr('Ignore Geometry')
|
||||
text('''Ignore animation on import.''')
|
||||
egr()
|
||||
agr('Color Nulls')
|
||||
text('''Colors nulls according to type(bone, root, eff).''')
|
||||
egr()
|
||||
agr('Hide Effs/Roots')
|
||||
text('''Hides nulls of the specified type on import.
|
||||
Type is defined from certain strings appearing in the name:
|
||||
bone_l_leg is a bone, even if it's no animated/weighted to.''')
|
||||
egr()
|
||||
agr('Weld Boundary Edges')
|
||||
text('''Applies a Weld Op to all geo models with a value of 0.01. The Operator
|
||||
will persist after the import.''')
|
||||
egr()
|
||||
xsi.InspectObj(ps, '', 'ImportHelp', 4, False)
|
||||
for prop in xsi.ActiveSceneRoot.Properties:
|
||||
if prop.Name == 'ImportHelp':
|
||||
xsi.DeleteObj('ImportHelp')
|
||||
|
||||
|
||||
def importbutton_OnClicked():
|
||||
settings = zetcore.load_settings('import', PPG.Inspected(0))
|
||||
import_ = zetimport.Import(xsi, settings)
|
||||
try:
|
||||
import_.import_()
|
||||
except SystemExit:
|
||||
return
|
||||
except Exception as e:
|
||||
if sigen.msg('Encountered an error while importing, copy error to clipboard?', const.siMsgYesNo) == 6:
|
||||
import win32clipboard, traceback
|
||||
log_path = zetcore.get_import_log_path()
|
||||
lines = []
|
||||
if log_path:
|
||||
with open(log_path, 'r') as file_handle:
|
||||
lines = file_handle.readlines()[-15:]
|
||||
message = ['Last 15 log lines:', '\n']
|
||||
message.extend(['\t{0}'.format(line.strip('\n')) for line in lines])
|
||||
message.extend(('\n', 'Traceback:', '\n'))
|
||||
message.extend(['\t{0}'.format(element) for element in traceback.format_exc().split('\n')])
|
||||
message = '\n'.join(message)
|
||||
|
||||
win32clipboard.OpenClipboard()
|
||||
win32clipboard.EmptyClipboard()
|
||||
try:
|
||||
win32clipboard.SetClipboardText(message, win32clipboard.CF_TEXT)
|
||||
except TypeError:
|
||||
win32clipboard.SetClipboardText(message)
|
||||
win32clipboard.CloseClipboard()
|
||||
else:
|
||||
raise
|
||||
return
|
||||
|
||||
|
||||
def EClose_OnClicked():
|
||||
PPG.Close()
|
||||
xsi.DeleteObj('MSHImport')
|
||||
Reference in New Issue
Block a user