Macro Mouse over cb

From FreeCAD Documentation
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Other languages:

Macro Mouse over cb

Description
This macro displays in the report view all elements below the cursor (all elements covered by other elements will also be displayed)

Macro version: 00.00
Last modified: 2016-12-13
FreeCAD version: All
Download: ToolBar Icon
Author: Chris_G
Author
Chris_G
Download
ToolBar Icon
Links
Macro Version
00.00
Date last modified
2016-12-13
FreeCAD Version(s)
All
Default shortcut
None
See also
Macro FC element selector

Description

This macro displays in the report view all elements below the cursor (all elements covered by other elements will also be displayed).

Usage

Run the macro, the macro stay resident in memory.

Script

Toolbar icon

Macro_Mouse_over_cb.FCMacro

from pivy import coin
import FreeCADGui

def mouse_over_cb( event_callback):
    event = event_callback.getEvent()
    pos = event.getPosition().getValue()
    listObjects = FreeCADGui.ActiveDocument.ActiveView.getObjectsInfo((int(pos[0]),int(pos[1])))
    obj = []
    if listObjects:
        FreeCAD.Console.PrintMessage("\n *** Objects under mouse pointer ***")
        for o in listObjects:
            label = str(o["Object"])
            if not label in obj:
                obj.append(label)
        FreeCAD.Console.PrintMessage("\n"+str(obj))


view = FreeCADGui.ActiveDocument.ActiveView

mouse_over = view.addEventCallbackPivy( coin.SoLocation2Event.getClassTypeId(), mouse_over_cb )

# to remove Callback :
#view.removeEventCallbackPivy( coin.SoLocation2Event.getClassTypeId(), mouse_over_cb)

Links

The forum discussion finding/selecting all elements below cursor

Other similar macro Selecting internal faces of a pressure vessel (download the file FC_element_selector_v1p1p1.py)