Announcements
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.

Accessing & Modifying Navisworks Global Settings

alexisDVJML
Collaborator

Accessing & Modifying Navisworks Global Settings

alexisDVJML
Collaborator
Collaborator

Sharing some code that I hope will be useful to some members of this forum to access and modify Navisworks Global Settings.

 

The key trick to get these settings:

using Autodesk.Navisworks.Api.Interop;
[...]

	LcUOptionSet rootOptions;

	using (LcUOptionLock olock = new LcUOptionLock())
		rootOptions = LcUOption.GetRoot(olock);

 

Getting/setting one option [Model Close On Load option], implemented here as a property just for example (note that I strongly recommend to ask user consent in your plugin before modifying any option as a graceful rule 😋) :

	static public bool OptionsModelPerformanceLoadClose
	{
		get
		{
			LcUOptionSet rootOptions;

			using (LcUOptionLock olock = new LcUOptionLock())
				rootOptions = LcUOption.GetRoot(olock);
			return rootOptions.GetBoolean("model.performance.load.close");
		}
		set
		{
			LcUOptionSet rootOptions;

			using (LcUOptionLock olock = new LcUOptionLock())
			{
				rootOptions = LcUOption.GetRoot(olock);
				rootOptions.SetBoolean("model.performance.load.close", value);
				LcOpRegistry.SaveGlobalOptions();
			}
		}
	}

 

Example, dumping all settings recursively (replace the ec.WriteLine and Indent stuff by simple Debug.Print or your own logging facilities):

	[Flags]
	public enum DumpOptionsFlags
	{
		Index = 0x01,
		Flags = 0x02,
		Data = 0x04,
		Recursive = 0x80,

		ALL = Flags | Data | Recursive
	}

	static void DumpOptions(IExtendedConsole ec, LcUOptionSet options, DumpOptionsFlags dumpFlags)
	{
		int c = options.GetNumOptions();

				
		var data = new VariantData();
		var flags = default(LcUOptionSetFlag);
		var myFlags = default(LcUOptionSetMyFlag);
		string userName = null;
		string myName = null;

		string fullName, dataStr, flagsStr;

		for (int i = 0; i != c; i++)
		{
			options.GetPath(i, out string path);
			// we skip the huge registry ;-)
			if (path == "registry")
				continue;

			userName = options.GetUserNameW(i);
			fullName = userName;
			if ((dumpFlags & DumpOptionsFlags.Flags) != 0)
			{
				flags = options.GetFlags(i);
				flagsStr = flags != default ? $"({flags}" : null;
			}
			else
				flagsStr = null;

			var option = options.GetValue(i, data);
			dataStr = data.DataType != VariantDataType.None ? " => " + data.ToString() : null;

			if (option != null)
			{
				if ((dumpFlags & DumpOptionsFlags.Flags) != 0)
					myFlags = option.GetMyFlags();
				myName = option.GetMyName();

				if (myFlags != default)
					flagsStr += $"|{myFlags}";

				if (!string.IsNullOrEmpty(myName))
					fullName += $"|{myName}";
			}

			if (flagsStr != null)
				flagsStr = $"({flagsStr})";

			ec.WriteLine($"[{i}]{path}: {fullName}{flagsStr}{dataStr}");

			var subOptions = options.GetSubOptions(i);
			if (subOptions != null)
			{
				ec.IncreaseIndent();
				DumpOptions(ec, subOptions, dumpFlags);
				ec.DecreaseIndent();
			}
		}
	}

	static void DumpOptions(IExtendedConsole ec, DumpOptionsFlags dumpFlags = DumpOptionsFlags.ALL)
	{
	LcUOptionSet rootOptions;

	using (LcUOptionLock olock = new LcUOptionLock())
		rootOptions = LcUOption.GetRoot(olock);

		DumpOptions(ec, rootOptions, dumpFlags);
	}

 

and the result, useful as reference to get individual options "path":

