#
# Copyright © 2020 MSC.Software Corporation
#  
# Permission to use Scripts
#  
# Permission is granted to MSC.Software customers with valid licenses of the MSC Apex™ software 
# to use script files posted on this page (collectively “Scripts”) solely for customers’ own authorized 
# internal use in conjunction with licensed use of the MSC Apex software.  
# No other use is permitted.  No license to MSC Apex or other software is granted under this Permission.
#  
# SCRIPTS ARE PROVIDED ON AN "AS-IS" BASIS, WITH NO WARRANTIES OF ANY KIND.  USE OF THE SCRIPTS IS AT CUSTOMER'S SOLE RISK.
#  
# IN NO EVENT SHALL MSC.SOFTWARE CORPORATION, ITS AFFILIATES, SUBSIDIARIES, SUPPLIERS, AGENTS, REPRESENTATIVES OR EMPLOYEES BE LIABLE FOR ANY 
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, TORT, 
# STRICT LIABILITY, OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION USE OF THE SCRIPTS, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
#  
# Customer shall indemnify, defend and hold MSC.Software Corporation, its affiliates, subsidiaries, suppliers, agents, 
# employees or representatives (collectively, “Indemnified Parties”) harmless from and against any third-party claims 
# brought against Indemnified Parties rising out of or in connection with Customer’s use of the Scripts.
#

import apex
apex.setScriptUnitSystem(unitSystemName = r'''mm-t-s-N''')

def main(dict={}):
	apex.disableShowOutput()
	study = apex.getPrimaryStudy()
	try:
		scenarios = study.getScenarios(True)
		# return {"ScenarioList": [], "EventL": []}
	except:
		print("There are no scenarios in this model")
		scenarios=[]

	scenarioNames = []
	EventL=[]
	for scenario in scenarios:
		try:
			steps=scenario.getSteps()
			if "Modal Extraction" in steps[0].name and "Dynamic" in steps[1].name: #no pre-stiffening dynamic scenarios
					scenarioNames.append( scenario.getName() ) #can't identify that a scenario is dynamic by type()
			if "Static Pre-Stiffening" in steps[0].name and "Modal Extraction" in steps[1].name and "Dynamic" in steps[2].name:
					scenarioNames.append( scenario.getName() ) #can't identify that a scenario is dynamic by type()
		except:
			print("Not dynamic:", scenario)
			pass

	ret_dict = {}
	ret_dict["ScenarioList"] = scenarioNames
	return ret_dict
