Use A 3D Mouse With Eagle CAD

[Sebastian] made a 3D mouse work with Eagle CAD. He was inspired after using a 3DConnexion device to manipulate the views in a copy of Solid Edge 3D CAD modeling software. The system uses the 3D mouse in one hand with the regular mouse in the other.

It turns out that 3DConnecxion offers a lot of tools to get their devices working with your software. [Sebastian] downloaded the .NET example and modified it to read in data from the device. With the use of hot-keys he manages to get zoom, pan, and centering to work (see for yourself after the break). The only drawback to his implementation is that he can’t pan while dragging parts. But that’s just a small issue waiting for you to find a solution.

[youtube=http://www.youtube.com/watch?v=x1NS4ZDU89Q]

29 thoughts on “Use A 3D Mouse With Eagle CAD

  1. I’m sorry but that looks like a clumsy solution for most people. It might work for him just because he is so used to doing things a certain way in CAD, but for me it would not be any help at all. All you have to do for eagle is map a button on your mouse to “pan” (or just use the scroll wheel button) and you’re good to go.

  2. Meanwhile, my normal 2D mouse handles all the degrees of freedom available while affording a much tighter control loop.

    I’m all for nonstandard input…but it should do something.

  3. The motivation for my little project was not to create a practical solution, it is more like a proof of concept. I wanted to show that it is very easy to control an application with a space mouse and send out a message to the developers of Eagle to implement space mouse support in their next release. That would make working with Eagle so much better for me and hopefully for a lot of other people that are used to space mice.

  4. The issue I have with this solution is that I lose my hand on the keyboard where I can quickly type “del” “mov” “rout” “net” etc… to switch functions and not lose my mouse position. The middle mouse button works great for zooming/dragging and F5 centers.

  5. Brennan. Sure, you’re used to doing something one way, so changing to a different way is always going to be slower at first, but that’s like saying walking is faster than riding a bike, because you keep falling off the bike in the beginning.

    For the rest of us that understand that two handed direct manipulation is much quicker, and less error prone than any other method once you get up to speed, I’d like to see more of this kind of thing – how about doing the same for freehand drawing apps like painter or sketchbook pro, but also with the option of page rotation in addition to zoom and pan, to capture smooth arm actions?

    Spork – I agree – the more expensive Spacemouse / Spaceballs have a plethora of configurable buttons that are essential in any software for professional use. I don’t really see why the cheaper (£100) SpaceNavigator has to be designed without buttons, other than for marketing reasons.

    I tried to build something similar to the Magellan/LogiCAD/3DConnexion devices a few years ago, but was using strain gauges, and couldn’t get them to work stably due to thermal drift, and electronics isn’t my area (I’m a Mech Eng). I believe the 3DConnexion devices work optically?

    Anyone (Sebastian or others?) got any good ideas for how to make a cheap 4-axis (2 axis pan, zoom and planar rotate) USB controller? I’m sure it’s dead easy with the hardware available these days?

    I’d be very interested to hear from you…

  6. the BEST way to work in eagle is to use a tablet with a pen. Program the tool hot spots to eagle commands and you are jamming. I just wish I could get a good old fashoned puck based cad tablet working with windows 7 or Linux.. the old 25pin rs232 11X17 tablets input devices kicked the crap out of the junk they sell today.

  7. @MrHacker…

    Export your “paper to a 4 layer board with internal vias and send that file to the board house…

    Your way is good for the N00bs and causal person that does maybe 2 designs a year. Try doing real designs on paper… Aint gonna happen.

  8. The best way to use Eagle is with a scroll mouse (laser, with on-the-fly resolution selection, Razer Copperhead etc). I’ve been using Eagle for about 8 years and have tried various types of mice, Wacom tablet, keyboard only, trackball, touchpad, even a flight stick for laughs.

    One hand on the keyboard, one hand on the mouse…tried and true for virtually all CAD applications, not to mention games. Other input tools are a gimmick.

    Then again, I never play console FPS because aiming with a stick is too alien.

  9. @diago

    I think you misunderstood my argument. I’ll spell it out clear: two-handed manipulation may be the best solution for many programs, but in my experience, it is NOT the best for eagle (which is what this article is all about, incidentally). It has nothing to do with learning curve, I’m sure I would get used to a new system eventually (but why bother in the first place). In eagle you are almost constantly changing tools. Move/copy/delete/add trace/ripup/smash/rename/change grid/etc. and the the fastest way to do all this is with a scrollwheel mouse and keyboard shortcuts. There is no faster way AFAIK. That’s awesome that you and the author want to explore alternate control methods for programs, but I’m saying it won’t matter in eagle when you’re constantly having to switch from two-handed mouse control to keyboard shortcuts, etc.

  10. @Brennan.

    You’re wrong. I fully understood everything you wrote, and you’re now contradicting yourself. Using your left hand on the keyboard *is* two handed control, whichever way you look at it; it’s about making the most of both hands to increase input data rate.

    If you read what I wrote, you’d see that I agree that having direct access to mode buttons is essential, hence the keyboard shortcuts can be mapped to dedicated buttons on the more expensive devices which you don’t have to move your hand for. It’s the same from 2D and 3D CAD work in the same way that it is for Schematic capture and PCB layout.

    The analogy for two handed control is that of a sculptor with a knife in one hand and the clay (or whatever) in the other. Look at use of any other hand tool – usually the non-dominant hand is doing a very important job to support the dominant hand.

    The ergonomic principles are well proven and are as applicable to 6 axis work as to 3 axis work.

    You said “in my experience, it is NOT the best for eagle”. How do you even know?

    Have you even used a 3DConnexion device for something similar to Eagle?

    I use my Spaceball for my 2D Mechanical CAD work, and after 2-3 months use my production rate doubled, and number of mistakes are greatly reduced. Productivity gains are similar for others also, not just myself.

    Why bother in the first place? I already answered this in my previous comment – speed and accuracy for technical work. For creative drawing work it has the added advantage of capturing natural movement.

    If your approach to life is why bother to try new ideas, then why bother reading HAD?!

    @Biozz

    Of course a 2D mouse works fine – if you’re just doing casual work, then it’s not worth buying / learning a 3D Mouse (which is a crap and inaccurate name), but if you’re using it a fair bit, the gains are impressive.

    If it’s a scroll mouse that you use, then you already have a 3rd axis, so you probably do see the point. The point of the 3DConnexion devices is not to substitute the mouse, it’s to augment it.

    ;)

  11. While its true that you need to change tools frequently in eagle (as with most CAD tools ;), you also need to pan and zoom a lot with only one or two tools, for example while routing or placing parts.
    The problem is, that once you have used a space mouse for CAD, you will never go back to not using one (at least for 3D CAD). I work frequently with both 2D CAD, such as eagle, and 3D CAD, and my hand always reaches into the blank spot where I suspect the space mouse when I am using a program that does not support it (or I start to use it, and nothing happens :/).

    Hopefully, someone at Cadsoft will see this proof-of-concept and implement this correctly directly in eagle. Please, Cadsoft, hear us!

  12. When my employer gave me a space ball, it solved a lot of my RSI problems, being able to split my CAD work between moving with my left hand, and drawing with my right. It has the added advantage of being able to do something with the mouse while panning. Being able to pull a slow pan with the left hand, and then be free to meanwhile select objects as they rotate by enabled me to work much faster.

    The office also burns through about 4 of these a month (30 engineers), so I certainly wouldn’t buy one for myself. Get your company to buy you one.

  13. I bought a SpaceExplorer 3D mouse like the one in the post for use with SolidWorks and SolidCAM when I am using my CNC machine and its only $150 shipped and an awesome tool for that use.

    One problem: I have been using it for 4 months and I still drive like a drunken pirate!!

  14. Search for “Spaceball” on eBay. You can pick up second hand serial versions of the 4000 or 5000 models very cheap and they work perfectly with a £5 USB to serial convertor.

    Sometimes USB ones are pretty cheap too….

  15. @diago
    what are you on?
    i have done all my professional work with a mouse also … never once have i ever had any problems with it or could speed it up or slow it down in any way … you zoom in with the scroll you move with the x and y and you work with keyboard shortcuts

    nothing this thing offers i cant do with a mouse and shortcuts

    apparently you dont use eagle

  16. @biozz

    Yup, that’s exactly what I was saying, and all the engineers I know completely agree. How hard is it to click the middle mouse button to pan? Not hard at all. I’m sure a space mouse is excellent for 3D cad programs. For eagle this hack is just a proof of concept and nothing more.

  17. Is it just me or is that “mouse” more of a joystick than a mouse? A mouse has a linear action, move it left, the cursor goes left. A joystick (and this thing) it’s “hold it left and the cursor moves left, then let go to stop it”.

    I never understood how people could use a joystick/spacemouse for precision work.

  18. @biozz

    Just because a regular mouse works fine, doesn’t mean it can’t be improved. Productivity gains are not my opinion, they are fact from multiple studies.

    I do use Eagle, although not as much as mech CAD, that’s how I know the same principles apply.

    @brennan

    Again, you’ve completely missed the point. Of course it’s not hard to click the middle mouse button. I’ll reiterate – the same pan/zoom/(sometimes rotate) apply to 2D and 3D CAD Mechanical CAD packages too, but it’s much more fluid to work with a 3D mouse in your non-dominant hand.

    Why do you use a mouse instead of a trackpad? You can achieve the same with a trackpad, but it will take longer, and be more error prone, since the ergonomics aren’t ideal.

    What jan and Keith Finnigan above have written are right on the money. Until you’ve used one, you really can’t see the point, and then after you have used one, you’ll never go without one.

    Just because with 2D work you don’t need 3 or 4 of the possible 6 axes, doesn’t mean that the principles don’t apply – they do.

    I guess some of you guys just don’t get it, and refuse to believe that there might be a better solution. If you do get the opportunity to use one, then please try it. I guarantee you’ll be surprised.

    @darwinsuvivor

    You’re absolutely right, 3D mouse is a poor description, and I think that’s the problem that most people who don’t get it are having here.

    A mouse is an isotonic (not like Lucozade) device which gives control proportional linear control in 2 axes (i.e. a horizontal plane) to a given scale or gain (unless you have acceleration turned on). X distance with the mouse gives X*C distance on the screen. And of course it controls the pointer.

    The Spacemouse / is more akin to a joystick than a mouse – yes. It’s a mostly isometric (static) device, that can move a small amount against springs in any direction – 3 axes rotationally and the same 3 axes linearly:

    http://www.engineerlive.com/Design-Engineer/Computer_Systems_Software/The_economic_payback_of_3D_mice_as_a_user_interface/20832/

    The further you push the ball or puck away from it’s home position (by applying force), the faster the *rate* of movement of the workpiece or page on the screen. The ball or puck is very sensitive to distance/pressure applied, which allows very controlled fine or fast control. Usually you will stop the workpiece / page before you start clicking away at it with your regular 2D mouse.

    Note again that the spacemouse/ball does not control the mouse pointer…it controls the workpiece or page, which can be manipulated simultaneously and independently to the regular 2D mouse and pointer.

    Check out some videos to see how it works.

  19. I could see something like this being useful even in games, particularly a RTS. Imagine panning the battlefield quick and efficiently while still commanding units with the mouse! Or panning while focusing with hot keys instead for great macro.

    Often times in an RTS one’s left hand hardly does anything, and by having an input like this it could make certain small functions more efficient!

    Cool all together though :)

    1. I know this is an old discussion, but I just found it now. I am a design engineer that uses solidworks and eagle all day long, every day, for years on end with what seems like no breaks.. Anyway ive got some intermittant RSI issues and have tried lots of things. My employer bought several of the high-end 3d space command things and I honestly tried to use it for a couple of months. Conclusion for me was these devices are gimmics. In Solidworks, Does not realy save time, too imprecise, not goig to drastically improve your results. For Eagle? Complete joke. Get a good mouse and more RAM

  20. I solved this issue by using JoyToKey and mapping the 3D mouse to the mouse cursor where simultaneously with the cursor movement the middle mouse button is pressed.
    Moving the knob up and down moves the emulated scroll wheel to zoom in and out.
    Using JoyToKey the other buttons on a spacemouse or spacepilot can easily be remapped to assigned hotkeys in eagle.

    It works like a charm and doesn’t interfere with applications that natively support the 3D mouse.

Leave a Reply to brennanthlCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.