Innovyze-ICM-Libraries
Innovyze-ICM-Libraries copied to clipboard
Methods which are **ICM Exchange only** are not documented as such
Many methods are available only in ICM exchange, however are documented as available in the UI mode.
Current ruby automation method:
def try(object,method,args)
begin
object.method(method).call(*args)
rescue Exception => e
message = e.to_s #In general if you get a parameter type error, the method is likely runnable in the UI.
if (message =="The method cannot be run from the user interface")
message = "ICMExchange Only"
elsif message=="The method is for Innovyze internal use only, please check your licence."
message = "Innovyze Private method"
elsif message == "The method cannot be run from InfoWorks ICM"
message = "The method cannot be run from InfoWorks ICM"
end
puts object.to_s + "." + method.to_s.ljust(40) + ":\t" + message
end
end
req = 1; rest=1
try(WSApplication,:add_ons_folder ,[])
try(WSApplication,:compare_binary_results_files ,[req,req,req,req])
try(WSApplication,:create ,[req])
try(WSApplication,:create_transportable ,[req])
Some Examples:
WSApplication.compare_binary_results_files : Innovyze Private method
WSApplication.create : ICMExchange Only
WSApplication.create_transportable : ICMExchange Only
WSApplication.delete_temp_files? : Innovyze Private method
WSApplication.delete_temp_files= : Innovyze Private method
WSApplication.log_event : Both UI and ICMExchange
WSApplication.open : ICMExchange Only
WSApplication.override_user_unit : ICMExchange Only
WSApplication.override_user_units : ICMExchange Only
WSApplication.override_working_folder : ICMExchange Only
WSApplication.set_exit_code : ICMExchange Only
WSApplication.set_local_root : ICMExchange Only
WSApplication.set_working_folder : ICMExchange Only
WSApplication.set_results_folder : ICMExchange Only
WSApplication.post_debug : Innovyze Private method
WSApplication.connect_local_agent : ICMExchange Only
WSApplication.launch_sims : ICMExchange Only
WSApplication.use_arcgis_desktop_licence : ICMExchange Only
WSApplication.wait_for_jobs : ICMExchange Only
WSApplication.cancel_job : ICMExchange Only
WSApplication.file_dialog : UI Only
WSApplication.folder_dialog : UI Only
WSApplication.input_box : UI Only
WSApplication.message_box : UI Only
WSApplication.open_text_view : UI Only
WSApplication.prompt : UI Only
WSApplication.scalars : UI Only
WSDatabase.copy_into_root : ICMExchange Only
WSDatabase.custom_schema : ICMExchange Only
WSDatabase.file_root : ICMExchange Only
WSDatabase.find_model_object : Both UI and ICMExchange
WSDatabase.find_root_model_object : Both UI and ICMExchange
WSDatabase.list_read_write_run_fields : ICMExchange Only
WSDatabase.model_object : Both UI and ICMExchange
WSDatabase.model_object_collection : Both UI and ICMExchange
WSDatabase.model_object_from_type_and_guid : ICMExchange Only
WSDatabase.model_object_from_type_and_id : Both UI and ICMExchange
WSDatabase.new_network_name : ICMExchange Only
WSDatabase.scripting_name_of_type : ICMExchange Only
WSDatabase.new_model_object : ICMExchange Only
WSOpenNetwork.add_scenario : Both UI and ICMExchange
WSOpenNetwork.befdss_export : The method cannot be run from InfoWorks ICM
WSOpenNetwork.befdss_import_cctv : The method cannot be run from InfoWorks ICM
WSOpenNetwork.befdss_import_manhole_surveys : The method cannot be run from InfoWorks ICM
WSOpenNetwork.cctv_standard : The method cannot be run from InfoWorks ICM
WSOpenNetwork.close : ICMExchange Only
WSOpenNetwork.commit_bypassing_validation : ICMExchange Only
WSOpenNetwork.csv_export : Both UI and ICMExchange
WSOpenNetwork.csv_import : Both UI and ICMExchange
WSOpenNetwork.current_scenario= : Both UI and ICMExchange
WSOpenNetwork.delete_scenario : Both UI and ICMExchange
WSOpenNetwork.each : Both UI and ICMExchange
WSOpenNetwork.field_choices : Both UI and ICMExchange
WSOpenNetwork.field_choice_descriptions : Both UI and ICMExchange
WSOpenNetwork.field_names : Both UI and ICMExchange
WSOpenNetwork.get_projection_string : Both UI and ICMExchange
WSOpenNetwork.get_projection_bounds : Both UI and ICMExchange
WSOpenNetwork.get_string_pref : Innovyze Private method
WSOpenNetwork.geometry_mbr : Innovyze Private method
WSOpenNetwork.intersect : Innovyze Private method
WSOpenNetwork.load_selection : Both UI and ICMExchange
WSOpenNetwork.mhsurvey_standard : The method cannot be run from InfoWorks ICM
WSOpenNetwork.new_row_object : Both UI and ICMExchange
WSOpenNetwork.objects_in_polygon : Both UI and ICMExchange
WSOpenNetwork.odic_import : ICMExchange Only
WSOpenNetwork.odic_import_ex : Both UI and ICMExchange
WSOpenNetwork.odec_export : ICMExchange Only
WSOpenNetwork.odec_export_ex : Both UI and ICMExchange
WSOpenNetwork.open_mo_layer_list : Innovyze Private method
WSOpenNetwork.put_string_pref : Innovyze Private method
WSOpenNetwork.row_object : Both UI and ICMExchange
WSOpenNetwork.row_objects : Both UI and ICMExchange
...
WSOpenNetwork.run_inference : ???? --> Error: network is not an asset network
WSOpenNetwork.run_stored_query_object : ???? --> Error 12 : No Such Record : (object_id=1)
I created a ruby script to determine this from the UI Mode. Please see that GISST for the results of the script as well as a work in progress script, which I will be using in the future.
Full list of ICM Exceptions extracted from IWActions.dll for InfoWorks ICM 7.5:
"The method cannot be run from InfoNet Exchange or ICM Exchange"
"The method cannot be run from InfoWorks ICM"
"The method cannot be run from InfoNet"
"The method cannot be run from the user interface"
"The method is no longer supported, check the documentation for alternatives."
"The method is for Innovyze internal use only, please check your licence."