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>
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>
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>
Any advice is greatly appreciated.
Thanks,
Adam