Finding Button Action ID

Post questions, comments and feedback to our 3Dconnexion Windows Development Team.

Moderator: Moderators

Post Reply
GrimmTech
Posts: 4
Joined: Wed Nov 17, 2021 9:38 am

Finding Button Action ID

Post by GrimmTech »

Hey,

I'm an end user of TopSolid. I have limited experience with coding/SDK's. My goal is to improve the functionality while using the space mouse by assigning correct images to button app commands. To do this I will be taking TopSolid images for commands such as fillet, extrude, revolve, etc, and assigning them to the correct button ID.

Here is the code I have so far.

Code: Select all

<?xml version="1.0" encoding="utf-8"?><!--
(c) Copyright 3Dconnexion. All rights reserved. 
$Revision: 17343 $
--><AppCfg xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Default="false" CfgFormatVersion="1.3" ThisFileVersion="1.12">
  <CfgProperties>
    <ID>ID_TopSolid</ID>
    <Name>TopSolid</Name>
    <InheritsFromID>ID_Base_Cfg</InheritsFromID>
  </CfgProperties> 
 <AppInfo>
    <Signature>
      <Name>TopSolid</Name>  
    <ExecutableName>TopSolid.exe</ExecutableName><SiOpenAppName>TopSolid</SiOpenAppName>
	<Transport>S80</Transport>
	</Signature>
    <Options>
      <UseSiOpenAppName>true</UseSiOpenAppName>
    </Options>
  </AppInfo>
  <AuthorInfo>
    <DriverVersion>17.7.3.18412</DriverVersion>
    <LastChange>
      <Tool>3DxService.exe</Tool>
      <Version>17.7.3.18412</Version>
      <Date>2021:11:6:27:23:23:52:491</Date>
      <User>Adam</User>
    </LastChange>
    <Created>
      <Tool>3DxService.exe</Tool>
      <Version>17.7.3.18412</Version>
      <Date>2021:11:6:13:4:42:58:680</Date>
      <User>Adam</User>
    </Created>
  </AuthorInfo>
  <Settings>
    <OverallScale>0.19</OverallScale>
  </Settings>
  <Devices>
    
    
    
  <Device><ID>ID_Standard_3D_Mouse</ID><Name>
      </Name><AxisFilter>None</AxisFilter><AxisBank><Name>Default</Name><ID>Default</ID><Axis><Enabled>true</Enabled><Input><ActionID>HIDMultiAxis_X</ActionID><Min>-512</Min><Max>511</Max></Input><Output><ActionID>HIDMultiAxis_X</ActionID><Reversed>true</Reversed></Output></Axis><Axis><Enabled>true</Enabled><Input><ActionID>HIDMultiAxis_Y</ActionID><Min>-512</Min><Max>511</Max></Input><Output><ActionID>HIDMultiAxis_Z</ActionID><Reversed>true</Reversed></Output></Axis><Axis><Enabled>true</Enabled><Input><ActionID>HIDMultiAxis_Z</ActionID><Min>-512</Min><Max>511</Max></Input><Output><ActionID>HIDMultiAxis_Y</ActionID><Scale>1.0000</Scale><Reversed>false</Reversed></Output></Axis><Axis><Enabled>true</Enabled><Input><ActionID>HIDMultiAxis_Rx</ActionID><Min>-512</Min><Max>511</Max></Input><Output><ActionID>HIDMultiAxis_Rx</ActionID><Scale>0.8300</Scale><Reversed>true</Reversed></Output></Axis><Axis><Enabled>true</Enabled><Input><ActionID>HIDMultiAxis_Ry</ActionID><Min>-512</Min><Max>511</Max></Input><Output><ActionID>HIDMultiAxis_Rz</ActionID><Reversed>true</Reversed></Output></Axis><Axis><Enabled>true</Enabled><Input><ActionID>HIDMultiAxis_Rz</ActionID><Min>-512</Min><Max>511</Max></Input><Output><ActionID>HIDMultiAxis_Ry</ActionID><Reversed>false</Reversed></Output></Axis></AxisBank></Device><Device><ID>ID_ProductID_C62B</ID><Name>
      </Name><ButtonBank><Name>STR_DEFAULT_BUTTONBANK</Name><ID>Default</ID><Button><Input><ActionID>HIDButton_13</ActionID></Input><Output><ActionID>Top View</ActionID></Output></Button></ButtonBank></Device><Device><ID>ID_ProductID_C633</ID><Name></Name><ButtonBank><Name>STR_DEFAULT_BUTTONBANK</Name><ID>Default</ID><Button><Input><ActionID>HIDButton_3</ActionID></Input><Output><ActionID>Top View</ActionID></Output></Button><Button><Input><ActionID>LongPressButton_3</ActionID></Input><Output><ActionID>Bottom View</ActionID></Output></Button><Button><Input><ActionID>HIDButton_5</ActionID></Input><Output><ActionID>Right View</ActionID></Output></Button><Button><Input><ActionID>LongPressButton_5</ActionID></Input><Output><ActionID>Left View</ActionID></Output></Button><Button><Input><ActionID>HIDButton_6</ActionID></Input><Output><ActionID>Front View</ActionID></Output></Button><Button><Input><ActionID>LongPressButton_6</ActionID></Input><Output><ActionID>Back View</ActionID></Output></Button><Button><Input><ActionID>HIDButton_11</ActionID></Input><Output><ActionID>Normal To View</ActionID></Output></Button><Button><Input><ActionID>LongPressButton_11</ActionID></Input><Output><ActionID>ISO1</ActionID></Output></Button></ButtonBank><ButtonBank><Name>STR_SHAREDBUTTONBANK_1</Name><ID>ID_SharedButtonBank_1</ID><Button><Input><ActionID>HIDButton_3</ActionID></Input><Output><ActionID>Top View</ActionID></Output></Button><Button><Input><ActionID>LongPressButton_3</ActionID></Input><Output><ActionID>Bottom View</ActionID></Output></Button><Button><Input><ActionID>HIDButton_5</ActionID></Input><Output><ActionID>Right View</ActionID></Output></Button><Button><Input><ActionID>LongPressButton_5</ActionID></Input><Output><ActionID>Left View</ActionID></Output></Button><Button><Input><ActionID>HIDButton_6</ActionID></Input><Output><ActionID>Front View</ActionID></Output></Button><Button><Input><ActionID>LongPressButton_6</ActionID></Input><Output><ActionID>Back View</ActionID></Output></Button><Button><Input><ActionID>HIDButton_11</ActionID></Input><Output><ActionID>Normal To View</ActionID></Output></Button><Button><Input><ActionID>LongPressButton_11</ActionID></Input><Output><ActionID>ISO1</ActionID></Output></Button></ButtonBank></Device></Devices>

  <MacroTable>
    <MacroEntry>
      <ID>Top View</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>17</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Right View</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>15</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Left View</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>F</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Front View</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>9</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Bottom View</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>4</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Back View</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>13</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>ISO1</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>C</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Normal To View</ID>
      <KeyStroke>
        <Key>11</Key>
      </KeyStroke>
    </MacroEntry>
  </MacroTable>
  <ButtonActions xmlns:driver_images="./images/3DxService/">
    <ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Top View</ID>
      <Name>Top View</Name>
      <Image>
        <Source>[driver_images:V3DK_TOP.png]</Source>
      </Image>
    </ButtonAction>
    <ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Right View</ID>
      <Name>Right View</Name>
      <Image>
        <Source>[driver_images:V3DK_RIGHT.png]</Source>
      </Image>
    </ButtonAction>
    <ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Left View</ID>
      <Name>left View</Name>
      <Image>
        <Source>[driver_images:V3DK_LEFT.png]</Source>
      </Image>
    </ButtonAction>
    <ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Front View</ID>
      <Name>Front View</Name>
      <Image>
        <Source>[driver_images:V3DK_FRONT.png]</Source>
      </Image>
    </ButtonAction>
    <ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Bottom View</ID>
      <Name>Bottom View</Name>
      <Image>
        <Source>[driver_images:V3DK_BOTTOM.png]</Source>
      </Image>
    </ButtonAction>
    <ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Back View</ID>
      <Name>Back View</Name>
      <Image>
        <Source>[driver_images:V3DK_BACK.png]</Source>
      </Image>
    </ButtonAction>
    <ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>ISO1</ID>
      <Name>ISO1</Name>
      <Image>
        <Source>[driver_images:V3DK_ISO1.png]</Source>
      </Image>
    </ButtonAction>
    <ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Normal To View</ID>
      <Name>Normal To View</Name>
      <Image>
        <Source>[driver_images:V3DCMD_VIEW_QZ_IN.png]</Source>
      </Image>
    </ButtonAction>
  </ButtonActions>
  <Menus>
    <Executable>3DxPieMenus.exe</Executable>
  </Menus>
