Alternative to native 3DConnexion Support

This forum is for users to post tips and tricks they have found useful while working with VCarve Pro
Post Reply
jvosburg
Posts: 4
Joined: Mon Aug 26, 2013 11:39 pm
Model of CNC Machine: Shopbot

Alternative to native 3DConnexion Support

Post by jvosburg »

To those using the 3DConnextion Space Mouse in other apps;

Although native support is a low priority for the Vectric team, I've come across a way to add minimal support via the XML profiles. Perhaps someone knowledgeable can extend this starting point. The file below will add Zoom (equivalent to the mouse scroll wheel) to those with the space mouse. Cut and paste with a text editor into a "vcarvepro.xml" file and place into the c:\users\username\Appdata\Roaming\3Dconnexion\3DWare\Cfg directory. You will have to change the AppInfo Executablename from "VCarveProShopBotEdition.exe" to the non Shopbot exe name. Documentation is more than a bit cryptic to me. Some appears in the in the C:\Program Files\3Dconnexion\3DxWare\3DxWinCore64\Cfg directory as XML files by inspection.

Pushing and pulling on the Space mouse will then Zoom in VCarvePro. Better than nothing and surprising useful. I just wish I could get it to Pan.

------------- Start of File next line -----------

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<AppCfg Default="false" xmlns="" CfgFormatVersion="1.1" ThisFileVersion="1.0">
  <AppInfo>
    <Name>VCARVEPRO</Name>
    <ExecutableName>VCarveProShopBotEdition.exe</ExecutableName>
    <Transport>KMJ</Transport>
  </AppInfo>
  <CfgProperties>
    <InheritsFrom>VCARVEPRO</InheritsFrom>
  </CfgProperties>
  <Settings />
  <Devices>
    <Device>
      <Name>Standard 3D Mouse</Name>
      <VendorID>0</VendorID>
      <ProductID>0</ProductID>
      <InheritsFrom>Standard 3D Mouse</InheritsFrom>
      <AxisFilter>Dominant</AxisFilter>
      <Axis>
        <Enabled>true</Enabled>
        <Input>
          <ActionID>HIDMultiAxis_Rx</ActionID>
          <Min>-512</Min>
          <Max>511</Max>
        </Input>
        <Output>
          <ActionID>HIDMouse_Wheel</ActionID>
          <Reversed>false</Reversed>
        </Output>
      </Axis>
    </Device>
  </Devices>
</AppCfg>
----------- End of File previous line ----------

jvosburg
Posts: 4
Joined: Mon Aug 26, 2013 11:39 pm
Model of CNC Machine: Shopbot

Re: Alternative to native 3DConnexion Support

Post by jvosburg »

I finally spent more time with the Configuration file for the 3DConnexion Space Mouse for VCarve and got it working Ok. I have Pan (X&Y) and Zoom (Z) working in 2D. Also have Pan, Zoom, and Rotation working in 3D. It is not bullet proof, I think the Space Mouse inputs can sometimes overwhelm the application (the "Dominant" Axis filter helps). But at least when I reach for the Space mouse in VCarve something useful happens. Ensure the mouse cursor is within the "2D View" or "3D View" windows when Space Mousing.

I've attached a screen shot of of the 3DConnexion control panel that will appear for this configuration when you click the left side button on the Space mouse (Compact in my case). The "VCarveProNew" title lets you know the configuration was picked up.
Under the Speed column, the upper two icons are Pan X&Y,( pushing the mouse base in X&Y). The 3rd icon is Zoom (mouse up and down). The 4th and 5th icons are Rotation (tilting the mouse in X&Y).

To change the VCarvePro.xml Cfg file;
1. Ensure that you have an existing Cfg file for VCarve. It should be at:
C:\Users\"Your Windows user account"\AppData\Roaming\3Dconnexion\3DxWare\Cfg\VCarvePro.xml
2. You may have to Launch VCarvepro.exe, get VCarve window focus, left click the Space mouse and make a change to the default configuration. Exit the 3DConnexion control panel and VCarve.
3. Replace the existing VCarvePro.xml with the attached new cfg file (changing the extension from .txt to .xml).

That's it.

Note that using the 3DConnexion control panel to make changes (reverse Zoom or Speed) will overwrite the configuration file. Sometimes that seems to work fine, sometimes it will overwrite the axis output definitions and the new config stops working. I've found it more reliable to edit the XML directly with Notepad++.

In summary the config file is mapping Space Mouse inputs to Human Interface Device outputs:
SpaceMouse Axis Input to HID Output with modifiers
HIDMultiAxis_X to HIDMouse_X + MiddleMouse
HIDMultiAxis_Y to HIDMouse_Y + MiddleMouse
HIDMultiAxis_Z to HIDMouse_Wheel (reversed)
HIDMultiAxis_Rx to HIDMouse_Y + LeftMouse
HIDMultiAxis_Ry to HIDMouse_X (reversed) + LeftMouse

