NativeCAM Install Proceedure
NativeCAM Install Proceedure
1. Installation
--------------------------------------------------------------------------------
1. Clone NCam from https://github.com/fern/nativecam.
2. Make sure python-lxml installed. To verify, open a terminal and type python
If python is not installed, clone it from a website. Note: The following terminal command will
not work for installation now that Debian Wheezy is no longer supported.
<glade-widget-classes>
Add after:
<properties>
</properties>
</glade-widget-class>
3. Find:
Add after :
<glade-widget-class-ref name="Ncam"/>
IMPORTANT NOTE : when linuxcnc updates, it recreates directories and if features do not load
you will have to redo steps 2, 3 and 4
4. Using Embedded
--------------------------------------------------------------------------------
1. Add these lines into your .ini file inside [DISPLAY] section :
2. Add this line into your .ini file inside [RS274NGC] section :
# Required NativeCAM item:
SUBROUTINE_PATH = ncam/my-stuff:ncam/lib/lathe:ncam/lib/utilities
5. Optional Translations
--------------------------------------------------------------------------------
Translation will work in Stand Alone AND Embedded modes
cd /usr/share/locale/<YOUR LOCALE>/LC_MESSAGES
Use poedit to translate strings in ncam.po then save and copy ncam.mo to
above path.
6. Extending subroutines
--------------------------------------------------------------------------------
1. Param subsitutions
"#param_name" can be used to substitude parameters from the feature.
3. Including Gcode
[DEFINITIONS]
content =
<eval>self.include_once("rotate-xy.ngc")</eval>
<eval>self.include("some-include-file.inc")</eval>
4. Data types
[SUBROUTINE] type should be lower case, short, without space. Ex : circle, rect, probe-dn
Valid params types are : string, float, int, bool (or boolean), header (or hdr), combo, items
Note : you can change string, float and int types on the fly with the context menu.
This is usefull with variables.
When using a value like #<var_name> use "string" because if will evaluate to 0 if "int" used
or 0.0 if "float".