</AppCfg>
To get this code I created a macro in TopSolid then mapped the macros within the 3d connexion software. I used the generated .xml file in \AppData\Roaming\3Dconnexion\3DxWare\Cfg as a starting point. I modded that file and put it into C:\Program Files\3Dconnexion\3DxWare\3DxWinCore\Cfg and then deleted the .xml file located in appdata.

My questions:
1. How do I find the "raw" button ID TopSolid uses to do something like changing views. For example in the SolidWorks.xml they have this line of code.

Code: Select all

<ButtonAction Type="AppCommand" xsi:type="ButtonAction_AppCommand">
      <ID>AppCommand_APP_334</ID>
      <Name>Wireframe</Name>
      <AppCmdID>APP_334</AppCmdID>
    </ButtonAction>
I'm assuming "AppCommand_APP_334" is the "raw" button ID for SolidWorks Wireframe action. (Please correct my terminology if I'm wrong. I would like to learn)

2. Within TopSolid I set control+shift+T to change to top view. Within my .xml the T key is defined as <key>17</Key>. Why?

Code: Select all

<MacroEntry>
      <ID>Top View</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>17</Key>
      </KeyStroke>
    </MacroEntry>
3. Is my .xml file structured ok? Is there anything I should clean up in my code?

Any advice is greatly appreciated.
Thanks,
Adam
jwick
Moderator
Moderator
Posts: 3331
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: Finding Button Action ID

Post by jwick »

Hi Adam,

That's a good start. On a quick glance, the general structure appears to be fine. I don't have TopSolid to try it with.

The best way to start with manually adding functionality is to let the GUI write a file for you for the application first. Do this by starting our GUI (3DxSmartUI) while the application is running and make some change (e.g. turn some axes off, then on). It will write a valid starting point.

17 is the hex HID usage ID for the keyboard T key. Don't worry about the values. Let the GUI write the correct value for you.

These AppCommand... are indeed internal SW plugin values. There is no equivalent for TopSolid at the moment.
Your macros should work fine (though they are language specific).

I assume this file doesn't work if you copy it into the Program Files directory. It is missing some entries that are required for that location. There should be no issue with using it from %appdata%.