[0]general: General|general
    [0]general.xml: XML|xml
        [0]general.xml.validate: Validate XML Files => Boolean:True
    [1]general.undo: Undo|undo(|eFLAG_ORDERED)
        [0]general.undo.buffer_size: Buffer Size => Int32:524288
    [2]general.logging: Logging|logging
        [0]general.logging.log_dir: Logging Directory((eFLAG_RESTART_NEEDED) => DisplayString:
        [1]general.logging.log_file: Log File((eFLAG_RESTART_NEEDED) => DisplayString:
        [2]general.logging.enable_console: Enable Console((eFLAG_RESTART_NEEDED) => Boolean:False
        [3]general.logging.enable_file: Enable File((eFLAG_RESTART_NEEDED) => Boolean:False
        [4]general.logging.enable_bugslayer: Enable Bugslayer Hooking => Boolean:False
        [5]general.logging.logging_flags: Error Reporting Flags => Int32:0
        [6]general.logging.error_report_log: Include log in Error Report => Boolean:True
        [7]general.logging.error_report_prompt: Prompt before Error Report => Boolean:False
        [8]general.logging.error_report_enable: Enable Error Reporting => Boolean:True
        [9]general.logging.error_report_file: Error Report Filename => DisplayString:
        [10]general.logging.error_report_clr: Enable CLR data in Error Report => Boolean:True
        [11]general.logging.winforms_throw: ((eFLAG_RESTART_NEEDED) => Boolean:True
        [12]general.logging.error_report_hotkey1: Error Report Hot Key 1 => Int32:17
        [13]general.logging.error_report_hotkey2: Error Report Hot Key 2 => Int32:18
        [14]general.logging.error_report_hotkey3: Error Report Hot Key 3 => Int32:20
    [3]general.trace: Trace|trace
        [0]general.trace.control: Trace|control((eFLAG_COMPOSITE)
            [0]general.trace.control.enable_trace: Enable trace((eFLAG_RESTART_NEEDED) => Boolean:False
            [1]general.trace.control.trace_level: Trace level => NamedConstant:TraceLevel:3(4)
        [1]general.trace.output: Output|output((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]general.trace.output.level: Level => Boolean:True
            [1]general.trace.output.function_name: Function name => Boolean:True
            [2]general.trace.output.thread_id: Thread Id => Boolean:False
            [3]general.trace.output.time_stamp: Time stamp => Boolean:True
    [4]general.locations: Locations|locations(|9)
        [0]general.locations.project_directory: Project Directory((eFLAG_RESTART_NEEDED) => DisplayString:
        [1]general.locations.site_directory: Site Directory((eFLAG_RESTART_NEEDED) => DisplayString:
    [5]general.localcache: Local Caching|localcache
        [0]general.localcache.enabled: Caching Enabled => Boolean:True
        [1]general.localcache.temporary_enabled: Temporary Enabled => Boolean:True
        [2]general.localcache.max_size: Maximum Cache Size (MB) => Int32:1024
        [3]general.localcache.min_inactive_files: Minimum Inactive Files To Retain => Int32:4
        [4]general.localcache.empty_on_next_start: Empty Cache on Next Start((eFLAG_RESTART_NEEDED) => Boolean:False
    [6]general.file_streaming: File Streaming|file_streaming
        [0]general.file_streaming.cache_mode: Cache Mode((eFLAG_RESTART_NEEDED) => Int32:0
    [7]general.properties: Properties|properties
        [0]general.properties.binary_attribute: Binary Attributes|binary_attribute
            [0]general.properties.binary_attribute.max_binary_bytes: Maximum Number of Bytes((eFLAG_RESTART_NEEDED) => Int32:16
    [8]general.nwcreate: NWcreate|nwcreate
        [0]general.nwcreate.ignore_errors: Ignore Errors => Boolean:False
        [1]general.nwcreate.journaling: Journaling|journaling
            [0]general.nwcreate.journaling.enable: Enable => Boolean:False
            [1]general.nwcreate.journaling.format: Journal Format => NamedConstant:LcNwcJournalFormat:1(Binary)
            [2]general.nwcreate.journaling.use_loaded_filename: Use Loaded Filename => Boolean:False
            [3]general.nwcreate.journaling.filename: Journal Filename => DisplayString:
        [2]general.nwcreate.modeller: Modeller|modeller
            [0]general.nwcreate.modeller.asm_create_sat_files: Always Create SAT Files => Boolean:False
            [1]general.nwcreate.modeller.asm_reuse_sat_id: Reuse SAT ID => Boolean:True
            [2]general.nwcreate.modeller.asm_enable_conversion_timings: Enable ASM Conversion Timing => Boolean:False
            [3]general.nwcreate.modeller.asm_conversion_timing_threshold: Conversion Time Threshold (secs) => Int32:20
            [4]general.nwcreate.modeller.asm_converter_debug: Enable ASMConverter Debug Flags => Boolean:False
            [5]general.nwcreate.modeller.asm_converter_sat_debug: Enable ASMConverter SAT Debug => Boolean:False
    [9]general.kernel: Kernel|kernel
        [0]general.kernel.try_fast_merge_nwf: Try Fast Merge for NWF((eFLAG_COMPOSITE) => Boolean:True
    [10]general.overrides: Overrides|overrides
        [0]general.overrides.tooltips: Tooltips|tooltips
            [0]general.overrides.tooltips.autopop: Display Time (ms)((eFLAG_RESTART_NEEDED) => Int32:0
    [11]general.environment: Environment|environment
        [0]general.environment.servers: Servers|servers((eFLAG_COMPOSITE)
            [0]general.environment.servers.a360_force_staging: Assume A360 staging server on start-up((eFLAG_RESTART_NEEDED) => Boolean:False
            [1]general.environment.servers.glue: BIM 360 Server => NamedConstant:lcodpgluerest_server_name:0(Production)
            [2]general.environment.servers.glue_geo: Default BIM 360 Server Region => NamedConstant:lcodpgluerest_server_geo:0(United States)
        [1]general.environment.files: Files|files((eFLAG_COMPOSITE)
            [0]general.environment.files.max_mru: Maximum Recently Used Files => Int32:8
        [2]general.environment.help: Help|help((eFLAG_COMPOSITE)
            [0]general.environment.help.keep_offline: Always use offline help => Boolean:False
            [1]general.environment.help.use_staging: Use staging server => Boolean:False
    [12]general.bim360: BIM 360|bim360
        [0]general.bim360.flags: Flags|flags
            [0]general.bim360.flags.disable_nwf_upload: Disable Nwf Upload => Boolean:False
            [1]general.bim360.flags.disable_kernel_triggered_preload:  => Boolean:True
            [2]general.bim360.flags.disable_login_triggered_preload:  => Boolean:True
    [13]general.autosave: Auto-Save|autosave(|eFLAG_ORDERED)
        [0]general.autosave.enable: Enable Auto-Save((eFLAG_COMBINED_LABEL) => Boolean:False
        [1]general.autosave.folder_opts: Auto-Save File Location|folder_opts((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]general.autosave.folder_opts.folder_mode: Save location((eFLAG_COMBINED_LABEL) => Boolean:True
            [1]general.autosave.folder_opts.folder: Directory => DisplayString:C:\Users\alexis\AppData\Roaming\Autodesk Navisworks Manage 2020\AutoSave
            [2]general.autosave.folder_opts.manage_disk_space: Manage disk space((eFLAG_COMBINED_LABEL) => Boolean:True
            [3]general.autosave.folder_opts.mem_limit: Purge old Auto-Save files when this folder exceeds => Int32:512
        [2]general.autosave.frequency: Frequency|frequency((eFLAG_COMPOSITE)
            [0]general.autosave.frequency.minutes: Time between saves => Int32:15
        [3]general.autosave.history: History|history((eFLAG_COMPOSITE)
            [0]general.autosave.history.size: Maximum previous versions => Int32:3
[1]interface: Interface|interface
    [0]interface.disp_units: Display Units|disp_units(|eFLAG_ORDERED)
        [0]interface.disp_units.linear_format: Linear Units => NamedConstant:RoamerGUI_OptionsUnitsLinearFormat:1(Meters)
        [1]interface.disp_units.angular_format: Angular Units => NamedConstant:RoamerGUI_OptionsUnitsAngularFormat:0(Degrees)
        [2]interface.disp_units.decimal_places: Decimal Places: => Int32:0
        [3]interface.disp_units.fractional_precision: Fractional Display Precision: => NamedConstant:LcOaFrationalPrecision:7(1/256)
    [1]interface.sectioning: Sectioning|sectioning
        [0]interface.sectioning.capping: Capping|capping((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.sectioning.capping.enabled: Enabled => Boolean:True
            [1]interface.sectioning.capping.outline_colour: Outline Color|outline_colour((eFLAG_COMPOSITE|eFLAG_ORDERED)
                [0]interface.sectioning.capping.outline_colour.red:  => Double:1
                [1]interface.sectioning.capping.outline_colour.green:  => Double:0
                [2]interface.sectioning.capping.outline_colour.blue:  => Double:0
    [2]interface.selection: Selection|selection(|eFLAG_ORDERED)
        [0]interface.selection.pick_radius: Pick Radius => Int32:1
        [1]interface.selection.resolution: Resolution => NamedConstant:RoamerGUI_PickResolution:4(Last Object)
        [2]interface.selection.select_box_respect_resolution:  => Boolean:False
        [3]interface.selection.compact_tree_mode: Compact Tree => NamedConstant:RoamerGUI_CompactTreeMode:2(Objects)
        [4]interface.selection.highlight: Highlight|highlight((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.selection.highlight.enabled: Enabled => Boolean:True
            [1]interface.selection.highlight.method: Method => NamedConstant:RoamerGUI_HighlightMethod:1(Wireframe)
            [2]interface.selection.highlight.colour: Color|colour((eFLAG_COMPOSITE|eFLAG_ORDERED)
                [0]interface.selection.highlight.colour.red:  => Double:1
                [1]interface.selection.highlight.colour.green:  => Double:0
                [2]interface.selection.highlight.colour.blue:  => Double:0
            [3]interface.selection.highlight.tint_factor: Tint Level => Double:0.5
    [3]interface.measure: Measure|measure(|eFLAG_ORDERED)
        [0]interface.measure.line_thickness: Line Thickness => Int32:1
        [1]interface.measure.line_colour: Measurement Color|line_colour((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.measure.line_colour.red:  => Double:1
            [1]interface.measure.line_colour.green:  => Double:0.6
            [2]interface.measure.line_colour.blue:  => Double:0
        [2]interface.measure.text_colour: Text Color|text_colour((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.measure.text_colour.red:  => Double:1
            [1]interface.measure.text_colour.green:  => Double:1
            [2]interface.measure.text_colour.blue:  => Double:1
        [3]interface.measure.convert_to_redline_colour: Convert to Redline Color => NamedConstant:LcOpMeasureToRedlineColour:0(Redline)
        [4]interface.measure.anchor_style: Anchor Style => NamedConstant:LcOpMeasureAnchorStyle:0(Circle)
        [5]interface.measure.show_measures_in_scene: Show measurement value in Scene view => Boolean:True
        [6]interface.measure.show_xyz_in_scene: Show XYZ differences in Scene view => Boolean:True
        [7]interface.measure.snap_to_centre_lines: Use center lines => Boolean:True
        [8]interface.measure.shortest_distance_auto_zoom: Auto-zoom when measuring shortest distances => Boolean:True
    [4]interface.snapping: Snapping|snapping
        [0]interface.snapping.picking: Picking|picking((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.snapping.picking.snap_to_vertex: Snap to Vertex => Boolean:True
            [1]interface.snapping.picking.snap_to_edge: Snap to Edge => Boolean:True
            [2]interface.snapping.picking.snap_to_line_vertex: Snap to Line Vertex => Boolean:True
            [3]interface.snapping.picking.snap_to_line_middle:  => Boolean:False
            [4]interface.snapping.picking.snap_to_arc_center:  => Boolean:False
            [5]interface.snapping.picking.tolerance: Tolerance => Int32:5
        [1]interface.snapping.rotation: Rotation|rotation((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.snapping.rotation.angle_mult: Angles => DoubleAngle:0.785398163397448
            [1]interface.snapping.rotation.angle_sensitivity: Angle Sensitivity => DoubleAngle:0.0872664625997165
    [5]interface.viewpoints: Viewpoint Defaults|viewpoints(|eFLAG_ORDERED)
        [0]interface.viewpoints.save_hide_required: Save Hide/Required Attributes => Boolean:False
        [1]interface.viewpoints.override_material: Override Appearance => Boolean:False
        [2]interface.viewpoints.override_linear_speed: Override Linear Speed => Boolean:False
        [3]interface.viewpoints.default_linear_speed: Default Linear Speed => DoubleLength:4
        [4]interface.viewpoints.default_angular_speed: Default Angular Speed => DoubleAngle:0.785398163397448
        [5]interface.viewpoints.viewer: |viewer(|eFLAG_ORDERED)
            [0]interface.viewpoints.viewer.collision_detection:  => Boolean:False
            [1]interface.viewpoints.viewer.gravity:  => Boolean:False
            [2]interface.viewpoints.viewer.auto_crouch:  => Boolean:False
            [3]interface.viewpoints.viewer.radius:  => DoubleLength:0.3
            [4]interface.viewpoints.viewer.height:  => DoubleLength:1.8
            [5]interface.viewpoints.viewer.eye_offset:  => DoubleLength:0.15
            [6]interface.viewpoints.viewer.third_person: |third_person((eFLAG_COMPOSITE|eFLAG_ORDERED)
                [0]interface.viewpoints.viewer.third_person.enabled:  => Boolean:False
                [1]interface.viewpoints.viewer.third_person.auto_zoom:  => Boolean:True
                [2]interface.viewpoints.viewer.third_person.avatar:  => IdentifierString:construction_worker
                [3]interface.viewpoints.viewer.third_person.angle:  => DoubleAngle:0
                [4]interface.viewpoints.viewer.third_person.distance:  => DoubleLength:3
        [6]interface.viewpoints.viewer_ex: Collision|viewer_ex((eFLAG_COMPOSITE|eFLAG_CUSTOM_OPTION)
        [7]interface.viewpoints.report: Viewpoints Report|report((eFLAG_COMPOSITE)
            [0]interface.viewpoints.report.image_width: Image Width => Int32:512
            [1]interface.viewpoints.report.image_height: Image Height => Int32:512
            [2]interface.viewpoints.report.image_aa_passes: Image Anti-Aliasing Passes => Int32:0
            [3]interface.viewpoints.report.image_plugin: Image Export Format => NamedConstant:XmlViewpointsReportExportPlugin:0(JPG)
    [6]interface.hyperlinks: Links|hyperlinks(|eFLAG_ORDERED)
        [0]interface.hyperlinks.enabled: Show Links => Boolean:False
        [1]interface.hyperlinks.display_3d: In 3D => Boolean:False
        [2]interface.hyperlinks.max_icons: Max Icons => Int32:25
        [3]interface.hyperlinks.hide_colliding: Hide Colliding Icons => Boolean:False
        [4]interface.hyperlinks.show_context_menu:  => Boolean:True
        [5]interface.hyperlinks.cull_radius: Cull Radius => DoubleLength:0
        [6]interface.hyperlinks.leader_offset_x: X Leader Offset => Int32:0
        [7]interface.hyperlinks.leader_offset_y: Y Leader Offset => Int32:0
        [8]interface.hyperlinks.font_name:  => DisplayString:Tahoma
        [9]interface.hyperlinks.font_size:  => Int32:10
        [10]interface.hyperlinks.standard: Standard Categories|standard(|97)
            [0]interface.hyperlinks.standard.LcOaURLCategoryHyperlink: Hyperlink|LcOaURLCategoryHyperlink((6|eFLAG_ORDERED)
                [0]interface.hyperlinks.standard.LcOaURLCategoryHyperlink.category: Category((eFLAG_LOCAL_NAME) => NamedConstant:LcOaURLCategoryHyperlink(Hyperlink)
                [1]interface.hyperlinks.standard.LcOaURLCategoryHyperlink.icon_type: Icon Type((eFLAG_LOCAL_NAME) => NamedConstant:LcOpHyperlinksIconType:1(Icon)
                [2]interface.hyperlinks.standard.LcOaURLCategoryHyperlink.visible: Visible((eFLAG_LOCAL_NAME) => Boolean:True
            [1]interface.hyperlinks.standard.LcOaURLCategoryTag: Label|LcOaURLCategoryTag((6|eFLAG_ORDERED)
                [0]interface.hyperlinks.standard.LcOaURLCategoryTag.category: Category((eFLAG_LOCAL_NAME) => NamedConstant:LcOaURLCategoryTag(Label)
                [1]interface.hyperlinks.standard.LcOaURLCategoryTag.icon_type: Icon Type((eFLAG_LOCAL_NAME) => NamedConstant:LcOpHyperlinksIconType:0(Text)
                [2]interface.hyperlinks.standard.LcOaURLCategoryTag.visible: Visible((eFLAG_LOCAL_NAME) => Boolean:True
            [2]interface.hyperlinks.standard.LcOdpClashCommentPlugin: Clash Detective|LcOdpClashCommentPlugin((6|eFLAG_ORDERED)
                [0]interface.hyperlinks.standard.LcOdpClashCommentPlugin.category: Category((eFLAG_LOCAL_NAME) => NamedConstant:LcOdpClashCommentPlugin(Clash Detective)
                [1]interface.hyperlinks.standard.LcOdpClashCommentPlugin.icon_type: Icon Type((eFLAG_LOCAL_NAME) => NamedConstant:LcOpHyperlinksIconType:1(Icon)
                [2]interface.hyperlinks.standard.LcOdpClashCommentPlugin.visible: Visible((eFLAG_LOCAL_NAME) => Boolean:True
                [3]interface.hyperlinks.standard.LcOdpClashCommentPlugin.hide_icons_without_comment: Hide Icons Without Comment((eFLAG_LOCAL_NAME) => Boolean:False
            [3]interface.hyperlinks.standard.LcRmSelSetCommentPlugin: Selection Sets|LcRmSelSetCommentPlugin((6|eFLAG_ORDERED)
                [0]interface.hyperlinks.standard.LcRmSelSetCommentPlugin.category: Category((eFLAG_LOCAL_NAME) => NamedConstant:LcRmSelSetCommentPlugin(Selection Sets)
                [1]interface.hyperlinks.standard.LcRmSelSetCommentPlugin.icon_type: Icon Type((eFLAG_LOCAL_NAME) => NamedConstant:LcOpHyperlinksIconType:1(Icon)
                [2]interface.hyperlinks.standard.LcRmSelSetCommentPlugin.visible: Visible((eFLAG_LOCAL_NAME) => Boolean:True
                [3]interface.hyperlinks.standard.LcRmSelSetCommentPlugin.hide_icons_without_comment: Hide Icons Without Comment((eFLAG_LOCAL_NAME) => Boolean:False
            [4]interface.hyperlinks.standard.LcTlCommentPlugin: TimeLiner|LcTlCommentPlugin((6|eFLAG_ORDERED)
                [0]interface.hyperlinks.standard.LcTlCommentPlugin.category: Category((eFLAG_LOCAL_NAME) => NamedConstant:LcTlCommentPlugin(TimeLiner)
                [1]interface.hyperlinks.standard.LcTlCommentPlugin.icon_type: Icon Type((eFLAG_LOCAL_NAME) => NamedConstant:LcOpHyperlinksIconType:1(Icon)
                [2]interface.hyperlinks.standard.LcTlCommentPlugin.visible: Visible((eFLAG_LOCAL_NAME) => Boolean:True
                [3]interface.hyperlinks.standard.LcTlCommentPlugin.hide_icons_without_comment: Hide Icons Without Comment((eFLAG_LOCAL_NAME) => Boolean:False
            [5]interface.hyperlinks.standard.LcOmVPCommentPlugin: Viewpoints|LcOmVPCommentPlugin((6|eFLAG_ORDERED)
                [0]interface.hyperlinks.standard.LcOmVPCommentPlugin.category: Category((eFLAG_LOCAL_NAME) => NamedConstant:LcOmVPCommentPlugin(Viewpoints)
                [1]interface.hyperlinks.standard.LcOmVPCommentPlugin.icon_type: Icon Type((eFLAG_LOCAL_NAME) => NamedConstant:LcOpHyperlinksIconType:1(Icon)
                [2]interface.hyperlinks.standard.LcOmVPCommentPlugin.visible: Visible((eFLAG_LOCAL_NAME) => Boolean:True
                [3]interface.hyperlinks.standard.LcOmVPCommentPlugin.hide_icons_without_comment: Hide Icons Without Comment((eFLAG_LOCAL_NAME) => Boolean:False
            [6]interface.hyperlinks.standard.LcOmRedlineTagCommentPlugin: Redline Tags|LcOmRedlineTagCommentPlugin((6|eFLAG_ORDERED)
                [0]interface.hyperlinks.standard.LcOmRedlineTagCommentPlugin.category: Category((eFLAG_LOCAL_NAME) => NamedConstant:LcOmRedlineTagCommentPlugin(Redline Tags)
                [1]interface.hyperlinks.standard.LcOmRedlineTagCommentPlugin.icon_type: Icon Type((eFLAG_LOCAL_NAME) => NamedConstant:LcOpHyperlinksIconType:1(Icon)
                [2]interface.hyperlinks.standard.LcOmRedlineTagCommentPlugin.visible: Visible((eFLAG_LOCAL_NAME) => Boolean:True
                [3]interface.hyperlinks.standard.LcOmRedlineTagCommentPlugin.hide_icons_without_comment: Hide Icons Without Comment((eFLAG_LOCAL_NAME) => Boolean:False
        [11]interface.hyperlinks.user_defined: User-Defined Categories|user_defined(|114)
    [7]interface.smart_tags: Quick Properties|smart_tags(|eFLAG_ORDERED)
        [0]interface.smart_tags.enabled: Show Quick Properties => Boolean:True
        [1]interface.smart_tags.hide_category: Hide Category => Boolean:False
        [2]interface.smart_tags.definitions: Definitions|definitions(|eFLAG_ARRAY)
            [0]interface.smart_tags.definitions.: 
                [0]interface.smart_tags.definitions..category: Category => NamedConstant:LcOaNode(Item)
                [1]interface.smart_tags.definitions..property: Property => NamedConstant:LcOaSceneBaseUserName(Name)
            [1]interface.smart_tags.definitions.: 
                [0]interface.smart_tags.definitions..category: Category => NamedConstant:LcOaPropOverrideCat(Idigo)
                [1]interface.smart_tags.definitions..property: Property => NamedConstant:Fluid Code(Fluid Code)
            [2]interface.smart_tags.definitions.: 
                [0]interface.smart_tags.definitions..category: Category => NamedConstant:LcRevitData_Element(Element)
                [1]interface.smart_tags.definitions..property: Property => NamedConstant:lcldrevit_parameter_4911058(Pressure Drop)
            [3]interface.smart_tags.definitions.: 
                [0]interface.smart_tags.definitions..category: Category => NamedConstant:LcRevitData_Element(Element)
                [1]interface.smart_tags.definitions..property: Property => NamedConstant:lcldrevit_parameter_5085687(Pressure Drop)
            [4]interface.smart_tags.definitions.: 
                [0]interface.smart_tags.definitions..category: Category => NamedConstant:LcOaPropOverrideCat(Idigo)
                [1]interface.smart_tags.definitions..property: Property => NamedConstant:Zone(Zone)
            [5]interface.smart_tags.definitions.: 
                [0]interface.smart_tags.definitions..category: Category => NamedConstant:PDMS(PDMS)
                [1]interface.smart_tags.definitions..property: Property => NamedConstant:lcldrvm_prop_:clap(:CLAP)
            [6]interface.smart_tags.definitions.: 
                [0]interface.smart_tags.definitions..category: Category => NamedConstant:LcOaPropOverrideCat(Idigo)
                [1]interface.smart_tags.definitions..property: Property => NamedConstant:Pipe NPS(Pipe NPS)
            [7]interface.smart_tags.definitions.: 
                [0]interface.smart_tags.definitions..category: Category => NamedConstant:LcOaPropOverrideCat(Idigo)
                [1]interface.smart_tags.definitions..property: Property => NamedConstant:Pipe Total OD(Pipe Total OD)
            [8]interface.smart_tags.definitions.: 
                [0]interface.smart_tags.definitions..category: Category => NamedConstant:LcOaPropOverrideCat(Idigo)
                [1]interface.smart_tags.definitions..property: Property => NamedConstant:Pipeline(Pipeline)
            [9]interface.smart_tags.definitions.: 
                [0]interface.smart_tags.definitions..category: Category => NamedConstant:LcOaPropOverrideCat(Idigo)
                [1]interface.smart_tags.definitions..property: Property => NamedConstant:Pipe Length(Pipe Length)
            [10]interface.smart_tags.definitions.: 
                [0]interface.smart_tags.definitions..category: Category => NamedConstant:LineStyle(LineStyle)
                [1]interface.smart_tags.definitions..property: Property => NamedConstant:GraphicsStyleType(GraphicsStyleType)
    [8]interface.redline: Redlining|redline(|eFLAG_ORDERED)
        [0]interface.redline.line_width: Line Width => Int32:3
        [1]interface.redline.color: Color|color((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.redline.color.red:  => Double:1
            [1]interface.redline.color.green:  => Double:0
            [2]interface.redline.color.blue:  => Double:0
        [2]interface.redline.font_name:  => DisplayString:Tahoma
        [3]interface.redline.font_size:  => Int32:14
        [4]interface.redline.small_font_size:  => Int32:12
    [9]interface.reference_views: Reference Views|reference_views
        [0]interface.reference_views.marker_color: Marker Color|marker_color((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.reference_views.marker_color.red:  => Double:1
            [1]interface.reference_views.marker_color.green:  => Double:1
            [2]interface.reference_views.marker_color.blue:  => Double:1
    [10]interface.display: Display|display
        [0]interface.display.transparency: Transparency|transparency((eFLAG_COMPOSITE)
            [0]interface.display.transparency.interactive: Interactive Transparency => Boolean:False
            [1]interface.display.transparency.overhead_adjust: Overhead Adjust => Boolean:False
            [2]interface.display.transparency.mode: Mode((eFLAG_RESTART_NEEDED) => NamedConstant:LcOaTransparencyMode:2(Delay, Sort and Blend)
        [1]interface.display.2d_graphics: 2D Graphics|2d_graphics((eFLAG_COMPOSITE)
            [0]interface.display.2d_graphics.lod: Level of Detail => NamedConstant:LcPlotTesselatorLod:1(Medium)
            [1]interface.display.2d_graphics.rendering: 2D Rendering => NamedConstant:LcPlotRendering:0(Fixed)
        [2]interface.display.detail: Detail|detail((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.display.detail.guarantee_frame_rate: Guarantee Frame Rate => Boolean:False
            [1]interface.display.detail.fill_in_detail: Fill in Detail => Boolean:True
            [2]interface.display.detail.disabled_detail: Detail Disabled((eFLAG_RESTART_NEEDED) => Boolean:False
            [3]interface.display.detail.move_detail: Move Detail((eFLAG_RESTART_NEEDED) => Boolean:False
            [4]interface.display.detail.inactive_detail: Inactive Detail((eFLAG_RESTART_NEEDED) => Boolean:True
        [3]interface.display.primitives: Primitives|primitives((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.display.primitives.point_size: Point size => Int32:1
            [1]interface.display.primitives.line_size: Line size => Int32:1
            [2]interface.display.primitives.snap_size: Snap size => Int32:1
            [3]interface.display.primitives.enable_parametric_prims: Enable Parametric Primitives((eFLAG_RESTART_NEEDED) => Boolean:True
            [4]interface.display.primitives.use_display_lists: ((eFLAG_RESTART_NEEDED) => Boolean:True
        [4]interface.display.hud: Heads Up|hud((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.display.hud.xyz_triad: XYZ Axes => Boolean:False
            [1]interface.display.hud.show_position: Show Position => Boolean:False
            [2]interface.display.hud.show_grid_location: Show Grid Location => Boolean:True
            [3]interface.display.hud.show_rapidrt_status: Show RapidRT Status => Boolean:True
            [4]interface.display.hud.show_renderer_name: Show Renderer Name => Boolean:False
            [5]interface.display.hud.show_stats: Show Render Statistics => Boolean:False
            [6]interface.display.hud.time_graph: Frame Time Graph => Boolean:False
            [7]interface.display.hud.trav_time_graph: Traversal Time Graph => Boolean:False
            [8]interface.display.hud.tris_graph: GPU Triangles Graph => Boolean:False
            [9]interface.display.hud.trav_tris_graph: Triangles Traversed Graph => Boolean:False
            [10]interface.display.hud.gpu_rate_graph: GPU Triangles/second Graph => Boolean:False
            [11]interface.display.hud.cpu_rate_graph: CPU Triangles/second Graph => Boolean:False
            [12]interface.display.hud.mem_usage_graph: Process Memory Graph => Boolean:False
            [13]interface.display.hud.mem_alloc_graph: Alloc Memory Graph => Boolean:False
            [14]interface.display.hud.show_rapidrt_detail_status: Show RapidRT Detailed Status => Boolean:False
            [15]interface.display.hud.font_name: Font Name => DisplayString:Tahoma
            [16]interface.display.hud.font_size: Font Size => Int32:10
        [5]interface.display.stress_scaling: Stress Scaling => Double:1
        [6]interface.display.autodesk: Autodesk|autodesk
            [0]interface.display.autodesk.effects: Autodesk Effects|effects((eFLAG_COMPOSITE)
                [0]interface.display.autodesk.effects.shader_style: Shader Style => NamedConstant:OGSShaderStyle:3(Phong)
                [1]interface.display.autodesk.effects.ssao: Screen Space Ambient Occlusion => Boolean:True
                [2]interface.display.autodesk.effects.unlimited_light: Use Unlimited lights => Boolean:True
                [3]interface.display.autodesk.effects.hard_limit_light_enable: Enable hard limit lights => Boolean:True
                [4]interface.display.autodesk.effects.hard_limit_light_number: Hard limit lights number => Int32:24
            [1]interface.display.autodesk.ssao_inputs: Screen Space Ambient Occlusion Inputs|ssao_inputs
                [0]interface.display.autodesk.ssao_inputs.ssao_passes:  => NamedConstant:ssao_pass_enum:1(2)
                [1]interface.display.autodesk.ssao_inputs.sample_count: Sample Count => Int32:16
                [2]interface.display.autodesk.ssao_inputs.sample_radius: Sample Radius => Double:0.1
                [3]interface.display.autodesk.ssao_inputs.world_space_sample_radius:  => Boolean:False
                [4]interface.display.autodesk.ssao_inputs.blur_amount: Blur Amount => Int32:3
                [5]interface.display.autodesk.ssao_inputs.blur_double: Blur Double => Boolean:True
                [6]interface.display.autodesk.ssao_inputs.composite_factor: Composite Factor => Double:2
                [7]interface.display.autodesk.ssao_inputs.composite_color: Composite Color|composite_color((eFLAG_COMPOSITE|eFLAG_ORDERED)
                    [0]interface.display.autodesk.ssao_inputs.composite_color.red:  => Double:0
                    [1]interface.display.autodesk.ssao_inputs.composite_color.green:  => Double:0
                    [2]interface.display.autodesk.ssao_inputs.composite_color.blue:  => Double:0
            [2]interface.display.autodesk.msaa: Multi Sample Anti Aliasing|msaa((eFLAG_COMPOSITE)
                [0]interface.display.autodesk.msaa.level: MSAA Level => NamedConstant:OGSMSAA:1(2x)
            [3]interface.display.autodesk.adaptive_quality_degradation:  => Boolean:False
            [4]interface.display.autodesk.enabled: Autodesk Materials|enabled((eFLAG_COMPOSITE|eFLAG_ORDERED)
                [0]interface.display.autodesk.enabled.usefallback: Use Fall Back => Boolean:True
                [1]interface.display.autodesk.enabled.uselodtexture: Use Lod Texture => Boolean:False
                [2]interface.display.autodesk.enabled.reflectionenabled: Reflection Enabled => Boolean:True
                [3]interface.display.autodesk.enabled.highlightenabled: Highlight Enabled => Boolean:True
                [4]interface.display.autodesk.enabled.bumpenabled: Bump Enabled => Boolean:True
                [5]interface.display.autodesk.enabled.textureresolution: Image Library => NamedConstant:FBXTranslatorTextureResolution:0(Base Resolution)
                [6]interface.display.autodesk.enabled.maxtexturedimension: Max Texture Dimension => NamedConstant:FBXTranslatorMaxTextureDimension:2(64)
                [7]interface.display.autodesk.enabled.proceduraltexturesize: Procedural Texture Size => NamedConstant:FBXTranslatorProceduralTextureSize:3(128)
            [5]interface.display.autodesk.fast_render:  => Boolean:True
            [6]interface.display.autodesk.fast_consolidate:  => Boolean:True
        [7]interface.display.opengl: OpenGL|opengl
            [0]interface.display.opengl.features: Advanced Features|features((eFLAG_COMPOSITE|eFLAG_ORDERED)
                [0]interface.display.opengl.features.force_clear: Force Clear => Boolean:False
                [1]interface.display.opengl.features.near_clip_offset: Near Clip Plane Offset => Int32:-1
                [2]interface.display.opengl.features.feature_bits: Feature Bits => Int32:-1
                [3]interface.display.opengl.features.disable_extensions: Disable Extensions => Boolean:False
                [4]interface.display.opengl.features.disable_lock_arrays: Disable Lock Arrays => Boolean:False
                [5]interface.display.opengl.features.enable_lock_arrays: Enable Lock Arrays => Boolean:False
                [6]interface.display.opengl.features.disable_multi_texture: Disable Multi Textures => Boolean:False
                [7]interface.display.opengl.features.disable_occlusion_queries: Disable Occlusion Queries => Boolean:False
                [8]interface.display.opengl.features.disable_vertex_buffer_objects: Disable Vertex Buffer Objects => Boolean:False
                [9]interface.display.opengl.features.use_byte_colors: Use Byte Colors => Boolean:True
                [10]interface.display.opengl.features.use_short_normals: Use Short Normals => Boolean:True
            [1]interface.display.opengl.window: Window Settings|window((eFLAG_COMPOSITE|eFLAG_ORDERED)
                [0]interface.display.opengl.window.pixel_format: Pixel Format((eFLAG_RESTART_NEEDED) => Int32:0
                [1]interface.display.opengl.window.color: Color Depth Mode((eFLAG_RESTART_NEEDED) => NamedConstant:LcOmGLWndColorMode:5(Best Quality)
                [2]interface.display.opengl.window.depth: Depth Buffer Mode((eFLAG_RESTART_NEEDED) => NamedConstant:LcOmGLWndDepthMode:6(Best Quality)
            [2]interface.display.opengl.extensions: Extensions|extensions((eFLAG_COMPOSITE|eFLAG_ORDERED)
                [0]interface.display.opengl.extensions.use_wgl_extensions: Use WGL Extensions => Boolean:True
        [8]interface.display.graphics: Graphics System|graphics((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.display.graphics.hw_accel: Hardware Acceleration => Boolean:True
            [1]interface.display.graphics.wpf_hw_accel: WPF Hardware Acceleration((eFLAG_RESTART_NEEDED) => Boolean:True
            [2]interface.display.graphics.system2: System => NamedConstant:LcOwGraphicsSystem:0(Basic)
            [3]interface.display.graphics.sw_occlusion_culling: CPU Occlusion Culling => Boolean:True
            [4]interface.display.graphics.occlusion_culling: GPU Occlusion Culling => Boolean:True
        [9]interface.display.drivers: Drivers|drivers
            [0]interface.display.drivers.enabled: Available Drivers|enabled((eFLAG_COMPOSITE|eFLAG_ORDERED)
                [0]interface.display.drivers.enabled.d3d11_ogs: Autodesk (DirectX 11)((eFLAG_RESTART_NEEDED) => Boolean:True
                [1]interface.display.drivers.enabled.d3d9_ogs: Autodesk (DirectX 9)((eFLAG_RESTART_NEEDED) => Boolean:False
                [2]interface.display.drivers.enabled.opengl_ogs: Autodesk (OpenGL)((eFLAG_RESTART_NEEDED) => Boolean:True
                [3]interface.display.drivers.enabled.software_d3d11_ogs: Autodesk (DirectX 11 Software)((eFLAG_RESTART_NEEDED) => Boolean:True
                [4]interface.display.drivers.enabled.hardware_opengl: OpenGL((eFLAG_RESTART_NEEDED) => Boolean:True
                [5]interface.display.drivers.enabled.software_opengl: OpenGL Software => Boolean:True
    [11]interface.append_merge: Appending and Merging|append_merge(|eFLAG_ORDERED)
        [0]interface.append_merge.options: When Appending or Merging|options((eFLAG_COMPOSITE)
            [0]interface.append_merge.options.mode: Append and Merge((eFLAG_COMPOSITE) => Int32:1
    [12]interface.developer: Developer|developer
        [0]interface.developer.show_properties: Show Internal Properties => Boolean:True
        [1]interface.developer.show_property_internal_names: Show Property Internal Names => Boolean:False
        [2]interface.developer.api: Api|api
            [0]interface.developer.api.runaction_verbose:  => Boolean:False
            [1]interface.developer.api.managed_debug_break:  => Boolean:True
            [2]interface.developer.api.native_debug_break:  => Boolean:True
        [3]interface.developer.timing_status_panes: Timing Status Panes => Boolean:False
        [4]interface.developer.graphs: ((eFLAG_RESTART_NEEDED) => Boolean:False
        [5]interface.developer.stats: ((eFLAG_RESTART_NEEDED) => Boolean:False
        [6]interface.developer.speed_bench: ((eFLAG_RESTART_NEEDED) => Boolean:False
        [7]interface.developer.speed_time: ((eFLAG_RESTART_NEEDED) => Boolean:False
        [8]interface.developer.display_status: ((eFLAG_RESTART_NEEDED) => Boolean:False
    [13]interface.userinterface: User Interface|userinterface(|eFLAG_ORDERED)
        [0]interface.userinterface.theme_type: Theme => NamedConstant:RoamerGUI_AIRLookThemeType:0(Dark)
        [1]interface.userinterface.infocenter_enable: Show InfoCenter((eFLAG_RESTART_NEEDED) => Boolean:True
    [14]interface.automation: Automation|automation
        [0]interface.automation.enable_busy_dialog: Enable Busy Dialog((eFLAG_RESTART_NEEDED) => Boolean:True
        [1]interface.automation.enable_not_responding_dialog: Enable Not Responding Dialog((eFLAG_RESTART_NEEDED) => Boolean:True
        [2]interface.automation.not_responding_timeout_secs: Not Responding timeout (s)((eFLAG_RESTART_NEEDED) => Int32:30
    [15]interface.selection_tree: |selection_tree
        [0]interface.selection_tree.tab_on_current_selection: ((eFLAG_RESTART_NEEDED) => Boolean:False
    [16]interface.grids: Grids|grids
        [0]interface.grids.enabled: Enabled => Boolean:True
        [1]interface.grids.colour_group: Colors|colour_group((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.grids.colour_group.above_colour: Level Above:|above_colour((eFLAG_COMPOSITE|eFLAG_ORDERED)
                [0]interface.grids.colour_group.above_colour.red:  => Double:1
                [1]interface.grids.colour_group.above_colour.green:  => Double:0
                [2]interface.grids.colour_group.above_colour.blue:  => Double:0
            [1]interface.grids.colour_group.below_colour: Level Below:|below_colour((eFLAG_COMPOSITE|eFLAG_ORDERED)
                [0]interface.grids.colour_group.below_colour.red:  => Double:0
                [1]interface.grids.colour_group.below_colour.green:  => Double:1
                [2]interface.grids.colour_group.below_colour.blue:  => Double:0
            [2]interface.grids.colour_group.other_colour: Other Levels:|other_colour((eFLAG_COMPOSITE|eFLAG_ORDERED)
                [0]interface.grids.colour_group.other_colour.red:  => Double:0.8
                [1]interface.grids.colour_group.other_colour.green:  => Double:0.8
                [2]interface.grids.colour_group.other_colour.blue:  => Double:0.8
        [2]interface.grids.label_font_size: Label Font Size: => Int32:12
        [3]interface.grids.xray: X-Ray Mode((eFLAG_COMBINED_LABEL) => Boolean:True
    [17]interface.first_run: On First Run|first_run
        [0]interface.first_run.show_help: Show Help => Boolean:False
    [18]interface.space_mouse: 3Dconnexion|space_mouse(|eFLAG_ORDERED)
        [0]interface.space_mouse.speed: Speed|speed((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.space_mouse.speed.speed: Speed => Double:450
        [1]interface.space_mouse.object_mode: Object Mode|object_mode((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.space_mouse.object_mode.keep_scene_upright: Keep Scene Upright((eFLAG_COMBINED_LABEL) => Boolean:True
            [1]interface.space_mouse.object_mode.center_pivot_on_selection: Center Pivot on Selection((eFLAG_COMBINED_LABEL) => Boolean:True
        [2]interface.space_mouse.motion_filter: Motion Filter|motion_filter((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.space_mouse.motion_filter.pan_zoom: Pan/Zoom((eFLAG_COMBINED_LABEL) => Boolean:True
            [1]interface.space_mouse.motion_filter.tilt_spin_roll: Tilt/Spin/Roll((eFLAG_COMBINED_LABEL) => Boolean:True
        [3]interface.space_mouse.visible: ((eFLAG_COMBINED_LABEL) => Boolean:True
    [19]interface.nav_bar: Navigation Bar|nav_bar(|eFLAG_ORDERED)
        [0]interface.nav_bar.orbit_tools: Orbit Tools|orbit_tools((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.nav_bar.orbit_tools.classic_orbit: Use classic Orbit((eFLAG_COMBINED_LABEL) => Boolean:False
            [1]interface.nav_bar.orbit_tools.classic_free_orbit: Use classic Free Orbit (Examine)((eFLAG_COMBINED_LABEL) => Boolean:False
            [2]interface.nav_bar.orbit_tools.classic_constrained_orbit: Use classic Constrained Orbit (Turntable)((eFLAG_COMBINED_LABEL) => Boolean:False
        [1]interface.nav_bar.walk_tool: Walk Tool|walk_tool((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.nav_bar.walk_tool.classic_walk: Use classic Walk((eFLAG_COMBINED_LABEL) => Boolean:True
            [1]interface.nav_bar.walk_tool.constrain_walk_angle: Constrain Walk angle((eFLAG_COMBINED_LABEL) => Boolean:True
            [2]interface.nav_bar.walk_tool.use_linear_speed: Use viewpoint Linear Speed((eFLAG_COMBINED_LABEL) => Boolean:True
            [3]interface.nav_bar.walk_tool.walk_speed: Walk Speed => Double:1
        [2]interface.nav_bar.visible: Show the NavigationBar((eFLAG_COMBINED_LABEL) => Boolean:True
        [3]interface.nav_bar.location: Location|location((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.nav_bar.location.position: Position => NamedConstant:lcautocam_navbar_location:0(Linked to ViewCube)
            [1]interface.nav_bar.location.location_offsetx: Location Offset X => Int32:0
            [2]interface.nav_bar.location.location_offsety: Location Offset Y => Int32:0
            [3]interface.nav_bar.location.position_2d: Position => NamedConstant:lcautocam_navbar_location:0(Linked to ViewCube)
            [4]interface.nav_bar.location.location_offsetx_2d: Location Offset X => Int32:0
            [5]interface.nav_bar.location.location_offsety_2d: Location Offset Y => Int32:0
        [4]interface.nav_bar.items: Tools|items((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.nav_bar.items.view_cube: ViewCube((eFLAG_COMBINED_LABEL) => Boolean:True
            [1]interface.nav_bar.items.steering_wheels: Steering Wheels((eFLAG_COMBINED_LABEL) => Boolean:True
            [2]interface.nav_bar.items.steering_wheels_2d: Steering Wheels 2D((eFLAG_COMBINED_LABEL) => Boolean:True
            [3]interface.nav_bar.items.pan: Pan((eFLAG_COMBINED_LABEL) => Boolean:True
            [4]interface.nav_bar.items.pan_2d: Pan 2D((eFLAG_COMBINED_LABEL) => Boolean:True
            [5]interface.nav_bar.items.zoom: Zoom((eFLAG_COMBINED_LABEL) => Boolean:True
            [6]interface.nav_bar.items.zoom_2d: Zoom 2D((eFLAG_COMBINED_LABEL) => Boolean:True
            [7]interface.nav_bar.items.orbit: Orbit((eFLAG_COMBINED_LABEL) => Boolean:True
            [8]interface.nav_bar.items.look: Look((eFLAG_COMBINED_LABEL) => Boolean:True
            [9]interface.nav_bar.items.walk_fly: Walk/Fly((eFLAG_COMBINED_LABEL) => Boolean:True
            [10]interface.nav_bar.items.spacemouse: 3Dconnexion((eFLAG_COMBINED_LABEL) => Boolean:True
            [11]interface.nav_bar.items.spacemouse_2d: 3Dconnexion((eFLAG_COMBINED_LABEL) => Boolean:True
            [12]interface.nav_bar.items.select: Select((eFLAG_COMBINED_LABEL) => Boolean:True
    [20]interface.view_cube: ViewCube|view_cube(|eFLAG_ORDERED)
        [0]interface.view_cube.show: Show the ViewCube((eFLAG_COMBINED_LABEL) => Boolean:True
        [1]interface.view_cube.location: Location => NamedConstant:lcautocam_view_cube_location:0(Top Right)
        [2]interface.view_cube.size: Size => NamedConstant:lcautocam_view_cube_size:0(Automatic)
        [3]interface.view_cube.opacity: Inactive opacity => NamedConstant:lcautocam_view_cube_opacity:1(25%)
        [4]interface.view_cube.keep_upright: Keep scene upright((eFLAG_COMBINED_LABEL) => Boolean:True
        [5]interface.view_cube.when_drag: When dragging on the ViewCube|when_drag((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.view_cube.when_drag.snap_to_view: Snap to the closest view((eFLAG_COMBINED_LABEL) => Boolean:True
        [6]interface.view_cube.when_click: When clicking on the ViewCube|when_click((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.view_cube.when_click.fit_to_view: Fit-to-view on change((eFLAG_COMBINED_LABEL) => Boolean:True
            [1]interface.view_cube.when_click.use_animated_transitions: Use animated transitions when switching views((eFLAG_COMBINED_LABEL) => Boolean:True
        [7]interface.view_cube.show_compass: Show the compass below the ViewCube((eFLAG_COMBINED_LABEL) => Boolean:True
    [21]interface.steering_wheel: SteeringWheels|steering_wheel(|eFLAG_ORDERED)
        [0]interface.steering_wheel.wheels: |wheels((eFLAG_EQUAL_COLUMNS|eFLAG_ORDERED)
            [0]interface.steering_wheel.wheels.big: Big Wheels|big((eFLAG_COMPOSITE|eFLAG_ORDERED)
                [0]interface.steering_wheel.wheels.big.size: Size => NamedConstant:lcautocam_big_wheel_size:1(Normal)
                [1]interface.steering_wheel.wheels.big.opacity: Opacity => NamedConstant:lcautocam_wheel_opacity:1(50%)
            [1]interface.steering_wheel.wheels.mini: Mini Wheels|mini((eFLAG_COMPOSITE|eFLAG_ORDERED)
                [0]interface.steering_wheel.wheels.mini.size: Size => NamedConstant:lcautocam_mini_wheel_size:1(Normal)
                [1]interface.steering_wheel.wheels.mini.opacity: Opacity => NamedConstant:lcautocam_wheel_opacity:1(50%)
        [1]interface.steering_wheel.active_wheel_type:  => Int32:2
        [2]interface.steering_wheel.mini_wheel_messages: On-Screen Messages|mini_wheel_messages((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.steering_wheel.mini_wheel_messages.show_tool_messages: Show tool messages((eFLAG_COMBINED_LABEL) => Boolean:False
            [1]interface.steering_wheel.mini_wheel_messages.show_tooltips: Show tooltips((eFLAG_COMBINED_LABEL) => Boolean:False
            [2]interface.steering_wheel.mini_wheel_messages.show_tool_cursor: Show tool cursor text((eFLAG_COMBINED_LABEL) => Boolean:False
        [3]interface.steering_wheel.look_tool: Look Tool|look_tool((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.steering_wheel.look_tool.invert_vertical_axis: Invert vertical axis((eFLAG_COMBINED_LABEL) => Boolean:False
        [4]interface.steering_wheel.walk_tool: Walk Tool|walk_tool((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.steering_wheel.walk_tool.constrain_walk_angle: Constrain Walk angle((eFLAG_COMBINED_LABEL) => Boolean:True
            [1]interface.steering_wheel.walk_tool.use_linear_speed: Use viewpoint Linear Speed((eFLAG_COMBINED_LABEL) => Boolean:True
            [2]interface.steering_wheel.walk_tool.walk_speed: Walk Speed => Double:1
        [5]interface.steering_wheel.zoom_tool: Zoom Tool|zoom_tool((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]interface.steering_wheel.zoom_tool.enable_single_zoom_in: Enable single-click incremental zoom-in((eFLAG_COMBINED_LABEL) => Boolean:False
        [6]interface.steering_wheel.orbit_tool: Orbit Tool|orbit_tool((34|eFLAG_ORDERED)
            [0]interface.steering_wheel.orbit_tool.keep_scene_upright: Keep scene upright((eFLAG_COMBINED_LABEL) => Boolean:True
            [1]interface.steering_wheel.orbit_tool.enable_selection_sensitivity: Center Pivot on Selection((eFLAG_COMBINED_LABEL) => Boolean:True
    [22]interface.progress: Progress Bar|progress
        [0]interface.progress.enable: Enable => Boolean:True
[2]model: Model|model
    [0]model.performance: Performance|performance
        [0]model.performance.merge: Merge Duplicates|merge((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]model.performance.merge.on_convert: On Convert => Boolean:True
            [1]model.performance.merge.on_append: On Append => Boolean:True
            [2]model.performance.merge.on_load_nwf: On Load => Boolean:False
            [3]model.performance.merge.on_save: On Save NWF => Boolean:False
            [4]model.performance.merge.regenerate_checksums: Regenerate Checksums => Boolean:False
            [5]model.performance.merge.materials: Materials => Boolean:True
        [1]model.performance.load: On Load|load((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]model.performance.load.collapse: Collapse on Convert((eFLAG_CACHE) => NamedConstant:LcOaCollapseType:1(Composite Objects)
            [1]model.performance.load.close: Close NWC/NWD files on load => Boolean:True
            [2]model.performance.load.use_static_hierarchy: ((eFLAG_RESTART_NEEDED) => Boolean:False
            [3]model.performance.load.create_parametric_prims: Create Parametric Primitives((eFLAG_CACHE) => Boolean:False
            [4]model.performance.load.optimise_on_load: Optimise On Load => Boolean:False
        [2]model.performance.memory: Memory Limit|memory((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]model.performance.memory.auto_limit: Auto => Boolean:True
            [1]model.performance.memory.mem_limit:  => Int32:0
            [2]model.performance.memory.mem_limit_in_megabytes: Limit => Int32:5749
            [3]model.performance.memory.zone_factor: Zone Factor => Double:0
            [4]model.performance.memory.zone_offset: Zone Offset => Int32:0
            [5]model.performance.memory.target_factor: Target Factor => Double:0
            [6]model.performance.memory.target_offset: Target Offset => Int32:0
            [7]model.performance.memory.alloc_limit: Alloc Limit => Int32:0
            [8]model.performance.memory.alloc_zone_factor: Alloc Zone Factor => Double:0
            [9]model.performance.memory.alloc_zone_offset: Alloc Zone Offset => Int32:0
            [10]model.performance.memory.alloc_target_factor: Alloc Target Factor => Double:0
            [11]model.performance.memory.alloc_target_offset: Alloc Target Offset => Int32:0
            [12]model.performance.memory.alloc_status_pane: Alloc Status Panes => Boolean:False
            [13]model.performance.memory.usage_status_pane: Usage of Status Panes => Boolean:True
            [14]model.performance.memory.status_pane_unit_size: Status Pane Unit Size => Int32:1048576
        [3]model.performance.temp_file: Temporary File Location|temp_file((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]model.performance.temp_file.auto: Auto => Boolean:False
            [1]model.performance.temp_file.location: Location => DisplayString:D:\(tmp)
        [4]model.performance.timing: |timing
            [0]model.performance.timing.allow_performance_counter_timing: ((eFLAG_RESTART_NEEDED) => Boolean:True
            [1]model.performance.timing.prefer_performance_counter_timing: ((eFLAG_RESTART_NEEDED) => Boolean:False
        [5]model.performance.split_threshold: ((eFLAG_RESTART_NEEDED) => Int32:500
        [6]model.performance.spatial_split_threshold: ((eFLAG_RESTART_NEEDED) => Int32:1500
        [7]model.performance.merge_threshold: ((eFLAG_RESTART_NEEDED) => Int32:250
        [8]model.performance.always_use_indexed_tristrips: ((eFLAG_RESTART_NEEDED) => Boolean:False
    [1]model.nwd: NWD|nwd
        [0]model.nwd.compression: Geometry Compression|compression((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]model.nwd.compression.enable: Enable => Boolean:False
            [1]model.nwd.compression.flags: Flags => Int32:63
            [2]model.nwd.compression.reduce: Reduce Precision|reduce((eFLAG_COMPOSITE|eFLAG_ORDERED)
                [0]model.nwd.compression.reduce.coordinates: Coordinates => Boolean:True
                [1]model.nwd.compression.reduce.coordinates_precision: Precision => DoubleLength:0.001
                [2]model.nwd.compression.reduce.normals: Normals => Boolean:True
                [3]model.nwd.compression.reduce.normal_bits: Bits for Normal Encoding => Int32:8
                [4]model.nwd.compression.reduce.colors: Colors => Boolean:True
                [5]model.nwd.compression.reduce.color_bits: Bits for Color Encoding => Int32:8
                [6]model.nwd.compression.reduce.texture_coordinates: Texture Coordinates => Boolean:True
                [7]model.nwd.compression.reduce.texture_coordinate_bits: Bits for Texture Coordinate Encoding => Int32:8
            [3]model.nwd.compression.use_zlib: Use ZLib => Boolean:True
            [4]model.nwd.compression.pageable: Is Pageable => Boolean:True
        [1]model.nwd.use_single_geom_stream: Use Single Geometry Stream => Boolean:False
        [2]model.nwd.use_huffman_only: Use Only Huffman Encoding => Boolean:False
        [3]model.nwd.use_geom_dict: Use Geometry Dictionary => Boolean:False
        [4]model.nwd.disable_paged_read: Disable Paged Read => Boolean:False
    [2]model.nwc: NWC|nwc
        [0]model.nwc.compression: Geometry Compression|compression((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]model.nwc.compression.enable: Enable => Boolean:False
            [1]model.nwc.compression.flags: Flags => Int32:63
            [2]model.nwc.compression.reduce: Reduce Precision|reduce((eFLAG_COMPOSITE|eFLAG_ORDERED)
                [0]model.nwc.compression.reduce.coordinates: Coordinates => Boolean:True
                [1]model.nwc.compression.reduce.coordinates_precision: Precision => DoubleLength:0.001
                [2]model.nwc.compression.reduce.normals: Normals => Boolean:True
                [3]model.nwc.compression.reduce.normal_bits: Bits for Normal Encoding => Int32:8
                [4]model.nwc.compression.reduce.colors: Colors => Boolean:True
                [5]model.nwc.compression.reduce.color_bits: Bits for Color Encoding => Int32:8
                [6]model.nwc.compression.reduce.texture_coordinates: Texture Coordinates => Boolean:True
                [7]model.nwc.compression.reduce.texture_coordinate_bits: Bits for Texture Coordinate Encoding => Int32:8
            [3]model.nwc.compression.use_zlib: Use ZLib => Boolean:True
            [4]model.nwc.compression.pageable: Is Pageable => Boolean:True
        [1]model.nwc.caching: Caching|caching((eFLAG_COMPOSITE)
            [0]model.nwc.caching.read_enable: Read Cache => Boolean:True
            [1]model.nwc.caching.write_enable: Write Cache => Boolean:True
[3]tools: Tools|tools
    [0]tools.location: Locations|location(|eFLAG_ORDERED)
        [0]tools.location.snap_to_grid_line: Snap to Grid Intersection => Boolean:True
    [1]tools.render: Render System|render
        [0]tools.render.display: Show in User Interface((eFLAG_RESTART_NEEDED) => Boolean:True
    [2]tools.clash: Clash Detective|clash(|eFLAG_ORDERED)
        [0]tools.clash.view_zoom: View in Context Zoom Duration => Double:1
        [1]tools.clash.view_dwell: View in Context Pause => Double:1
        [2]tools.clash.transition: Animated Transition Duration => Double:2
        [3]tools.clash.transparency: Dimming Transparency => Double:0.85
        [4]tools.clash.wireframes: Use Wireframes for Transparent Dimming => Boolean:True
        [5]tools.clash.distance_factor: Auto-Zoom Distance Factor => Double:2
        [6]tools.clash.use_images_subfolder: Organize images into sub-folder (recommended) => Boolean:True
        [7]tools.clash.load_save_rules_file: Share rules between projects((eFLAG_RESTART_NEEDED) => Boolean:True
        [8]tools.clash.multithreading_enabled: Enable multi-threading => Boolean:True
        [9]tools.clash.multithreading_threads: Number of threads => Int32:4
        [10]tools.clash.custom_highlight_color: Custom Highlight Colors|custom_highlight_color((eFLAG_COMPOSITE)
            [0]tools.clash.custom_highlight_color.object1: Item 1|object1((eFLAG_COMPOSITE|eFLAG_ORDERED)
                [0]tools.clash.custom_highlight_color.object1.red:  => Double:1
                [1]tools.clash.custom_highlight_color.object1.green:  => Double:0.25
                [2]tools.clash.custom_highlight_color.object1.blue:  => Double:0.25
            [1]tools.clash.custom_highlight_color.object2: Item 2|object2((eFLAG_COMPOSITE|eFLAG_ORDERED)
                [0]tools.clash.custom_highlight_color.object2.red:  => Double:0.25
                [1]tools.clash.custom_highlight_color.object2.green:  => Double:1
                [2]tools.clash.custom_highlight_color.object2.blue:  => Double:0.2
        [11]tools.clash.teststab: |teststab((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]tools.clash.teststab.columns: |columns
                [0]tools.clash.teststab.columns.name: |name((eFLAG_COMPOSITE|eFLAG_ORDERED)
                    [0]tools.clash.teststab.columns.name.width:  => Double:75
                [1]tools.clash.teststab.columns.status: |status((eFLAG_COMPOSITE|eFLAG_ORDERED)
                    [0]tools.clash.teststab.columns.status.width:  => Double:60
                [2]tools.clash.teststab.columns.total: |total((eFLAG_COMPOSITE|eFLAG_ORDERED)
                    [0]tools.clash.teststab.columns.total.width:  => Double:60
                [3]tools.clash.teststab.columns.new: |new((eFLAG_COMPOSITE|eFLAG_ORDERED)
                    [0]tools.clash.teststab.columns.new.width:  => Double:60
                [4]tools.clash.teststab.columns.active: |active((eFLAG_COMPOSITE|eFLAG_ORDERED)
                    [0]tools.clash.teststab.columns.active.width:  => Double:65
                [5]tools.clash.teststab.columns.reviewed: |reviewed((eFLAG_COMPOSITE|eFLAG_ORDERED)
                    [0]tools.clash.teststab.columns.reviewed.width:  => Double:75
                [6]tools.clash.teststab.columns.approved: |approved((eFLAG_COMPOSITE|eFLAG_ORDERED)
                    [0]tools.clash.teststab.columns.approved.width:  => Double:75
                [7]tools.clash.teststab.columns.resolved: |resolved((eFLAG_COMPOSITE|eFLAG_ORDERED)
                    [0]tools.clash.teststab.columns.resolved.width:  => Double:75
            [1]tools.clash.teststab.testdetails: |testdetails((eFLAG_COMPOSITE)
                [0]tools.clash.teststab.testdetails.expander: ((eFLAG_COMPOSITE) => Boolean:True
                [1]tools.clash.teststab.testdetails.height: ((eFLAG_COMPOSITE) => Double:277
        [12]tools.clash.resultstab: |resultstab((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]tools.clash.resultstab.columns: |columns
                [0]tools.clash.resultstab.columns.name: |name((eFLAG_COMPOSITE|eFLAG_ORDERED)
                    [0]tools.clash.resultstab.columns.name.width:  => Double:110
                    [1]tools.clash.resultstab.columns.name.position:  => Int32:1
                    [2]tools.clash.resultstab.columns.name.visible:  => Boolean:True
                    [3]tools.clash.resultstab.columns.name.alignment:  => DisplayString:left
                [1]tools.clash.resultstab.columns.viewpoint: |viewpoint((eFLAG_COMPOSITE|eFLAG_ORDERED)
                    [0]tools.clash.resultstab.columns.viewpoint.width:  => Double:20
                    [1]tools.clash.resultstab.columns.viewpoint.position:  => Int32:2
                    [2]tools.clash.resultstab.columns.viewpoint.visible:  => Boolean:True
                    [3]tools.clash.resultstab.columns.viewpoint.alignment:  => DisplayString:left
                [2]tools.clash.resultstab.columns.commentcount: |commentcount((eFLAG_COMPOSITE|eFLAG_ORDERED)
                    [0]tools.clash.resultstab.columns.commentcount.width:  => Double:20
                    [1]tools.clash.resultstab.columns.commentcount.position:  => Int32:3
                    [2]tools.clash.resultstab.columns.commentcount.visible:  => Boolean:True
                    [3]tools.clash.resultstab.columns.commentcount.alignment:  => DisplayString:left
                [3]tools.clash.resultstab.columns.status: |status((eFLAG_COMPOSITE|eFLAG_ORDERED)
                    [0]tools.clash.resultstab.columns.status.width:  => Double:75
                    [1]tools.clash.resultstab.columns.status.position:  => Int32:4
                    [2]tools.clash.resultstab.columns.status.visible:  => Boolean:True
                    [3]tools.clash.resultstab.columns.status.alignment:  => DisplayString:left
                [4]tools.clash.resultstab.columns.gridlevel: |gridlevel((eFLAG_COMPOSITE|eFLAG_ORDERED)
                    [0]tools.clash.resultstab.columns.gridlevel.width:  => Double:60
                    [1]tools.clash.resultstab.columns.gridlevel.position:  => Int32:5
                    [2]tools.clash.resultstab.columns.gridlevel.visible:  => Boolean:True
                    [3]tools.clash.resultstab.columns.gridlevel.alignment:  => DisplayString:left
                [5]tools.clash.resultstab.columns.gridintersection: |gridintersection((eFLAG_COMPOSITE|eFLAG_ORDERED)
                    [0]tools.clash.resultstab.columns.gridintersection.width:  => Double:60
                    [1]tools.clash.resultstab.columns.gridintersection.position:  => Int32:6
                    [2]tools.clash.resultstab.columns.gridintersection.visible:  => Boolean:True
                    [3]tools.clash.resultstab.columns.gridintersection.alignment:  => DisplayString:left
                [6]tools.clash.resultstab.columns.createdtime: |createdtime((eFLAG_COMPOSITE|eFLAG_ORDERED)
                    [0]tools.clash.resultstab.columns.createdtime.width:  => Double:120
                    [1]tools.clash.resultstab.columns.createdtime.position:  => Int32:7
                    [2]tools.clash.resultstab.columns.createdtime.visible:  => Boolean:True
                    [3]tools.clash.resultstab.columns.createdtime.alignment:  => DisplayString:left
                [7]tools.clash.resultstab.columns.approvedby: |approvedby((eFLAG_COMPOSITE|eFLAG_ORDERED)
                    [0]tools.clash.resultstab.columns.approvedby.width:  => Double:70
                    [1]tools.clash.resultstab.columns.approvedby.position:  => Int32:8
                    [2]tools.clash.resultstab.columns.approvedby.visible:  => Boolean:True
                    [3]tools.clash.resultstab.columns.approvedby.alignment:  => DisplayString:left
                [8]tools.clash.resultstab.columns.approvedtime: |approvedtime((eFLAG_COMPOSITE|eFLAG_ORDERED)
                    [0]tools.clash.resultstab.columns.approvedtime.width:  => Double:120
                    [1]tools.clash.resultstab.columns.approvedtime.position:  => Int32:9
                    [2]tools.clash.resultstab.columns.approvedtime.visible:  => Boolean:True
                    [3]tools.clash.resultstab.columns.approvedtime.alignment:  => DisplayString:left
                [9]tools.clash.resultstab.columns.description: |description((eFLAG_COMPOSITE|eFLAG_ORDERED)
                    [0]tools.clash.resultstab.columns.description.width:  => Double:70
                    [1]tools.clash.resultstab.columns.description.position:  => Int32:10
                    [2]tools.clash.resultstab.columns.description.visible:  => Boolean:True
                    [3]tools.clash.resultstab.columns.description.alignment:  => DisplayString:left
                [10]tools.clash.resultstab.columns.assignedto: |assignedto((eFLAG_COMPOSITE|eFLAG_ORDERED)
                    [0]tools.clash.resultstab.columns.assignedto.width:  => Double:70
                    [1]tools.clash.resultstab.columns.assignedto.position:  => Int32:11
                    [2]tools.clash.resultstab.columns.assignedto.visible:  => Boolean:True
                    [3]tools.clash.resultstab.columns.assignedto.alignment:  => DisplayString:left
                [11]tools.clash.resultstab.columns.distance: |distance((eFLAG_COMPOSITE|eFLAG_ORDERED)
                    [0]tools.clash.resultstab.columns.distance.width:  => Double:70
                    [1]tools.clash.resultstab.columns.distance.position:  => Int32:12
                    [2]tools.clash.resultstab.columns.distance.visible:  => Boolean:True
                    [3]tools.clash.resultstab.columns.distance.alignment:  => DisplayString:right
                [12]tools.clash.resultstab.columns.simulationname: |simulationname((eFLAG_COMPOSITE|eFLAG_ORDERED)
                    [0]tools.clash.resultstab.columns.simulationname.width:  => Double:70
                    [1]tools.clash.resultstab.columns.simulationname.position:  => Int32:13
                    [2]tools.clash.resultstab.columns.simulationname.visible:  => Boolean:False
                    [3]tools.clash.resultstab.columns.simulationname.alignment:  => DisplayString:left
                [13]tools.clash.resultstab.columns.simulationstarttime: |simulationstarttime((eFLAG_COMPOSITE|eFLAG_ORDERED)
                    [0]tools.clash.resultstab.columns.simulationstarttime.width:  => Double:120
                    [1]tools.clash.resultstab.columns.simulationstarttime.position:  => Int32:14
                    [2]tools.clash.resultstab.columns.simulationstarttime.visible:  => Boolean:False
                    [3]tools.clash.resultstab.columns.simulationstarttime.alignment:  => DisplayString:left
                [14]tools.clash.resultstab.columns.simulationendtime: |simulationendtime((eFLAG_COMPOSITE|eFLAG_ORDERED)
                    [0]tools.clash.resultstab.columns.simulationendtime.width:  => Double:120
                    [1]tools.clash.resultstab.columns.simulationendtime.position:  => Int32:15
                    [2]tools.clash.resultstab.columns.simulationendtime.visible:  => Boolean:False
                    [3]tools.clash.resultstab.columns.simulationendtime.alignment:  => DisplayString:left
                [15]tools.clash.resultstab.columns.center: |center((eFLAG_COMPOSITE|eFLAG_ORDERED)
                    [0]tools.clash.resultstab.columns.center.width:  => Double:65
                    [1]tools.clash.resultstab.columns.center.position:  => Int32:16
                    [2]tools.clash.resultstab.columns.center.visible:  => Boolean:False
                    [3]tools.clash.resultstab.columns.center.alignment:  => DisplayString:left
            [1]tools.clash.resultstab.displaysettings: |displaysettings((eFLAG_COMPOSITE)
                [0]tools.clash.resultstab.displaysettings.expander:  => Boolean:False
            [2]tools.clash.resultstab.itemdetails: |itemdetails((eFLAG_COMPOSITE)
                [0]tools.clash.resultstab.itemdetails.expander:  => Boolean:False
                [1]tools.clash.resultstab.itemdetails.height:  => Double:142
        [13]tools.clash.timeformats: |timeformats((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]tools.clash.timeformats.lastruntime:  => DisplayString:F
            [1]tools.clash.timeformats.clashtime:  => DisplayString:HH:mm:ss dd-MM-yyyy
            [2]tools.clash.timeformats.animatortime:  => DisplayString:c
        [14]tools.clash.displaysettings: |displaysettings((eFLAG_COMPOSITE|eFLAG_ORDERED)
            [0]tools.clash.displaysettings.selection_filtering_mode:  => Int32:0
            [1]tools.clash.displaysettings.auto_reveal:  => Boolean:False
            [2]tools.clash.displaysettings.auto_zoom:  => Boolean:True
            [3]tools.clash.displaysettings.auto_save:  => Boolean:True
            [4]tools.clash.displaysettings.auto_load:  => Boolean:True
            [5]tools.clash.displaysettings.animate_transitions:  => Boolean:False
            [6]tools.clash.displaysettings.highlight_all:  => Boolean:False
            [7]tools.clash.displaysettings.dim_other:  => Boolean:True
            [8]tools.clash.displaysettings.transparent_dimming:  => Boolean:True
            [9]tools.clash.displaysettings.hide_other:  => Boolean:False
            [10]tools.clash.displaysettings.auto_simulate:  => Boolean:True
            [11]tools.clash.displaysettings.object1_highlight:  => Boolean:True
            [12]tools.clash.displaysettings.object2_highlight:  => Boolean:True
            [13]tools.clash.displaysettings.view_in_context_mode:  => Int32:0
            [14]tools.clash.displaysettings.custom_highlight_colors:  => Boolean:True
    [3]tools.lctimeliner: TimeLiner|lctimeliner
        [0]tools.lctimeliner.simple_simulation_avp: Simple Planned vs Actual Simulation => Boolean:False
        [1]tools.lctimeliner.enable_find: Enable Find => Boolean:True
        [2]tools.lctimeliner.enable_time: Show Time => Boolean:False
        [3]tools.lctimeliner.date_format: Date Format => NamedConstant:DATE_FORMAT_NAME:0(Default Locale)
        [4]tools.lctimeliner.auto_select_attached: Auto-Select Attached Selections => Boolean:False
        [5]tools.lctimeliner.allow_edit_invalid_dates: Allow replacement of dates outside date editing range => Boolean:False
        [6]tools.lctimeliner.working_hours_start: Beginning of working day (24h) => Int32:9
        [7]tools.lctimeliner.working_hours_end: End of working day (24h) => Int32:17
        [8]tools.lctimeliner.report_import_warnings: Report data-source import warnings => Boolean:True
        [9]tools.lctimeliner.export: Import/Export|export
            [0]tools.lctimeliner.export.xml: XML|xml((eFLAG_COMPOSITE)
                [0]tools.lctimeliner.export.xml.fix_start_dates: Retain Start Dates => Boolean:False
                [1]tools.lctimeliner.export.xml.fix_duration: Force Duration => Boolean:False
            [1]tools.lctimeliner.export.csv: CSV|csv((eFLAG_COMPOSITE)
                [0]tools.lctimeliner.export.csv.encoding_write: CSV file: write encoding => NamedConstant:lcodptimeliner_opt_csv_encoding_write_enum:0(Multibyte)
                [1]tools.lctimeliner.export.csv.encoding_read: CSV file: read encoding => NamedConstant:lcodptimeliner_opt_csv_encoding_read_enum:0(Multibyte)
    [4]tools.compare: Compare|compare
        [0]tools.compare.save_as_sets: Save As Sets => Boolean:True
        [1]tools.compare.save_diffs: Save Diffs => Boolean:True
        [2]tools.compare.remove_old: Remove Old Results => Boolean:True
        [3]tools.compare.highlight_results: Highlight Results => Boolean:True
        [4]tools.compare.hide_matched: Hide Matched => Boolean:True
        [5]tools.compare.match_geometry: Match Geometry => Boolean:True
        [6]tools.compare.diff_geometry: Diff Geometry => Boolean:True
        [7]tools.compare.match_name: Match Name => Boolean:True
        [8]tools.compare.diff_name: Diff Name => Boolean:True
        [9]tools.compare.diff_properties: Diff Properties => Boolean:True
        [10]tools.compare.match_tree: Match Tree => Boolean:True
        [11]tools.compare.diff_tree: Diff Tree => Boolean:True
        [12]tools.compare.match_type: Match Type => Boolean:True
        [13]tools.compare.diff_type: Diff Type => Boolean:True
        [14]tools.compare.diff_overridden_material: Diff Overridden Material => Boolean:False
        [15]tools.compare.diff_overridden_transform: Diff Overridden Transform => Boolean:False
        [16]tools.compare.match_unique_ids: Match Unique Ids => Boolean:True
        [17]tools.compare.diff_unique_ids: Diff Unique Ids => Boolean:True
        [18]tools.compare.max_details: Max Details => Int32:50
        [19]tools.compare.ignore_filename_properties: Ignore Filename Properties => Boolean:True
        [20]tools.compare.linear_tolerance: Tolerance => DoubleLength:0
    [5]tools.quantification: Quantification|quantification
        [0]tools.quantification.paste_markup_with_offset_option: Paste Markup With Offset => Boolean:True
        [1]tools.quantification.launch_help_option: Show Help => Boolean:True
        [2]tools.quantification.clean_grid_option: Clean Grid => Boolean:True
        [3]tools.quantification.clean_level_option: Clean Level => Boolean:True
        [4]tools.quantification.clean_tag_option: Clean Tag => Boolean:True
        [5]tools.quantification.clean_dimension_option: Clean Dimension => Boolean:True
        [6]tools.quantification.clean_elevation_option: Clean Elevation => Boolean:True
        [7]tools.quantification.clean_section_option: Clean Section => Boolean:True
        [8]tools.quantification.clean_viewport_option: Clean Viewport => Boolean:True
        [9]tools.quantification.clean_hatch_option: Clean Hatch => Boolean:True
        [10]tools.quantification.auto_apply_quantification_appearance: Auto Apply Quantification Appearance => Boolean:False
        [11]tools.quantification.bucket_fill_and_quick_box_polygon_max_point_numbe: Fill and Quick Box : Max Point Number of a Polygon => Int32:500
        [12]tools.quantification.bucket_fill_and_quick_box_tolerance: Bucket Fill and Quick Box : Tolerance => Double:1E-06
        [13]tools.quantification.show_viewport_bounds_option_path: Show Viewport Bounds => Boolean:False
        [14]tools.quantification.allow_auto_pan_option: Allow Auto Pan => Boolean:True
        [15]tools.quantification.DefaultPromptDirForImport:  => DisplayString:C:\Users\alexis\AppData\Roaming\Autodesk Navisworks Manage 2020\Quantification\catalogs
        [16]tools.quantification.DefaultPromptDirForExport:  => DisplayString:C:\Users\alexis\Documents
    [6]tools.scripter: Scripter|scripter
        [0]tools.scripter.message_path: Path to message file => DisplayString:
        [1]tools.scripter.message_level: Message Level => NamedConstant:lcodpanimator_msg_level_enum:0(User)
    [7]tools.animator: Animator|animator
        [0]tools.animator.show_editbar: Display Manual Entry => Boolean:True
[4]file_readers: File Readers|file_readers(|65)
    [0]file_readers.lcodp3ds0: 3DS|lcodp3ds0(|eFLAG_ORDERED)
        [0]file_readers.lcodp3ds0.lcodp3ds0_param_convert_hidden: Convert Hidden => Boolean:False
        [1]file_readers.lcodp3ds0.lcodp3ds0_param_bitmap_file_search_paths: Bitmap File Search Paths => DisplayString:
        [2]file_readers.lcodp3ds0.lcodp3ds0_default_units: Default Units => NamedConstant:LcOaUnitLinearEnum:4(Inches)
    [1]file_readers.LcOdPdsDriLoaderPlugin: PDS|LcOdPdsDriLoaderPlugin(|eFLAG_ORDERED)
        [0]file_readers.LcOdPdsDriLoaderPlugin.lcodpds_dri_load_tags: Load Tags => Boolean:True
        [1]file_readers.LcOdPdsDriLoaderPlugin.lcodpds_dri_load_dsts: Load Display Sets => Boolean:True
        [2]file_readers.LcOdPdsDriLoaderPlugin.lcodpds_dri_input_files: Input Files => NamedConstant:lcodpds_dri_input_files_enum:0(DGN files)
    [2]file_readers.LcNwcLoaderPlugin:lcldasciiscan: ASCII Laser|LcNwcLoaderPlugin:lcldasciiscan(|eFLAG_ORDERED)
        [0]file_readers.LcNwcLoaderPlugin:lcldasciiscan.lcldasciiscan_param_sample_rate: Sample rate, 1 in => Int32:4
        [1]file_readers.LcNwcLoaderPlugin:lcldasciiscan.lcldasciiscan_param_intensity: Use point intensity values => Boolean:False
        [2]file_readers.LcNwcLoaderPlugin:lcldasciiscan.lcldasciiscan_param_color: Use point color values => Boolean:False
    [3]file_readers.LcNwcLoaderPlugin:lcldfeacis2: CIS/2|LcNwcLoaderPlugin:lcldfeacis2(|257)
        [0]file_readers.LcNwcLoaderPlugin:lcldfeacis2.faceting_factor: Faceting Factor => Double:1
        [1]file_readers.LcNwcLoaderPlugin:lcldfeacis2.max_facet_deviation: Max Facet Deviation => DoubleLength:0
        [2]file_readers.LcNwcLoaderPlugin:lcldfeacis2.convert_features: Convert Features => Boolean:True
        [3]file_readers.LcNwcLoaderPlugin:lcldfeacis2.rect_for_unknown_sections: Convert Unknown Section Into Rectangle => Boolean:True
        [4]file_readers.LcNwcLoaderPlugin:lcldfeacis2.detailed_results: Detailed Results => Boolean:False
        [5]file_readers.LcNwcLoaderPlugin:lcldfeacis2.large_file_size_threshold: Large File Size Threshold (MB) => Double:36
    [4]file_readers.LcNwcLoaderPlugin:lclddgn: DGN|LcNwcLoaderPlugin:lclddgn(|257)
        [0]file_readers.LcNwcLoaderPlugin:lclddgn.lclddgn8_param_faceting_factor: Faceting Factor((eFLAG_LOCAL_NAME) => Double:1
        [1]file_readers.LcNwcLoaderPlugin:lclddgn.lclddgn8_param_max_facet_deviation: Max Facet Deviation((eFLAG_LOCAL_NAME) => DoubleLength:0
        [2]file_readers.LcNwcLoaderPlugin:lclddgn.lclddgn8_param_convert_hidden_items: Convert Hidden Items((eFLAG_LOCAL_NAME) => Boolean:False
        [3]file_readers.LcNwcLoaderPlugin:lclddgn.lclddgn8_param_show_hidden_items: Show Hidden Items((eFLAG_LOCAL_NAME) => Boolean:False
        [4]file_readers.LcNwcLoaderPlugin:lclddgn.lclddgn8_param_load_lines: Convert Lines and Arcs((eFLAG_LOCAL_NAME) => Boolean:True
        [5]file_readers.LcNwcLoaderPlugin:lclddgn.lclddgn8_param_merge_lines: Merge Lines and Arcs((eFLAG_LOCAL_NAME) => Boolean:True
        [6]file_readers.LcNwcLoaderPlugin:lclddgn.lclddgn8_param_split_lines: Split Lines((eFLAG_LOCAL_NAME) => Boolean:False
        [7]file_readers.LcNwcLoaderPlugin:lclddgn.lclddgn8_param_load_text: Convert Text((eFLAG_LOCAL_NAME) => Boolean:True
        [8]file_readers.LcNwcLoaderPlugin:lclddgn.lclddgn8_param_default_font: Default Font((eFLAG_LOCAL_NAME) => DisplayString:Courier New
        [9]file_readers.LcNwcLoaderPlugin:lclddgn.lclddgn8_param_shape_merge_threshold: Shape Merge Threshold((eFLAG_LOCAL_NAME) => Int32:4
        [10]file_readers.LcNwcLoaderPlugin:lclddgn.lclddgn8_param_load_references: Convert References((eFLAG_LOCAL_NAME) => Boolean:True
        [11]file_readers.LcNwcLoaderPlugin:lclddgn.lclddgn8_param_ignore_unres_refs: Ignore Unres. References((eFLAG_LOCAL_NAME) => Boolean:False
        [12]file_readers.LcNwcLoaderPlugin:lclddgn.lclddgn8_param_align_global_origins: Align Global Origins((eFLAG_LOCAL_NAME) => Boolean:True
        [13]file_readers.LcNwcLoaderPlugin:lclddgn.lclddgn8_param_use_level_symbology: Use Level Symbology((eFLAG_LOCAL_NAME) => Boolean:False
        [14]file_readers.LcNwcLoaderPlugin:lclddgn.lclddgn8_param_use_materials: Use Materials((eFLAG_LOCAL_NAME) => Boolean:True
        [15]file_readers.LcNwcLoaderPlugin:lclddgn.lclddgn8_param_material_search_paths: Material Search Paths((eFLAG_LOCAL_NAME) => DisplayString:C:\Bentley\Workspace\system\materials;C:\Program Files\Bentley\Workspace\system\materials;C:\Program Files\Bentley\Workspace\standards\materials
        [16]file_readers.LcNwcLoaderPlugin:lclddgn.lclddgn8_param_convert_pds: Convert PDS Data((eFLAG_LOCAL_NAME) => Boolean:True
        [17]file_readers.LcNwcLoaderPlugin:lclddgn.lclddgn8_param_convert_tricad: Convert TriCAD Data((eFLAG_LOCAL_NAME) => Boolean:True
        [18]file_readers.LcNwcLoaderPlugin:lclddgn.lclddgn8_param_convert_triforma: Convert TriForma Data((eFLAG_LOCAL_NAME) => Boolean:True
        [19]file_readers.LcNwcLoaderPlugin:lclddgn.lclddgn8_param_triforma_catalogs_search_path: TriForma Dataset Search Paths((eFLAG_LOCAL_NAME) => DisplayString:C:\Bentley\Workspace\triforma\refdata\english\dataset;C:\Bentley\Workspace\triforma\refdata\metric\dataset;C:\Program Files\Bentley\Workspace\TriForma\tf_imperial;C:\Program Files\Bentley\Workspace\TriForma\tf_si
        [20]file_readers.LcNwcLoaderPlugin:lclddgn.lclddgn8_param_view_number: View Number((eFLAG_LOCAL_NAME) => Int32:0
        [21]file_readers.LcNwcLoaderPlugin:lclddgn.lclddgn8_param_load_via_atf: Use Beta File Loader((eFLAG_LOCAL_NAME) => Boolean:False
    [5]file_readers.LcNwcLoaderPlugin:lclddwf: DWF|LcNwcLoaderPlugin:lclddwf(|eFLAG_ORDERED)
        [0]file_readers.LcNwcLoaderPlugin:lclddwf.lclddwf_param_faceting_factor: Faceting Factor in 3D Models => Double:1
        [1]file_readers.LcNwcLoaderPlugin:lclddwf.lclddwf_param_max_facet_deviation: Max Facet Deviation in 3D Models => DoubleLength:0
    [6]file_readers.LcNwcLoaderPlugin:lclddwg: DWG/DXF|LcNwcLoaderPlugin:lclddwg(|257)
        [0]file_readers.LcNwcLoaderPlugin:lclddwg.faceting_factor: Faceting Factor => Double:10
        [1]file_readers.LcNwcLoaderPlugin:lclddwg.max_facet_deviation: Max Facet Deviation => Double:0
        [2]file_readers.LcNwcLoaderPlugin:lclddwg.split_by_color: Split by Color => Boolean:False
        [3]file_readers.LcNwcLoaderPlugin:lclddwg.def_dec_units: Default Decimal Units => NamedConstant:LcOaUnitLinearEnum:2(Millimeters)
        [4]file_readers.LcNwcLoaderPlugin:lclddwg.merge_faces: Merge 3D Faces => Boolean:False
        [5]file_readers.LcNwcLoaderPlugin:lclddwg.line_processing: Line Processing => NamedConstant:lclddwg_line_processing:0(As Provided)
        [6]file_readers.LcNwcLoaderPlugin:lclddwg.convert_off: Convert Off => Boolean:False
        [7]file_readers.LcNwcLoaderPlugin:lclddwg.convert_frozen: Convert Frozen => Boolean:False
        [8]file_readers.LcNwcLoaderPlugin:lclddwg.convert_entity_handles: Convert Entity Handles => Boolean:True
        [9]file_readers.LcNwcLoaderPlugin:lclddwg.convert_groups: Convert Groups => Boolean:True
        [10]file_readers.LcNwcLoaderPlugin:lclddwg.convert_xrefs: Convert XRefs => Boolean:True
        [11]file_readers.LcNwcLoaderPlugin:lclddwg.merge_xref_layers: Merge XRef Layers => Boolean:True
        [12]file_readers.LcNwcLoaderPlugin:lclddwg.convert_views: Convert Views => Boolean:True
        [13]file_readers.LcNwcLoaderPlugin:lclddwg.convert_points: Convert Points => Boolean:True
        [14]file_readers.LcNwcLoaderPlugin:lclddwg.convert_lines: Convert Lines => Boolean:True
        [15]file_readers.LcNwcLoaderPlugin:lclddwg.convert_snap_points: Convert Snap Points => Boolean:True
        [16]file_readers.LcNwcLoaderPlugin:lclddwg.convert_text: Convert Text => Boolean:True
        [17]file_readers.LcNwcLoaderPlugin:lclddwg.default_font: Default Font => DisplayString:Courier New
        [18]file_readers.LcNwcLoaderPlugin:lclddwg.convert_point_cloud: Convert Point Clouds => Boolean:False
        [19]file_readers.LcNwcLoaderPlugin:lclddwg.point_cloud_detail: Point Cloud Detail (%) => Int32:100
        [20]file_readers.LcNwcLoaderPlugin:lclddwg.point_cloud_colors: Use Point Cloud Colors => Boolean:True
        [21]file_readers.LcNwcLoaderPlugin:lclddwg.use_standard_disp_cfg_adt: Use ADT Standard Configuration => Boolean:True
        [22]file_readers.LcNwcLoaderPlugin:lclddwg.convert_adt_space_objects: Convert Hidden ADT Spaces => Boolean:False
        [23]file_readers.LcNwcLoaderPlugin:lclddwg.material_search_paths: Material Search Paths => DisplayString:C:\Program Files (x86)\Common Files\Autodesk Shared\Materials\2020
        [24]file_readers.LcNwcLoaderPlugin:lclddwg.render_setting: Render Type => NamedConstant:lclddwg_render_type:0(Automatic)
        [25]file_readers.LcNwcLoaderPlugin:lclddwg.advanced: Convert Object Properties|advanced(|eFLAG_ORDERED)
            [0]file_readers.LcNwcLoaderPlugin:lclddwg.advanced.LcAcDbxAutoCadProperty: AutoCAD => Boolean:True
            [1]file_readers.LcNwcLoaderPlugin:lclddwg.advanced.LcAcADT: Architectural Desktop => Boolean:True
            [2]file_readers.LcNwcLoaderPlugin:lclddwg.advanced.LcAcCivil3D: Civil3D => Boolean:True
            [3]file_readers.LcNwcLoaderPlugin:lclddwg.advanced.LcAcBSLink: BSLink => Boolean:True
            [4]file_readers.LcNwcLoaderPlugin:lclddwg.advanced.LcAcRebis: Bentley AutoPlant => Boolean:True
            [5]file_readers.LcNwcLoaderPlugin:lclddwg.advanced.LcAcCADPipe: CADPipe => Boolean:True
            [6]file_readers.LcNwcLoaderPlugin:lclddwg.advanced.LcAcCADWorx: CADWorx => Boolean:True
            [7]file_readers.LcNwcLoaderPlugin:lclddwg.advanced.LcAcElcoCad: elcoCAD => Boolean:True
            [8]file_readers.LcNwcLoaderPlugin:lclddwg.advanced.LcAcMultiSteel: MultiSteel => Boolean:True
            [9]file_readers.LcNwcLoaderPlugin:lclddwg.advanced.LcAcRevit: Revit => Boolean:True
            [10]file_readers.LcNwcLoaderPlugin:lclddwg.advanced.LcAcZiggurat: Ziggurat => Boolean:True
        [26]file_readers.LcNwcLoaderPlugin:lclddwg.convert_autodesk_material: Convert Autodesk Material => Boolean:False
        [27]file_readers.LcNwcLoaderPlugin:lclddwg.perform_extra_smoothing:  => Boolean:True
    [7]file_readers.LcNwcLoaderPlugin:lcldiqv: Faro|LcNwcLoaderPlugin:lcldiqv(|eFLAG_ORDERED)
        [0]file_readers.LcNwcLoaderPlugin:lcldiqv.lcldiqv_param_point_color: Point colors: => NamedConstant:lcldiqv_EPointColor:2(Color)
    [8]file_readers.LcNwcLoaderPlugin:lcldfbx: FBX|LcNwcLoaderPlugin:lcldfbx(|257)
        [0]file_readers.LcNwcLoaderPlugin:lcldfbx.faceting_factor: Faceting Factor => Double:1
        [1]file_readers.LcNwcLoaderPlugin:lcldfbx.max_facet_deviation: Max Facet Deviation => DoubleLength:0
        [2]file_readers.LcNwcLoaderPlugin:lcldfbx.convert_skeleton: Convert Skeletons => Boolean:True
        [3]file_readers.LcNwcLoaderPlugin:lcldfbx.convert_light: Convert Lights => Boolean:True
        [4]file_readers.LcNwcLoaderPlugin:lcldfbx.convert_autodesk_materials: Convert Autodesk Materials => Boolean:True
    [9]file_readers.LcNwcLoaderPlugin:lcldfeaifc: IFC|LcNwcLoaderPlugin:lcldfeaifc(|257)
        [0]file_readers.LcNwcLoaderPlugin:lcldfeaifc.faceting_factor: Faceting Factor => Double:1
        [1]file_readers.LcNwcLoaderPlugin:lcldfeaifc.max_facet_deviation: Max Facet Deviation => DoubleLength:0
        [2]file_readers.LcNwcLoaderPlugin:lcldfeaifc.show_spatial_hierarchy: Show Spatial Hierarchy => Boolean:True
        [3]file_readers.LcNwcLoaderPlugin:lcldfeaifc.convert_bounding_boxes: Convert Bounding Boxes => Boolean:False
        [4]file_readers.LcNwcLoaderPlugin:lcldfeaifc.convert_spaces: Convert Spaces => Boolean:False
        [5]file_readers.LcNwcLoaderPlugin:lcldfeaifc.use_property_based_colours: Use Property-Based Colors => Boolean:True
        [6]file_readers.LcNwcLoaderPlugin:lcldfeaifc.detailed_results: Detailed Results => Boolean:False
        [7]file_readers.LcNwcLoaderPlugin:lcldfeaifc.disable_csg: Disable CSG => Boolean:False
        [8]file_readers.LcNwcLoaderPlugin:lcldfeaifc.level_of_details: Representation Detail => NamedConstant:lcldifc_rep_lod:1(Show Highest)
        [9]file_readers.LcNwcLoaderPlugin:lcldfeaifc.large_file_size_threshold: Large File Size Threshold (MB) => Double:36
        [10]file_readers.LcNwcLoaderPlugin:lcldfeaifc.Load_via_rce: Revit IFC => Boolean:True
    [10]file_readers.LcNwcLoaderPlugin:lcldinv: Inventor|LcNwcLoaderPlugin:lcldinv(|eFLAG_ORDERED)
        [0]file_readers.LcNwcLoaderPlugin:lcldinv.lcldinv_project: Active Project => DisplayString:
        [1]file_readers.LcNwcLoaderPlugin:lcldinv.lcldinv_convert_work_surfaces: Convert Work Surfaces => Boolean:True
        [2]file_readers.LcNwcLoaderPlugin:lcldinv.lcldinv_load_with_lod: Load assembly with last active representation => Boolean:False
        [3]file_readers.LcNwcLoaderPlugin:lcldinv.lcldinv_express_mode: Express Mode => Boolean:True
        [4]file_readers.LcNwcLoaderPlugin:lcldinv.lcldinv_convert_autodesk_materials: Convert Autodesk Materials => Boolean:True
        [5]file_readers.LcNwcLoaderPlugin:lcldinv.lcldinv_convert_point_cloud: Convert Point Cloud => Boolean:True
    [11]file_readers.LcNwcLoaderPlugin:lcldjtopenatf: JTOpenATF|LcNwcLoaderPlugin:lcldjtopenatf(|257)
        [0]file_readers.LcNwcLoaderPlugin:lcldjtopenatf.lcldjtopenatf_brep: Retriangulate JT BRep Models((eFLAG_LOCAL_NAME) => Boolean:False
        [1]file_readers.LcNwcLoaderPlugin:lcldjtopenatf.lcldjtopenatf_lod_mode: Quality((eFLAG_LOCAL_NAME) => NamedConstant:lcldjtopenatf_lod_enum:0(High)
    [12]file_readers.LcNwcLoaderPlugin:lcldleica: Leica|LcNwcLoaderPlugin:lcldleica(|eFLAG_ORDERED)
        [0]file_readers.LcNwcLoaderPlugin:lcldleica.lcldleica_param_sample_rate: Sample rate, 1 in => Int32:4
        [1]file_readers.LcNwcLoaderPlugin:lcldleica.lcldleica_param_point_color: Point colors: => NamedConstant:lcldleica_EPointColor:0(None)
        [2]file_readers.LcNwcLoaderPlugin:lcldleica.lcldleica_param_gamma_correction: Gamma Correction Level => Double:0.45
    [13]file_readers.LcNwcLoaderPlugin:lcldparasolid: Parasolid|LcNwcLoaderPlugin:lcldparasolid(|257)
        [0]file_readers.LcNwcLoaderPlugin:lcldparasolid.faceting_factor: Faceting Factor => Double:1
        [1]file_readers.LcNwcLoaderPlugin:lcldparasolid.max_facet_deviation: Max Facet Deviation => DoubleLength:0
        [2]file_readers.LcNwcLoaderPlugin:lcldparasolid.scale: Scale => Double:100
        [3]file_readers.LcNwcLoaderPlugin:lcldparasolid.units: Default Units => NamedConstant:LcOaUnitLinearEnum:2(Millimeters)
    [14]file_readers.LcNwcLoaderPlugin:lcldpdf: PDF|LcNwcLoaderPlugin:lcldpdf(|eFLAG_ORDERED)
        [0]file_readers.LcNwcLoaderPlugin:lcldpdf.lcldpdf_param_dpi_setting: Resolution => Int32:300
    [15]file_readers.LcNwcLoaderPlugin:lcldrc: ReCap|LcNwcLoaderPlugin:lcldrc(|257)
        [0]file_readers.LcNwcLoaderPlugin:lcldrc.lcldrc_convert_mode: Conversion Mode((eFLAG_LOCAL_NAME) => NamedConstant:lcldrc_convert_enum:2(Voxels)
        [1]file_readers.LcNwcLoaderPlugin:lcldrc.lcldrc_max_interactive_points: Max Interactive Points((eFLAG_LOCAL_NAME) => Int32:500000
        [2]file_readers.LcNwcLoaderPlugin:lcldrc.lcldrc_max_memory_mb: Max Memory (MB)((eFLAG_LOCAL_NAME) => Int32:0
        [3]file_readers.LcNwcLoaderPlugin:lcldrc.lcldrc_point_cloud_density_percent: Point Cloud Density (%)((eFLAG_LOCAL_NAME) => Int32:100
        [4]file_readers.LcNwcLoaderPlugin:lcldrc.lcldrc_average_distance: Distance Between Points((eFLAG_LOCAL_NAME) => DoubleLength:0
        [5]file_readers.LcNwcLoaderPlugin:lcldrc.lcldrc_scale_interactive_point_size: Scale Interactive Point Size((eFLAG_LOCAL_NAME) => Boolean:True
        [6]file_readers.LcNwcLoaderPlugin:lcldrc.lcldrc_interactive_point_size: Max Interactive Point Size((eFLAG_LOCAL_NAME) => Int32:8
        [7]file_readers.LcNwcLoaderPlugin:lcldrc.lcldrc_use_lighting: Apply Lighting((eFLAG_LOCAL_NAME) => Boolean:False
        [8]file_readers.LcNwcLoaderPlugin:lcldrc.lcldrc_publish_embed_mode: On Publish Embed XRefs((eFLAG_LOCAL_NAME) => NamedConstant:lcldrc_publish_embed_enum:1(Fast Access)
    [16]file_readers.LcNwcLoaderPlugin:lcldrevit: Revit|LcNwcLoaderPlugin:lcldrevit(|257)
        [0]file_readers.LcNwcLoaderPlugin:lcldrevit.export_element_params: Convert element parameters => NamedConstant:lcldrevit_export_element_params:2(All)
        [1]file_readers.LcNwcLoaderPlugin:lcldrevit.export_element_ids: Convert element Ids => Boolean:True
        [2]file_readers.LcNwcLoaderPlugin:lcldrevit.find_missing_materials: Try and find missing materials => Boolean:True
        [3]file_readers.LcNwcLoaderPlugin:lcldrevit.use_shared_coordinates: Coordinates => NamedConstant:lcldrevit_use_shared_coordinates:1(Shared)
        [4]file_readers.LcNwcLoaderPlugin:lcldrevit.export_element_generic_properties: Convert element properties => Boolean:False
        [5]file_readers.LcNwcLoaderPlugin:lcldrevit.export_lights: Convert lights => Boolean:False
        [6]file_readers.LcNwcLoaderPlugin:lcldrevit.export_urls: Convert URLs => Boolean:True
        [7]file_readers.LcNwcLoaderPlugin:lcldrevit.export_linked_files: Convert linked Revit files => Boolean:False
        [8]file_readers.LcNwcLoaderPlugin:lcldrevit.export_linked_cad_formats: Convert linked CAD formats => Boolean:True
        [9]file_readers.LcNwcLoaderPlugin:lcldrevit.export_construction_parts: Convert construction parts => Boolean:False
        [10]file_readers.LcNwcLoaderPlugin:lcldrevit.divide_file_into_levels: Divide File into Levels => Boolean:True
        [11]file_readers.LcNwcLoaderPlugin:lcldrevit.export_room_geometry: Convert room geometry => Boolean:True
        [12]file_readers.LcNwcLoaderPlugin:lcldrevit.export_room_attribute: Convert room as attribute => Boolean:True
        [13]file_readers.LcNwcLoaderPlugin:lcldrevit.extract_section: Convert => NamedConstant:lcldrevit_extract_section:0(Navisworks view)
        [14]file_readers.LcNwcLoaderPlugin:lcldrevit.faceting_factor: Faceting Factor => Double:1
    [17]file_readers.LcNwcLoaderPlugin:lcldrvm: RVM|LcNwcLoaderPlugin:lcldrvm(|eFLAG_ORDERED)
        [0]file_readers.LcNwcLoaderPlugin:lcldrvm.lcldrvm_facet_factor: Faceting factor => Double:1
        [1]file_readers.LcNwcLoaderPlugin:lcldrvm.lcldrvm_param_max_facet_deviation: Max Facet Deviation => DoubleLength:0
        [2]file_readers.LcNwcLoaderPlugin:lcldrvm.lcldrvm_convert_attributes: Convert attributes => Boolean:True
        [3]file_readers.LcNwcLoaderPlugin:lcldrvm.lcldrvm_search_all_attribs: Search all attribute files => Boolean:False
        [4]file_readers.LcNwcLoaderPlugin:lcldrvm.lcldrvm_attrib_file_extns: Attribute file extensions => DisplayString:*.ATT; *.ATTRIB; *.TXT
        [5]file_readers.LcNwcLoaderPlugin:lcldrvm.lcldrvm_calc_texture_coords: Generate texture coordinates => Boolean:False
        [6]file_readers.LcNwcLoaderPlugin:lcldrvm.lcldrvm_keep_empty_groups: Keep empty groups => Boolean:False
        [7]file_readers.LcNwcLoaderPlugin:lcldrvm.lcldrvm_load_rvs_files: Load RVS file => Boolean:True
        [8]file_readers.LcNwcLoaderPlugin:lcldrvm.lcldrvm_rvs_trans_mat: RVS transparencies as materials => Boolean:False
        [9]file_readers.LcNwcLoaderPlugin:lcldrvm.lcldrvm_convert_origins: Convert Origins => Boolean:False
        [10]file_readers.LcNwcLoaderPlugin:lcldrvm.lcldrvm_convert_2d: Convert Zero-Thickness Solids => Boolean:True
        [11]file_readers.LcNwcLoaderPlugin:lcldrvm.lcldrvm_convert_lines: Convert Lines => Boolean:True
    [18]file_readers.LcNwcLoaderPlugin:lcldacis: SAT|LcNwcLoaderPlugin:lcldacis(|257)
        [0]file_readers.LcNwcLoaderPlugin:lcldacis.faceting_factor: Faceting Factor => Double:1
        [1]file_readers.LcNwcLoaderPlugin:lcldacis.max_facet_deviation: Max Facet Deviation => DoubleLength:0
        [2]file_readers.LcNwcLoaderPlugin:lcldacis.units: Default Units => NamedConstant:LcOaUnitLinearEnum:2(Millimeters)
    [19]file_readers.LcNwcLoaderPlugin:lcldstl: STL|LcNwcLoaderPlugin:lcldstl(|eFLAG_ORDERED)
        [0]file_readers.LcNwcLoaderPlugin:lcldstl.lcldstl_default_units: Default Units => NamedConstant:LcOaUnitLinearEnum:0(Meters)
        [1]file_readers.LcNwcLoaderPlugin:lcldstl.lcldstl_override_normals: Override Normals => Boolean:False
    [20]file_readers.LcNwcLoaderPlugin:lcldvrml: VRML|LcNwcLoaderPlugin:lcldvrml(|257)
        [0]file_readers.LcNwcLoaderPlugin:lcldvrml.faceting_factor: Faceting Factor => Double:1
        [1]file_readers.LcNwcLoaderPlugin:lcldvrml.max_facet_deviation: Max Facet Deviation => DoubleLength:0
        [2]file_readers.LcNwcLoaderPlugin:lcldvrml.override_normals: Override Normals => Boolean:False
        [3]file_readers.LcNwcLoaderPlugin:lcldvrml.override_orientation: Override Orientation => Boolean:False
        [4]file_readers.LcNwcLoaderPlugin:lcldvrml.override_switches: Override Switch Statements => Boolean:False
        [5]file_readers.LcNwcLoaderPlugin:lcldvrml.default_units: Default Units => NamedConstant:LcOaUnitLinearEnum:0(Meters)
[6]export: Export|export
    [0]export.lcodpexjpg: lcodpexjpg|lcodpexjpg
        [0]export.lcodpexjpg.smoothing:  => Int32:0
        [1]export.lcodpexjpg.compression:  => Int32:15
    [1]export.lcodpexpng: lcodpexpng|lcodpexpng
        [0]export.lcodpexpng.interlaced:  => Boolean:False
        [1]export.lcodpexpng.compress_level:  => Int32:6
    [2]export.lcodpimage: lcodpimage|lcodpimage
        [0]export.lcodpimage.width:  => Int32:2560
        [1]export.lcodpimage.height:  => Int32:3582
        [2]export.lcodpimage.lastdir:  => DisplayString:D:\Idigo\R&D\Software\Peekee\plugin-ongoing\samples\models\P30\(NIU)
        [3]export.lcodpimage.renderer:  => NamedConstant:lcodpopengl(lcodpopengl)
        [4]export.lcodpimage.aa_level:  => NamedConstant:LcOmImageExportSettingsAALevel:4(16)
        [5]export.lcodpimage.format:  => NamedConstant:lcodpexpng(lcodpexpng)
    [3]export.lcodpanim: lcodpanim|lcodpanim
        [0]export.lcodpanim.width:  => Int32:256
        [1]export.lcodpanim.height:  => Int32:256
        [2]export.lcodpanim.lastdir:  => DisplayString:
        [3]export.lcodpanim.renderer:  => NamedConstant:lcodpopengl(lcodpopengl)
        [4]export.lcodpanim.aa_level:  => NamedConstant:LcOmImageExportSettingsAALevel:0(1)
        [5]export.lcodpanim.format:  => NamedConstant:lcodavi(lcodavi)
        [6]export.lcodpanim.fps:  => Int32:6
        [7]export.lcodpanim.source:  => NamedConstant:lcodpcuranim(lcodpcuranim)

 

 

Main Scientist, Full Stack Developer & When Time Permits Director of IDIGO ► On your marks, Set, Go
Reply
Accepted solutions (1)
5,886 Views
15 Replies
Replies (15)

ulski1
Collaborator
Collaborator

in my code I use to write options changes to registry but perhaps I should do options changes this Alexis way.

0 Likes

alexisDVJML
Collaborator
Collaborator

Love the "Alexis way" wording 😉
My Way, A quite different version and more optimistic then most 😉 
😎

Main Scientist, Full Stack Developer & When Time Permits Director of IDIGO ► On your marks, Set, Go
0 Likes

ulski1
Collaborator
Collaborator
Accepted solution
I'll add a comment //option get set the Alexis way if I use this 🙂

ghensi
Enthusiast
Enthusiast

Hi,

what are the exact references and using statements to make this work?

 

I added Autodesk.Navisworks.Interop.ComAPI.dll, but it seems that the LcUOption* objects are not part of this assembly.

 

I also tried to add Autodesk.Navisworks.ComAPI.dll and Autodesk.Navisworks.Interop.ComAPIAutomation.dll, same result.

 

Am I missing something?

 

Also, does this work outside Navisworks (alongside automation API)?

0 Likes

alexisDVJML
Collaborator
Collaborator

My solution references:
Autodesk.Navisworks.Api : C:\Program Files\Autodesk\Navisworks Manage 2020\Autodesk.Navisworks.Api.dll

Autodesk.Navisworks.ComApi : C:\Program Files\Autodesk\Navisworks Manage 2020\Autodesk.Navisworks.ComApi.dll

Autodesk.Navisworks.Interop.ComApi :  C:\Program Files\Autodesk\Navisworks Manage 2020\Autodesk.Navisworks.Interop.ComApi.dll

 

The source file where I use LcUOptionLock etc. has many using since it includes lots of other methods so can't confirm the minimal set:


using Autodesk.Navisworks.Api;
using Autodesk.Navisworks.Api.Data;
using Autodesk.Navisworks.Api.DocumentParts;
using Autodesk.Navisworks.Api.ComApi;
using Autodesk.Navisworks.Api.Interop;
using Autodesk.Navisworks.Api.Interop.ComApi;

 

LcUOptionLock is defined as shown below:

#region Assembly Autodesk.Navisworks.Api, Version=17.0.1370.44, Culture=neutral, PublicKeyToken=d85e58fa5af9b484
// C:\Program Files\Autodesk\Navisworks Manage 2020\Autodesk.Navisworks.Api.dll
#endregion

using System;
using System.ComponentModel;
using System.Diagnostics.CodeAnalysis;
using Autodesk.Navisworks.Internal.ApiImplementation;

namespace Autodesk.Navisworks.Api.Interop
{
public class LcUOptionLock : NativeHandle
{

...

 

 

Hope this helps

Main Scientist, Full Stack Developer & When Time Permits Director of IDIGO ► On your marks, Set, Go

ghensi
Enthusiast
Enthusiast

Thank you @alexisDVJML !!!

I've mistakenly thought that the  Autodesk.Navisworks.Api.Interop namespace was a part of the Com assembly!

 

I didn't include the reference to the Autodesk.Navisworks.Api assembly because I'm developing an Automation app;

I'll need to create a plugin and launch it from my app.

 

Too bad Navisworks 2020 API reference doesn't mention Autodesk.Navisworks.Api.Interop namespace at all!

 

Thanks again,

have a wonderful day!

0 Likes

garisonm
Explorer
Explorer

Hi! 

I am trying to get/set the global settings for the display units.

I see the individual options "path"

[1]interface: Interface|interface
    [0]interface.disp_units: Display Units|disp_units(|eFLAG_ORDERED)
        [0]interface.disp_units.linear_format: Linear Units => NamedConstant:RoamerGUI_OptionsUnitsLinearFormat:1(Meters)

 

However, I cannot figure out the right method to get/set the value.

I tried the GetValue() method, but I cant seem to figure out the right index and data to call.

But I'm not sure if that is the right method to call, please help!

I'm relatively new to this, so please excuse any obvious oversights.

 

Thanks!

 

This is the code that I have now, same code from @alexisDVJML 

 

static public string GlobalPropertyDisplayUnitsToggle
        {
            get
            {
                LcUOptionSet rootOptions;
                using (LcUOptionLock olock = new LcUOptionLock())
                {
                    rootOptions = LcUOption.GetRoot(olock);
                    
                    VariantData data = new VariantData();
                    return rootOptions.GetValue(?,???);
                }
            }
            set
            {
                LcUOptionSet rootOptions;

                using (LcUOptionLock olock = new LcUOptionLock())
                {
                    rootOptions = LcUOption.GetRoot(olock);
                    rootOptions.SetValue("interface.disp_units.linear_format", value);
                    LcOpRegistry.SaveGlobalOptions();
                }
            }
        }
0 Likes

Paul.W.Kapust
Participant
Participant

I'm trying to do the same as @garisonm by programmatically setting the units.

Or is there a better way to do that using the API?

Does anyone have any input?

0 Likes

alexisDVJML
Collaborator
Collaborator

Sorry for late reply, was working on other stuff past few months

Here an example to Get/Set "model.performance.load.close"
I implement Getter and Setter but you can just write static methods SetXXXX()

I ensure value is saved in the registry but depending on your use case this could not be needed, for example if it's for a specific processing and you don't want to save the changes

	static public class InteropUtils
	{
		static public bool OptionsModelPerformanceLoadClose
		{
			get
			{
				LcUOptionSet rootOptions;

				using (LcUOptionLock olock = new LcUOptionLock())
					rootOptions = LcUOption.GetRoot(olock);
				return rootOptions.GetBoolean("model.performance.load.close");
			}
			set
			{
				LcUOptionSet rootOptions;

				using (LcUOptionLock olock = new LcUOptionLock())
				{
					rootOptions = LcUOption.GetRoot(olock);
					bool current = rootOptions.GetBoolean("model.performance.load.close");
					if (current != value)
					{
						rootOptions.SetBoolean("model.performance.load.close", value);
						LcOpRegistry.SaveGlobalOptions();
					}
				}
			}
		}
	}

 

Main Scientist, Full Stack Developer & When Time Permits Director of IDIGO ► On your marks, Set, Go
0 Likes

kkws467
Participant
Participant

I was referring to your post. By the way, can I know the name of the XML file that indicates the global option path among the sources you posted at the top? And I also want to know the path of the XML file. I want to perform the function by changing the option with the corresponding XML file.

0 Likes

eduardo_salvador02
Enthusiast
Enthusiast

Hello!

I'm having difficulty changing this global Naviswroks option using the API.

I need to enable the "Collision" option and define the "Radius" and "Height" and the "Distance" of the "Third Person".

However, with my current code, it is not changing the values.

Code:

LcUOptionSet rootOptions;

using (LcUOptionLock olock = new LcUOptionLock())
{
rootOptions = LcUOption.GetRoot(olock);
double test = 400;

// Create a VariantData with the value double
VariantData testVariantData = new VariantData(test);

bool current = rootOptions.SetValue("interface.viewpoints.viewer.radius", testVariantData);
LcOpRegistry.SaveGlobalOptions();
}

0 Likes

alexisDVJML
Collaborator
Collaborator

Not Sure. Can't see issue with your code.

What I can suggest:
- use public bool SetFloat(string path, double value) to directly set as double without having to create a variant data
- try public bool SetValue(string path, VariantData data, out string error_msg) and look at error_msg

Hope this helps.

Main Scientist, Full Stack Developer & When Time Permits Director of IDIGO ► On your marks, Set, Go
0 Likes

eduardo_salvador02
Enthusiast
Enthusiast

Good afternoon!

I created this code below that tries to enable the Collision option, but without success, I based it on your previous code.

Can you test in your environment?

Code:

public static class InteropUtils
{
// ... Outras propriedades e métodos ...

public static bool CollisionDetection
{
get
{
LcUOptionSet rootOptions;

using (LcUOptionLock olock = new LcUOptionLock())
rootOptions = LcUOption.GetRoot(olock);
return rootOptions.GetBoolean("interface.viewpoints.viewer.collision_detection");
}
set
{
LcUOptionSet rootOptions;

using (LcUOptionLock olock = new LcUOptionLock())
{
rootOptions = LcUOption.GetRoot(olock);
bool current = rootOptions.GetBoolean("interface.viewpoints.viewer.collision_detection");
if (current != value)
{
rootOptions.SetBoolean("interface.viewpoints.viewer.collision_detection", value);
LcOpRegistry.SaveGlobalOptions();
}
}
}
}
}

InteropUtils.CollisionDetection = true; 


I'm waiting.

alexisDVJML
Collaborator
Collaborator

Sorry but I have no time to test other people code, I'm not working for Autodesk 😉
See my previous suggestions, and track the issue under debugger.

Main Scientist, Full Stack Developer & When Time Permits Director of IDIGO ► On your marks, Set, Go
0 Likes

eduardo_salvador02
Enthusiast
Enthusiast

Hello!
Do you know how can i change the values of Quick Property Definitions? I need to change for always properties and categories.
[0]interface.smart_tags.definitions.: [0]interface.smart_tags.definitions..category: Category => NamedConstant:LcOaNode(Item) [1]interface.smart_tags.definitions..property: Property => NamedConstant:LcOaSceneBaseUserName(Name) [1]interface.smart_tags.definitions.: [0]interface.smart_tags.definitions..category: Category => NamedConstant:LcOaPropOverrideCat(Idigo) [1]interface.smart_tags.definitions..property: Property => NamedConstant:Fluid Code(Fluid Code) [2]interface.smart_tags.definitions.: [0]interface.smart_tags.definitions..category: Category => NamedConstant:LcRevitData_Element(Element) [1]interface.smart_tags.definitions..property: Property => NamedConstant:lcldrevit_parameter_4911058(Pressure Drop) [3]interface.smart_tags.definitions.: [0]interface.smart_tags.definitions..category: Category => NamedConstant:LcRevitData_Element(Element) [1]interface.smart_tags.definitions..property: Property => NamedConstant:lcldrevit_parameter_5085687(Pressure Drop) [4]interface.smart_tags.definitions.: [0]interface.smart_tags.definitions..category: Category => NamedConstant:LcOaPropOverrideCat(Idigo) [1]interface.smart_tags.definitions..property: Property => NamedConstant:Zone(Zone) [5]interface.smart_tags.definitions.: [0]interface.smart_tags.definitions..category: Category => NamedConstant:PDMS(PDMS) [1]interface.smart_tags.definitions..property: Property => NamedConstant:lcldrvm_prop_:clap(:CLAP) [6]interface.smart_tags.definitions.: [0]interface.smart_tags.definitions..category: Category => NamedConstant:LcOaPropOverrideCat(Idigo) [1]interface.smart_tags.definitions..property: Property => NamedConstant:Pipe NPS(Pipe NPS) [7]interface.smart_tags.definitions.: [0]interface.smart_tags.definitions..category: Category => NamedConstant:LcOaPropOverrideCat(Idigo) [1]interface.smart_tags.definitions..property: Property => NamedConstant:Pipe Total OD(Pipe Total OD) [8]interface.smart_tags.definitions.: [0]interface.smart_tags.definitions..category: Category => NamedConstant:LcOaPropOverrideCat(Idigo) [1]interface.smart_tags.definitions..property: Property => NamedConstant:Pipeline(Pipeline) [9]interface.smart_tags.definitions.: [0]interface.smart_tags.definitions..category: Category => NamedConstant:LcOaPropOverrideCat(Idigo) [1]interface.smart_tags.definitions..property: Property => NamedConstant:Pipe Length(Pipe Length) [10]interface.smart_tags.definitions.: [0]interface.smart_tags.definitions..category: Category => NamedConstant:LineStyle(LineStyle) [1]interface.smart_tags.definitions..property: Property => NamedConstant:GraphicsStyleType(GraphicsStyleType) 

0 Likes