Enjoy.
Attachments
VCarvePro.txt
Change to .xml
(3.42 KiB) Downloaded 200 times
3DConnexion Control Panel
3DConnexion Control Panel

jvosburg
Posts: 4
Joined: Mon Aug 26, 2013 11:39 pm
Model of CNC Machine: Shopbot

Re: Alternative to native 3DConnexion Support

Post by jvosburg »

Another 3DConnexion Control Panel screen capture. This one with the Axis icon mapping.
Attachments
3DConnexion Control Panel
3DConnexion Control Panel

User avatar
adze_cnc
Vectric Wizard
Posts: 4303
Joined: Sat Jul 27, 2013 10:08 pm
Model of CNC Machine: AXYZ 4008
Location: Vancouver, BC, Canada

Re: Alternative to native 3DConnexion Support

Post by adze_cnc »

Thanks for this. I'll have a look at it.

One thing I did notice is that the mouse pointer is affected by Space Navigator movement. It also seems that the left mouse button is fired too.

For example: I was panning in the 2D view. The mouse moved out of the 2D area to the left rule. When I moved back a guideline was dragged into the 2D area.

Steven

jvosburg
Posts: 4
Joined: Mon Aug 26, 2013 11:39 pm
Model of CNC Machine: Shopbot

Re: Alternative to native 3DConnexion Support

Post by jvosburg »

Yes. That's my experience too. That is also true in Inkscape and other non native apps I've tried.
I suspect that is because the 3DConnexion driver is mapping the HID functions directly, the OS doesn't know the difference. Native support would be cleaner, but alas.

This isn't full blown support, just to make something useful happen if you're a Space Mouse user anyway and tend to grab the thing. Even though you intellectually know nothing will happen in the unsupported app, the muscle memory will want to use it.

So, the Space Mouse isn't "better" in VCarve, it's just there anyway. I find it better in some other 3D apps.

User avatar
TomWS
Vectric Wizard
Posts: 349
Joined: Sat Mar 06, 2021 11:06 pm
Model of CNC Machine: OB Lead 1010, Mach3; OB C-Beam 1060 grbl

Re: Alternative to native 3DConnexion Support

Post by TomWS »

I stopped using the 3D Connexion mouse about 2 years ago out of frustration due to frequent crashes and having to resinstall the HUGE driver every time I updated one of the applications where I used it. Has it gotten better behaved since then?

User avatar
adze_cnc
Vectric Wizard
Posts: 4303
Joined: Sat Jul 27, 2013 10:08 pm
Model of CNC Machine: AXYZ 4008
Location: Vancouver, BC, Canada

Re: Alternative to native 3DConnexion Support

Post by adze_cnc »

Over the past many years I’ve never had crashes or had to reinstall driver no matter how many updates of compatible programs or Windows versions. Need to recalibrate every once in awhile to satisfy Rhinoceros 3D but that’s trivial.

Not too sure why you’re having such difficulties.

User avatar
TomWS
Vectric Wizard
Posts: 349
Joined: Sat Mar 06, 2021 11:06 pm
Model of CNC Machine: OB Lead 1010, Mach3; OB C-Beam 1060 grbl

Re: Alternative to native 3DConnexion Support

Post by TomWS »

adze_cnc wrote:
Mon Aug 02, 2021 8:40 pm
Not too sure why you’re having such difficulties.
It would not surprise me if it turned out to be my reliance on Intel graphics drivers on all those platforms. But each and every system would have random crashes until I removed the 3D Connexion driver (and mouse).

Ollie
Posts: 28
Joined: Sun Jun 09, 2019 2:34 pm
Model of CNC Machine: Custom built machine using UCCNC

Re: Alternative to native 3DConnexion Support

Post by Ollie »

Hi jvosburg

I would like to get this to work with my vcarve desktop, just pan and zoom would be great as my left hand just assumes it will do it because I am used to the spacemouse and I find it super annoying...

Will I need to edit the txt file to say vcarvedesktop instead of pro or just copy the entire thing in there ?

Cheers

Ollie

ken.gentry
Vectric Apprentice
Posts: 91
Joined: Sat Aug 19, 2017 1:35 am
Model of CNC Machine: Joe's CNC 4x4
Location: Greensboro, NC

Re: Alternative to native 3DConnexion Support

Post by ken.gentry »

I have a 3D mouse and love it with 3D packages that support it. There is no support and to date no known workaround to get 3D mice working. If you figure something out please post here so others can try.

Also let Vectric know your interest. Understandably Vectric has to prioritize feature development. 3D mouse support probably falls low down the priority list.

Ken

Post Reply