It is for an older driver version (17.7). There have been some enhancements that could be taken advantage of if you used a more recent driver (17.8).

What happens when you try to use it (from %appdata%)?
GrimmTech
Posts: 4
Joined: Wed Nov 17, 2021 9:38 am

Re: Finding Button Action ID

Post by GrimmTech »

Hey jwick,

Thanks for the reply.

("It will write a valid starting point.") Does it dump the data into the AppData directory?
I took the .XML file from AppData, modified it, put it into the program files directory, then deleted the old AppData file.
The current .xml worked fine in the program files directory. What entries are missing for that location?

("These AppCommand... are indeed internal SW plugin values. There is no equivalent for TopSolid at the moment.") Where could I find the TopSolid equivalent? Is that something I could write a driver or plugin for? If so where can I find a crash course in doing so?
jwick
Moderator
Moderator
Posts: 3331
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: Finding Button Action ID

Post by jwick »

GrimmTech wrote: Mon Dec 06, 2021 11:50 am Hey jwick,

Thanks for the reply.

("It will write a valid starting point.") Does it dump the data into the AppData directory?
I took the .XML file from AppData, modified it, put it into the program files directory, then deleted the old AppData file.
The current .xml worked fine in the program files directory. What entries are missing for that location?
If it worked, I'm not going to argue with that. I assume you started with a file created by the driver. Your file contains different values from what I expect. Perhaps TopSolid has changed some things since last time I heard about them.
GrimmTech wrote: Mon Dec 06, 2021 11:50 am ("These AppCommand... are indeed internal SW plugin values. There is no equivalent for TopSolid at the moment.") Where could I find the TopSolid equivalent? Is that something I could write a driver or plugin for? If so where can I find a crash course in doing so?
Macros are the best way to get running quickly. Asking TopSolid support to add what you want is next best (but you will wait). I hear the name come up occasionally, as if they may be working on something.
Writing a plugin is a massive exercise, unless you get lucky and have some samples for TopSolid that are close to what you want.
GrimmTech
Posts: 4
Joined: Wed Nov 17, 2021 9:38 am

Re: Finding Button Action ID

Post by GrimmTech »

My goal is to create a plugin that maps the correct TopSolid button ID's to the corresponding TopSolid images. Something that I can distribute to my coworkers and fellow TopSolid users.

I am interested in learning and spending the time to make that happen. Can you point me to some resources that will get me started?
jwick
Moderator
Moderator
Posts: 3331
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: Finding Button Action ID

Post by jwick »

Creating a plugin is a massive, months long, project. We have full time developers dedicated to just maintaining a few of them.

You'd have to start with TopSolid and try to get plugin samples from them. If the possibility exists--most apps can do this, not all.
Then use our SDK samples to show how to export icons and strings.

I suggest you follow the macro road you started. You can assign strings and icons to the buttons. To a user, it should appear nearly the same.

And please contact TopSolid tech support to request this feature. It's much easier for them to add this to their existing implementation, than to do it externally--but you have to get in the queue.
GrimmTech
Posts: 4
Joined: Wed Nov 17, 2021 9:38 am

Re: Finding Button Action ID

Post by GrimmTech »

Hey Jwick,

I updated to the newest version and am now getting this error when I place a custom .XML into C:\Program Files\3Dconnexion\3DxWare\3DxWinCore\Cfg

Code: Select all

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at TDx.SmartUi.ViewModel.WriteOverallScale(Double value)
   at TDx.SmartUi.ViewModel.set_OverallScale(Double value)
   at TDx.SmartUi.SpeedSliderControl.OnMouseDown(MouseEventArgs e)
   at System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4420.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
3DxSmartUi
    Assembly Version: 1.2.21341.19032
    Win32 Version: 1.2.21341.19032
    CodeBase: file:///C:/Program%20Files/3Dconnexion/3DxWare/3DxWinCore/3DxSmartUi.exe
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4360.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
PresentationFramework
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4390.0
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/PresentationFramework/v4.0_4.0.0.0__31bf3856ad364e35/PresentationFramework.dll
----------------------------------------
WindowsBase
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4390.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/WindowsBase/v4.0_4.0.0.0__31bf3856ad364e35/WindowsBase.dll
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4390.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
PresentationCore
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4390.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/PresentationCore/v4.0_4.0.0.0__31bf3856ad364e35/PresentationCore.dll
----------------------------------------
System.Xaml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4390.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xaml/v4.0_4.0.0.0__b77a5c561934e089/System.Xaml.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4400.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4390.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4190.0 built by: NET48REL1LAST_B
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
CustomMarshalers
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/CustomMarshalers/v4.0_4.0.0.0__b03f5f7f11d50a3a/CustomMarshalers.dll
----------------------------------------
Accessibility
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
Svg
    Assembly Version: 3.2.0.0
    Win32 Version: 3.2.3.36087
    CodeBase: file:///C:/Program%20Files/3Dconnexion/3DxWare/3DxWinCore/Svg.DLL
----------------------------------------
Fizzler
    Assembly Version: 1.2.0.0
    Win32 Version: 1.2.0.0
    CodeBase: file:///C:/Program%20Files/3Dconnexion/3DxWare/3DxWinCore/Fizzler.DLL
----------------------------------------
netstandard
    Assembly Version: 2.0.0.0
    Win32 Version: 4.8.4084.0
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/netstandard/v4.0_2.0.0.0__cc7b13ffcd2ddd51/netstandard.dll
----------------------------------------
System.Memory
    Assembly Version: 4.0.1.1
    Win32 Version: 4.6.27617.02
    CodeBase: file:///C:/Program%20Files/3Dconnexion/3DxWare/3DxWinCore/System.Memory.DLL
