FernV / NativeCAM

NativeCAM for LinuxCNC embeds in axis or gmoccapy interfaces
GNU General Public License v2.0
45 stars 29 forks source link

Integration with LinuxCNC UI #8

Open propcoder opened 4 years ago

propcoder commented 4 years ago

I find it uncomfortable if not annoying to have NativeCAM in the same window as Axis UI, positioned side-by-side. Loading NativeCAM together with LinuxCNC every time is also not necessary in lots of use-cases I know. Furthermore, letting NativeCAM use the slot for right panel blocks custom gladevcp or pyvcp right-side panels, which I use in nearly every integration.

I am integrating, using and suggesting default NativeCAM integration in the following way: LinuxCNC and NativeCAM have their own Shortcuts (on desktop, etc..). My best practice is to put a LinuxCNC shortcut on left part of Desktop, position (and remember) window on right, then the opposite for NCAM. This way the uncovered part of desktop with an icon of program not loaded yet is easily available. Two shortcuts allow user to freely choose what and when to load. It works perfectly, as NativeCAM connects with LinuxCNC very nicely. Both NativeCAM and LinuxCNC can be also be used standalone. This would also help integrators and developers when there is a need to reload one part only.

Such integration could be offered as a default or as one of several choices.

Currently NCAM messes up INI file of working config on ncam install / update. It replaces existing values of GLADEVCP, PROGRAM_PREFIX parameters. It does not find existing nativecam paths in the middle of the SUBROUTINE_PATH line.

Part of my ini file as an example:


[DISPLAY]
# required NativeCAM item :
NCAM_DIR = ncam

DISPLAY = axis
# Cycle time, in seconds, that display will sleep between polls
CYCLE_TIME =            0.03
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 2
MIN_SPINDLE_OVERRIDE = 0.5
MAX_SPINDLE_OVERRIDE = 1.5
DEFAULT_SPINDLE_SPEED = 50
; INTRO_GRAPHIC = linuxcnc.gif
; INTRO_TIME = 1
# required NativeCAM item :
PROGRAM_PREFIX = ncam/scripts/

INCREMENTS = 1000mm 100mm 10mm 5mm 1mm .5mm .1mm .05mm .01mm .005mm
; LATHE = 1
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
DEFAULT_LINEAR_VELOCITY = 100
MAX_LINEAR_VELOCITY = 1800
MIN_LINEAR_VELOCITY = 0.5
DEFAULT_ANGULAR_VELOCITY = 50
MAX_ANGULAR_VELOCITY = 70
MIN_ANGULAR_VELOCITY = 0.5
EDITOR = kate
TOOL_EDITOR = tooledit TOOL X Y Z DIAM COMMENT

; GEOMETRY = XYZ
OPEN_FILE = ""
GLADEVCP = extra.glade
## required NativeCAM item :
#GLADEVCP = -U --catalog=mill /usr/share/linuxcnc/aux_gladevcp/NativeCAM/ncam.ui

[RS274NGC]
PARAMETER_FILE = linuxcnc.var
RS274NGC_STARTUP_CODE = G17 G21 G40 G49 G54 G80 G90 G94 G92.1 F3000
USER_M_PATH = nc_subs
# required NativeCAM item :
SUBROUTINE_PATH = nc_subs:ncam/my-stuff:ncam/lib/mill:ncam/lib/utilities
FernV commented 4 years ago

Thanks, I take this in consideration and will work to provide more setup options

ikcalB commented 3 years ago

@FernV is there any progress?

anyhting where you could use some help?

PetteriAimonen commented 2 years ago

It is possible to have NativeCAM as its own tab in Axis GUI like this:

[DISPLAY]
EMBED_TAB_NAME = NativeCAM
EMBED_TAB_COMMAND = halcmd loadusr -Wn nativecam gladevcp -c nativecam -x {XID} -U --catalog=mill ncam.ui