Kevin Chandler

[Updated] (HoverIntersect) Find Intersection with 1 (or 2) key presses, zero mouse clicks.

Discussion created by Kevin Chandler on Feb 10, 2019

Update 03/12/2019: No program changes. Just a notice that [Updated] Find Intersection using a mouse gesture [2 left clicks only] (FindIntersectionG utility) is available for those who prefer gestures.




HoverIntersect provides a keyboard only alternative to the current mouse clicking required for the "Find intersection" command.

This utility doesn't prevent the current workflow. It provides a keyboard alternative method.


This utitlity has two modes: "2R" (1 keystroke) or "T2" (2 keystrokes).


"2R" (1 keystroke) mode:

1) Hover over either of the two entities that will comprise the intersection.

2) With one of the entities highlighted, press and hold down your hotkey (by default, it's Ctrl+1 (Ctrl One), but you can change this).

3) The "T2" notice dialog changes to "2R".

4) Hover over the second entity and once it's highlighted, release your hotkey (hence the "R" in "2R").

5) The intersection is created.


"T2" (2 keystroke) mode:

1) Hover over either of the two entities that will comprise the intersection.

2) With one of the entities highlighted, press and release your hotkey now.

3) The "T2" notice dialog remains "T2".

4) Hover over the second entity and once it's highlighted, tap the "2" key (hence the "T" in "T2").

4.1) Or press ESC to abort the find intersection.

5) The intersection is created.


With either mode, you can pan and zoom as usual to bring the second entity into position.

But depending the reach for your hotkey, T2 mode may be easier or more comfortable than 2R mode.

It's also situation dependent, so you can use either mode that better suits the moment.

T2 mode also provides ESC to abort the Find intersection command (similiar to what you normally do in Find intersection).

Actually, in T2 mode, pressing any key other than "2" is equal to pressing Escape.


2R mode does not have an escape.

To abort in 2R mode, release the hotkey over nothing. (Note: This still may create an undesired dimension).


Unlike the Hover functions in HoverDubl utility, HoverIntersect is SW specific.

Like the reverse mouse wheel direction utility, the HoverIntersect hotkey combination is only active when SW is the active program.



Copy HoverIntersect.exe to its own folder and run it.

The first time it runs, a copy of HoverIntersect.ini is extracted from the exe file.

(If you think your ini file has gotten corrupted (at any time), delete it and rerun HoverIntersect.exe. A default copy will be extracted for you).


Delete the exe and ini files, and optionally, any shortcuts or folder you created for this utility.

No mods are made to the Windows Registry (or any such thing, anywhere else).


INI optional settings (the default ini file contents are displayed below):

Edit only the bold data to the right of each equal sign.

Comments begin with semi-colons.

Any setting changes made while HoverIntersect is running, take affect the next time HoverIntersect starts.


;Hotkey to run HoverIntersect

;Modifier keys syntax:

; Win, Ctrl, Alt or Shift followed by key

;Modifiers order doesn't mattter, key must be last.

;Upper/lowercase doesn't matter, but this value is displayed on the menu.

;Separate each with + (plus char, no spaces).


; Win+W

; Alt+Ctrl+Q

; Ctrl+Shift+F1


;X-Y coordinate offset for "2T"/"R2" from cursor position at start (key down).

;negative values locate it left(X)/above(Y) the current cursor position when 1st run.



;2 Release/Type 2 timer interval (seconds) 0.125 minimum


;Mouse delay factor

;(-1=no delay, 0=min delay, 10=normal delay, >10=extra delay)


;EXE file name for SolidWorks

;Use "DisplayExeName.exe" utility to obtain your SW's EXE name and edit if different (include extension).



"HoverIntersectHotkey=" is where you select your hotkey combination you want to use for HoverIntersect.

As it states in the comments, use any combination of "Win" (for the Windows key), "Alt", "Ctrl" or "Shift" followed by the desired key.


Review the examples in the comments to give yourself some ideas for key combinations.

And yes, you can use a function key as the key portion of your hotkey. Just enter "F" followed by the function key number.


If you later find your chosen hotkey is quite what you like, return to the ini file at any time and change it to something else.

Save your ini changes, restart HoverIntersect and take your new hotkey for a test drive.


HoverIntersect translates the keyboard names to the syntax it needs from this data.

Case doesn't matter but what you enter here is reflected at the top of HoverIntersect's menu:

This menu doesn't do anything, it's just a reminder for you.


"IntersectXOffset=" and "IntersectYOffset=" are the X and Y offsets to the cursor's position when you first press your hotkey.

The cursor's position and these offsets locate the "2R" and "T2" display notices (the spelling order of these notices is flipped for easier recognition).

If you need to move the displays further from, or closer to, your cursor, change these values (but you probably won't need to).


"TimerInterval=" is the amount of time you hold down your hotkey before you switch from "T2" mode into "2R" mode.

"T2" mode is a press and release method (a "tap").

And you only need to release the key portion of the hotkey, the "1" in the default setup, to qualify for the "release".

If you find you're entering "2R" mode when you meant to be in "T2" mode, you can increase this value to give you more time before "2R".

You can also lower this value below the default 1/2 second, but I doubt you'll need to do so.

As it says, an 1/8 of a second is the minimum time.


To test this time: Press your hotkey while deliberately watching the "T2" display. Whenthe time elapses, "T2" becomes "2R".

If you don't feel you can press and release your hotkey in this time to stay in "T2" mode, then increase your interval time, restart HoverIntersect and test the time again.

You can change this at any time, so as you get used to this utility, you can lower the value later (if you wish).


"MouseDelayFactor=" is provided to give some speed adjustment if you're having menu or stability issues.

I doubt (& hope) you won't need to adjust the default value.


"SWExeName=" is the exe file name for SolidWorks that's required to disable your HoverIntersect hotkey if the active window is not SW.

With HoverIntersect running, its hotkey is disable for non-SW windows and if this hotkey combo is active in another window, it will run normally for that window.

Since SW starts with a launcher, it's not always readily apparent what SW's exe name is, so run the attached "DisplayExeName.exe".

An intro dialog displays and, as it says, with SW active, press Ctrl+Alt+Shift+E:

The SW exe name may also be in a different language in your locale.

Paste into the ini, the value copied into the Clipboard by DisplayExeName

Once you have your SW exe name, "DisplayExeName.exe" is no longer needed, so right click its green H icon and select Exit:


Right click HoverIntersect's "HI" icon to display its options:

As stated above, the "Press" menu does nothing but remind you of the hotkey to press.

To disable HoverIntersect without exiting the program, select the suspend menu:

While suspended, the H icon is a green S and the suspend menu is checked:

Select suspend again to re-enable HoverIntersect.

The About menu displays a simple About dialog with a version number and your hotkey:

Select the Exit menu to stop running HoverIntersect.

As stated above, you must exit HoverIntersect and restart it, if ini edits were made that you wish to take affect immediately.


You can't change the "2" key for selecting the 2nd entity in T2 mode.



I hope this utility works well for you.

All comments and suggestions are joyfully welcome.




PS: This utility was created along the lines of the topic in this post: dimensioning to apparent intersection.