----------------------------------------
System.Runtime.CompilerServices.Unsafe
    Assembly Version: 4.0.4.1
    Win32 Version: 4.6.26919.02
    CodeBase: file:///C:/Program%20Files/3Dconnexion/3DxWare/3DxWinCore/System.Runtime.CompilerServices.Unsafe.DLL
----------------------------------------
System.Runtime
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4084.0
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Runtime.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.


What entries do I need to create a TopSolid "base" .xml
Here is what I have so far using the GUI

Code: Select all

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<AppCfg xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Default="false" CfgFormatVersion="1.3" ThisFileVersion="1.12">
  <AppInfo>
    <Signature>
      <Name>TopSolid</Name>
      <ExecutableName>TopSolid.exe</ExecutableName>
      <SiOpenAppName>TopSolid</SiOpenAppName>
    </Signature>
    <Options>
      <UseSiOpenAppName>true</UseSiOpenAppName>
    </Options>
  </AppInfo>
  <CfgProperties>
    <ID>ID_TopSolid</ID>
    <Name>TopSolid</Name>
    <InheritsFromID>ID_Default_S80_Cfg</InheritsFromID>
  </CfgProperties>
  <Devices>
    <Device>
      <ID>ID_Standard_3D_Mouse</ID>
      <AxisBank>
        <Name>Default</Name>
        <ID>Default</ID>
        <Axis>
          <Enabled>true</Enabled>
          <Input>
            <ActionID>HIDMultiAxis_X</ActionID>
            <Min>-512</Min>
            <Max>511</Max>
          </Input>
          <Output>
            <ActionID>HIDMultiAxis_X</ActionID>
            <Reversed>true</Reversed>
          </Output>
        </Axis>
        <Axis>
          <Enabled>true</Enabled>
          <Input>
            <ActionID>HIDMultiAxis_Y</ActionID>
            <Min>-512</Min>
            <Max>511</Max>
          </Input>
          <Output>
            <ActionID>HIDMultiAxis_Z</ActionID>
            <Reversed>true</Reversed>
          </Output>
        </Axis>
        <Axis>
          <Enabled>true</Enabled>
          <Input>
            <ActionID>HIDMultiAxis_Z</ActionID>
            <Min>-512</Min>
            <Max>511</Max>
          </Input>
          <Output>
            <ActionID>HIDMultiAxis_Y</ActionID>
            <Reversed>false</Reversed>
          </Output>
        </Axis>
        <Axis>
          <Enabled>false</Enabled>
          <Input>
            <ActionID>HIDMultiAxis_Rx</ActionID>
            <Min>-512</Min>
            <Max>511</Max>
          </Input>
          <Output>
            <ActionID>HIDMultiAxis_Rx</ActionID>
            <Scale>0.5500</Scale>
            <Reversed>true</Reversed>
          </Output>
        </Axis>
        <Axis>
          <Enabled>false</Enabled>
          <Input>
            <ActionID>HIDMultiAxis_Ry</ActionID>
            <Min>-512</Min>
            <Max>511</Max>
          </Input>
          <Output>
            <ActionID>HIDMultiAxis_Rz</ActionID>
            <Scale>0.5500</Scale>
            <Reversed>true</Reversed>
          </Output>
        </Axis>
        <Axis>
          <Enabled>false</Enabled>
          <Input>
            <ActionID>HIDMultiAxis_Rz</ActionID>
            <Min>-512</Min>
            <Max>511</Max>
          </Input>
          <Output>
            <ActionID>HIDMultiAxis_Ry</ActionID>
            <Reversed>false</Reversed>
          </Output>
        </Axis>
      </AxisBank>
    </Device>
    <Device>
      <ID>ID_ProductID_C633</ID>
      <ButtonBank Default="true">
        <Name>STR_DEFAULT_BUTTONBANK</Name>
        <ID>Default</ID>
        <Button>
          <Input>
            <ActionID>LongPressButton_5</ActionID>
          </Input>
          <Output>
            <ActionID>Left View</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_5</ActionID>
          </Input>
          <Output>
            <ActionID>Right View</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>LongPressButton_6</ActionID>
          </Input>
          <Output>
            <ActionID>Back View</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_6</ActionID>
          </Input>
          <Output>
            <ActionID>Front View</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>LongPressButton_3</ActionID>
          </Input>
          <Output>
            <ActionID>Bottom View</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_3</ActionID>
          </Input>
          <Output>
            <ActionID>Top View</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_11</ActionID>
          </Input>
          <Output>
            <ActionID>Normal To View</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>LongPressButton_11</ActionID>
          </Input>
          <Output>
            <ActionID>ISO1</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_14</ActionID>
          </Input>
          <Output>
            <ActionID>Elliptical Arc</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_13</ActionID>
          </Input>
          <Output>
            <ActionID>Elipse</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_15</ActionID>
          </Input>
          <Output>
            <ActionID>Rectangle</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_16</ActionID>
          </Input>
          <Output>
            <ActionID>Spline</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_17</ActionID>
          </Input>
          <Output>
            <ActionID>Alignment</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_18</ActionID>
          </Input>
          <Output>
            <ActionID>Centering</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_19</ActionID>
          </Input>
          <Output>
            <ActionID>Coincident</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_20</ActionID>
          </Input>
          <Output>
            <ActionID>Concentricity</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_21</ActionID>
          </Input>
          <Output>
            <ActionID>Equality</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_22</ActionID>
          </Input>
          <Output>
            <ActionID>Fixed</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_77</ActionID>
          </Input>
          <Output>
            <ActionID>Intersection</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_78</ActionID>
          </Input>
          <Output>
            <ActionID>Orientation</ActionID>
          </Output>
        </Button>
      </ButtonBank>
    </Device>
  </Devices>
  <AuthorInfo>
    <DriverVersion>17.8.4.19035</DriverVersion>
    <LastChange>
      <Tool>3DxSmartUI.exe</Tool>
      <Version>1.2.21341.19032</Version>
      <Date>12/11/2021 11:19:46 PM UTC</Date>
      <User>Adam</User>
    </LastChange>
    <Created>
      <Tool>3DxService.exe</Tool>
      <Version>17.8.4.19035</Version>
      <Date>2021:12:6:11:22:21:37:445</Date>
      <User>Adam</User>
    </Created>
  </AuthorInfo>
  <MacroTable>
    <MacroEntry>
      <ID>Left View</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>F</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Right View</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>15</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Back View</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>13</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Front View</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>9</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Bottom View</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>4</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Top View</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>17</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Normal To View</ID>
      <KeyStroke>
        <Key>11</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>ISO1</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>C</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Circle</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>1F</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Chamfer</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>1E</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Contour</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>20</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Fillet</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>21</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Line</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>22</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Point</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>23</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Text</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>24</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Trim</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>25</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Wire Text</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>26</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Constraint</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>14</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Revolve Dimension</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>1A</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Arc</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>8</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Elipse</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>1C</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Elliptical Arc</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>18</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Rectangle</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>7</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Spline</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>A</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Alignment</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Alt</Modifier>
        </Modifiers>
        <Key>1E</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Centering</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Alt</Modifier>
        </Modifiers>
        <Key>1E</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Coincident</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Alt</Modifier>
        </Modifiers>
        <Key>20</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Concentricity</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Alt</Modifier>
        </Modifiers>
        <Key>21</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Equality</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Alt</Modifier>
        </Modifiers>
        <Key>22</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Fixed</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Alt</Modifier>
        </Modifiers>
        <Key>23</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Intersection</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Alt</Modifier>
        </Modifiers>
        <Key>24</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Orientation</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Alt</Modifier>
        </Modifiers>
        <Key>25</Key>
      </KeyStroke>
    </MacroEntry>
  </MacroTable>
  <ButtonActions xmlns:driver_images="C:\Program Files\3Dconnexion\3DxWare\3DxWinCore\Cfg\Images\3DxService">
    <ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Top View</ID>
      <Name>Top View</Name>
      <Image>
        <Source>[driver_images:V3DK_TOP.png]</Source>
      </Image>
    </ButtonAction>
    <ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Right View</ID>
      <Name>Right View</Name>
      <Image>
        <Source>[driver_images:V3DK_RIGHT.png]</Source>
      </Image>
    </ButtonAction>
    <ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Left View</ID>
      <Name>Left View</Name>
      <Image>
        <Source>[driver_images:V3DK_LEFT.png]</Source>
      </Image>
    </ButtonAction>
    <ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Front View</ID>
      <Name>Front View</Name>
      <Image>
        <Source>[driver_images:V3DK_FRONT.png]</Source>
      </Image>
    </ButtonAction>
    <ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Bottom View</ID>
      <Name>Bottom View</Name>
      <Image>
        <Source>[driver_images:V3DK_BOTTOM.png]</Source>
      </Image>
    </ButtonAction>
    <ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Back View</ID>
      <Name>Back View</Name>
      <Image>
        <Source>[driver_images:V3DK_BACK.png]</Source>
      </Image>
    </ButtonAction>
    <ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>ISO1</ID>
      <Name>ISO1</Name>
      <Image>
        <Source>[driver_images:V3DK_ISO1.png]</Source>
      </Image>
    </ButtonAction>
    <ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Normal To View</ID>
      <Name>Normal To View</Name>
      <Image>
        <Source>[driver_images:V3DCMD_VIEW_QZ_IN.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Chamfer</ID>
      <Name>Chamfer</Name>
      <Image>
        <Source>[driver_images:ChamferIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Circle</ID>
      <Name>Circle</Name>
      <Image>
        <Source>[driver_images:CircleIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Contour</ID>
      <Name>Contour</Name>
      <Image>
        <Source>[driver_images:ContourIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Fillet</ID>
      <Name>Fillet</Name>
      <Image>
        <Source>[driver_images:FilletIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Line</ID>
      <Name>Line</Name>
      <Image>
        <Source>[driver_images:LineIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Point</ID>
      <Name>Point</Name>
      <Image>
        <Source>[driver_images:PointIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Text</ID>
      <Name>Text</Name>
      <Image>
        <Source>[driver_images:TextIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Wire Text</ID>
      <Name>Wire Text</Name>
      <Image>
        <Source>[driver_images:WireTextIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Constraint</ID>
      <Name>Constraint</Name>
      <Image>
        <Source>[driver_images:ConstraintIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Revolve Dimension</ID>
      <Name>Revolve Dimension</Name>
      <Image>
        <Source>[driver_images:RevolutionDimensionIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Arc</ID>
      <Name>Arc</Name>
      <Image>
        <Source>[driver_images:ArcIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Trim</ID>
      <Name>Trim</Name>
      <Image>
        <Source>[driver_images:TrimIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Elipse</ID>
      <Name>Elipse</Name>
      <Image>
        <Source>[driver_images:EllipseIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Elliptical Arc</ID>
      <Name>Elliptical Arc</Name>
      <Image>
        <Source>[driver_images:EllipseArcIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Rectangle</ID>
      <Name>Rectangle</Name>
      <Image>
        <Source>[driver_images:RectangleIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Spline</ID>
      <Name>Spline</Name>
      <Image>
        <Source>[driver_images:BSplineIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Alignment</ID>
      <Name>Alignment</Name>
      <Image>
        <Source>[driver_images:AlignmentTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Centering</ID>
      <Name>Centering</Name>
      <Image>
        <Source>[driver_images:CenteringIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Coincident</ID>
      <Name>Coincident</Name>
      <Image>
        <Source>[driver_images:CoincidenceIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Concentricity</ID>
      <Name>Concentricity</Name>
      <Image>
        <Source>[driver_images:ConcentricityIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Equality</ID>
      <Name>Equality Dimension</Name>
      <Image>
        <Source>[driver_images:EqualityIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Fixed</ID>
      <Name>Fixed</Name>
      <Image>
        <Source>[driver_images:FixIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Intersection</ID>
      <Name>Intersection</Name>
      <Image>
        <Source>[driver_images:IntersectionIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Orientation</ID>
      <Name>Orientation</Name>
      <Image>
        <Source>[driver_images:OrientationIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
  </ButtonActions>
  <Settings>
    <OverallScale>0.26</OverallScale>
  </Settings>
</AppCfg>
jwick
Moderator
Moderator
Posts: 3331
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: Finding Button Action ID

Post by jwick »

Give this a try.

I changed the Default value at the top, moved the icons to a TopSolid subdir, removed some unnecessary fields, rearranged the XML and added some categorization of the commands for the UI. This causes some duplication. I have to remind myself how to fix that.

Program Files is not the correct place to put this. Put it in C:\ProgramData\3Dconnexion\3DxWare\Cfg, with your icons relative to that dir.

Code: Select all

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<AppCfg xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Default="true" CfgFormatVersion="1.3" ThisFileVersion="1.0">
  <AppInfo>
    <Signature>
      <Name>TopSolid</Name>
      <ExecutableName>TopSolid.exe</ExecutableName>
    </Signature>
  </AppInfo>
  <CfgProperties>
    <ID>ID_TopSolid</ID>
    <Name>TopSolid</Name>
    <InheritsFromID>ID_Default_S80_Cfg</InheritsFromID>
  </CfgProperties>
  <Settings>
    <OverallScale>0.26</OverallScale>
  </Settings>
  <AuthorInfo>
    <DriverVersion>17.8.4.19035</DriverVersion>
    <LastChange>
      <Tool>3DxSmartUI.exe</Tool>
      <Version>1.2.21341.19032</Version>
      <Date>12/11/2021 11:19:46 PM UTC</Date>
      <User>Adam</User>
    </LastChange>
    <Created>
      <Tool>3DxService.exe</Tool>
      <Version>17.8.4.19035</Version>
      <Date>2021:12:6:11:22:21:37:445</Date>
      <User>Adam</User>
    </Created>
  </AuthorInfo>
  <MacroTable>
    <MacroEntry>
      <ID>Left View</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>F</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Right View</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>15</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Back View</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>13</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Front View</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>9</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Bottom View</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>4</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Top View</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>17</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Normal To View</ID>
      <KeyStroke>
        <Key>11</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>ISO1</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>C</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Circle</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>1F</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Chamfer</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>1E</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Contour</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>20</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Fillet</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>21</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Line</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>22</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Point</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>23</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Text</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>24</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Trim</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>25</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Wire Text</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>26</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Constraint</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>14</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Revolve Dimension</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>1A</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Arc</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>8</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Elipse</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>1C</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Elliptical Arc</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>18</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Rectangle</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>7</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Spline</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Shift</Modifier>
        </Modifiers>
        <Key>A</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Alignment</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Alt</Modifier>
        </Modifiers>
        <Key>1E</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Centering</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Alt</Modifier>
        </Modifiers>
        <Key>1E</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Coincident</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Alt</Modifier>
        </Modifiers>
        <Key>20</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Concentricity</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Alt</Modifier>
        </Modifiers>
        <Key>21</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Equality</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Alt</Modifier>
        </Modifiers>
        <Key>22</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Fixed</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Alt</Modifier>
        </Modifiers>
        <Key>23</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Intersection</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Alt</Modifier>
        </Modifiers>
        <Key>24</Key>
      </KeyStroke>
    </MacroEntry>
    <MacroEntry>
      <ID>Orientation</ID>
      <KeyStroke>
        <Modifiers>
          <Modifier>Control</Modifier>
          <Modifier>Alt</Modifier>
        </Modifiers>
        <Key>25</Key>
      </KeyStroke>
    </MacroEntry>
  </MacroTable>
  <ButtonActions xmlns:driver_images="./images/3DxService/"  xmlns:dts_images="./images/TopSolid/">
    <ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Top View</ID>
      <Name>Top View</Name>
      <Image>
        <Source>[driver_images:V3DK_TOP.png]</Source>
      </Image>
    </ButtonAction>
    <ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Right View</ID>
      <Name>Right View</Name>
      <Image>
        <Source>[driver_images:V3DK_RIGHT.png]</Source>
      </Image>
    </ButtonAction>
    <ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Left View</ID>
      <Name>Left View</Name>
      <Image>
        <Source>[driver_images:V3DK_LEFT.png]</Source>
      </Image>
    </ButtonAction>
    <ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Front View</ID>
      <Name>Front View</Name>
      <Image>
        <Source>[driver_images:V3DK_FRONT.png]</Source>
      </Image>
    </ButtonAction>
    <ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Bottom View</ID>
      <Name>Bottom View</Name>
      <Image>
        <Source>[driver_images:V3DK_BOTTOM.png]</Source>
      </Image>
    </ButtonAction>
    <ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Back View</ID>
      <Name>Back View</Name>
      <Image>
        <Source>[driver_images:V3DK_BACK.png]</Source>
      </Image>
    </ButtonAction>
    <ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>ISO1</ID>
      <Name>ISO1</Name>
      <Image>
        <Source>[driver_images:V3DK_ISO1.png]</Source>
      </Image>
    </ButtonAction>
    <ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Normal To View</ID>
      <Name>Normal To View</Name>
      <Image>
        <Source>[driver_images:V3DCMD_VIEW_QZ_IN.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Chamfer</ID>
      <Name>Chamfer</Name>
      <Image>
        <Source>[ts_images:ChamferIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Circle</ID>
      <Name>Circle</Name>
      <Image>
        <Source>[ts_images:CircleIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Contour</ID>
      <Name>Contour</Name>
      <Image>
        <Source>[ts_images:ContourIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Fillet</ID>
      <Name>Fillet</Name>
      <Image>
        <Source>[ts_images:FilletIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Line</ID>
      <Name>Line</Name>
      <Image>
        <Source>[ts_images:LineIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Point</ID>
      <Name>Point</Name>
      <Image>
        <Source>[ts_images:PointIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Text</ID>
      <Name>Text</Name>
      <Image>
        <Source>[ts_images:TextIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Wire Text</ID>
      <Name>Wire Text</Name>
      <Image>
        <Source>[ts_images:WireTextIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Constraint</ID>
      <Name>Constraint</Name>
      <Image>
        <Source>[ts_images:ConstraintIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Revolve Dimension</ID>
      <Name>Revolve Dimension</Name>
      <Image>
        <Source>[ts_images:RevolutionDimensionIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Arc</ID>
      <Name>Arc</Name>
      <Image>
        <Source>[ts_images:ArcIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Trim</ID>
      <Name>Trim</Name>
      <Image>
        <Source>[ts_images:TrimIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Elipse</ID>
      <Name>Elipse</Name>
      <Image>
        <Source>[ts_images:EllipseIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Elliptical Arc</ID>
      <Name>Elliptical Arc</Name>
      <Image>
        <Source>[ts_images:EllipseArcIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Rectangle</ID>
      <Name>Rectangle</Name>
      <Image>
        <Source>[ts_images:RectangleIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Spline</ID>
      <Name>Spline</Name>
      <Image>
        <Source>[ts_images:BSplineIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Alignment</ID>
      <Name>Alignment</Name>
      <Image>
        <Source>[ts_images:AlignmentTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Centering</ID>
      <Name>Centering</Name>
      <Image>
        <Source>[ts_images:CenteringIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Coincident</ID>
      <Name>Coincident</Name>
      <Image>
        <Source>[ts_images:CoincidenceIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Concentricity</ID>
      <Name>Concentricity</Name>
      <Image>
        <Source>[ts_images:ConcentricityIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Equality</ID>
      <Name>Equality Dimension</Name>
      <Image>
        <Source>[ts_images:EqualityIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Fixed</ID>
      <Name>Fixed</Name>
      <Image>
        <Source>[ts_images:FixIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Intersection</ID>
      <Name>Intersection</Name>
      <Image>
        <Source>[ts_images:IntersectionIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
	<ButtonAction Type="Macro" xsi:type="ButtonAction_Macro">
      <ID>Orientation</ID>
      <Name>Orientation</Name>
      <Image>
        <Source>[ts_images:OrientationIcoTrsp.png]</Source>
      </Image>
    </ButtonAction>
  </ButtonActions>
  <Devices>
    <Device>
      <ID>ID_Standard_3D_Mouse</ID>
      <AxisBank>
        <Name>Default</Name>
        <ID>Default</ID>
        <Axis>
          <Enabled>true</Enabled>
          <Input>
            <ActionID>HIDMultiAxis_X</ActionID>
            <Min>-512</Min>
            <Max>511</Max>
          </Input>
          <Output>
            <ActionID>HIDMultiAxis_X</ActionID>
            <Reversed>true</Reversed>
          </Output>
        </Axis>
        <Axis>
          <Enabled>true</Enabled>
          <Input>
            <ActionID>HIDMultiAxis_Y</ActionID>
            <Min>-512</Min>
            <Max>511</Max>
          </Input>
          <Output>
            <ActionID>HIDMultiAxis_Z</ActionID>
            <Reversed>true</Reversed>
          </Output>
        </Axis>
        <Axis>
          <Enabled>true</Enabled>
          <Input>
            <ActionID>HIDMultiAxis_Z</ActionID>
            <Min>-512</Min>
            <Max>511</Max>
          </Input>
          <Output>
            <ActionID>HIDMultiAxis_Y</ActionID>
            <Reversed>false</Reversed>
          </Output>
        </Axis>
        <Axis>
          <Enabled>false</Enabled>
          <Input>
            <ActionID>HIDMultiAxis_Rx</ActionID>
            <Min>-512</Min>
            <Max>511</Max>
          </Input>
          <Output>
            <ActionID>HIDMultiAxis_Rx</ActionID>
            <Scale>0.5500</Scale>
            <Reversed>true</Reversed>
          </Output>
        </Axis>
        <Axis>
          <Enabled>false</Enabled>
          <Input>
            <ActionID>HIDMultiAxis_Ry</ActionID>
            <Min>-512</Min>
            <Max>511</Max>
          </Input>
          <Output>
            <ActionID>HIDMultiAxis_Rz</ActionID>
            <Scale>0.5500</Scale>
            <Reversed>true</Reversed>
          </Output>
        </Axis>
        <Axis>
          <Enabled>false</Enabled>
          <Input>
            <ActionID>HIDMultiAxis_Rz</ActionID>
            <Min>-512</Min>
            <Max>511</Max>
          </Input>
          <Output>
            <ActionID>HIDMultiAxis_Ry</ActionID>
            <Reversed>false</Reversed>
          </Output>
        </Axis>
      </AxisBank>
    </Device>
    <Device>
      <ID>ID_ProductID_C633</ID>
      <ButtonBank Default="true">
        <Name>STR_DEFAULT_BUTTONBANK</Name>
        <ID>Default</ID>
        <Button>
          <Input>
            <ActionID>LongPressButton_5</ActionID>
          </Input>
          <Output>
            <ActionID>Left View</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_5</ActionID>
          </Input>
          <Output>
            <ActionID>Right View</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>LongPressButton_6</ActionID>
          </Input>
          <Output>
            <ActionID>Back View</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_6</ActionID>
          </Input>
          <Output>
            <ActionID>Front View</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>LongPressButton_3</ActionID>
          </Input>
          <Output>
            <ActionID>Bottom View</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_3</ActionID>
          </Input>
          <Output>
            <ActionID>Top View</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_11</ActionID>
          </Input>
          <Output>
            <ActionID>Normal To View</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>LongPressButton_11</ActionID>
          </Input>
          <Output>
            <ActionID>ISO1</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_14</ActionID>
          </Input>
          <Output>
            <ActionID>Elliptical Arc</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_13</ActionID>
          </Input>
          <Output>
            <ActionID>Elipse</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_15</ActionID>
          </Input>
          <Output>
            <ActionID>Rectangle</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_16</ActionID>
          </Input>
          <Output>
            <ActionID>Spline</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_17</ActionID>
          </Input>
          <Output>
            <ActionID>Alignment</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_18</ActionID>
          </Input>
          <Output>
            <ActionID>Centering</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_19</ActionID>
          </Input>
          <Output>
            <ActionID>Coincident</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_20</ActionID>
          </Input>
          <Output>
            <ActionID>Concentricity</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_21</ActionID>
          </Input>
          <Output>
            <ActionID>Equality</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_22</ActionID>
          </Input>
          <Output>
            <ActionID>Fixed</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_77</ActionID>
          </Input>
          <Output>
            <ActionID>Intersection</ActionID>
          </Output>
        </Button>
        <Button>
          <Input>
            <ActionID>HIDButton_78</ActionID>
          </Input>
          <Output>
            <ActionID>Orientation</ActionID>
          </Output>
        </Button>
      </ButtonBank>
    </Device>
  </Devices>
  <UI>
    <ButtonFlyouts>
      <Category Sort="false">
        <ID>AppCommand</ID>
        <Name>TopSolid</Name>
		<ButtonAction><ID>Top View</ID></ButtonAction>
		<ButtonAction><ID>Right View</ID></ButtonAction>
		<ButtonAction><ID>Left View</ID></ButtonAction>
		<ButtonAction><ID>Front View</ID></ButtonAction>
		<ButtonAction><ID>Bottom View</ID></ButtonAction>
		<ButtonAction><ID>Back View</ID></ButtonAction>
		<ButtonAction><ID>ISO1</ID></ButtonAction>
		<ButtonAction><ID>Normal To View</ID></ButtonAction>
        <ButtonAction><ID>Chamfer</ID></ButtonAction>
		<ButtonAction><ID>Circle</ID></ButtonAction>
		<ButtonAction><ID>Contour</ID></ButtonAction>
		<ButtonAction><ID>Fillet</ID></ButtonAction>
		<ButtonAction><ID>Line</ID></ButtonAction>
		<ButtonAction><ID>Point</ID></ButtonAction>
		<ButtonAction><ID>Text</ID></ButtonAction>
		<ButtonAction><ID>Wire Text</ID></ButtonAction>
		<ButtonAction><ID>Constraint</ID></ButtonAction>
		<ButtonAction><ID>Revolve Dimension</ID></ButtonAction>
		<ButtonAction><ID>Arc</ID></ButtonAction>
		<ButtonAction><ID>Trim</ID></ButtonAction>
		<ButtonAction><ID>Elipse</ID></ButtonAction>
		<ButtonAction><ID>Elliptical Arc</ID></ButtonAction>
		<ButtonAction><ID>Rectangle</ID></ButtonAction>
		<ButtonAction><ID>Spline</ID></ButtonAction>
		<ButtonAction><ID>Alignment</ID></ButtonAction>
		<ButtonAction><ID>Centering</ID></ButtonAction>
		<ButtonAction><ID>Coincident</ID></ButtonAction>
		<ButtonAction><ID>Concentricity</ID></ButtonAction>
		<ButtonAction><ID>Equality</ID></ButtonAction>
		<ButtonAction><ID>Fixed</ID></ButtonAction>
		<ButtonAction><ID>Intersection</ID></ButtonAction>
		<ButtonAction><ID>Orientation</ID></ButtonAction>
      </Category>
    </ButtonFlyouts>
  </UI>

</AppCfg>
Post Reply