Browse Source

G53 fixed

Probescreenv2
ton, LinuxCNCMESA 2 years ago
parent
commit
745e73344d
  1. 14
      gmoccapy_preferences
  2. 3
      macros/on_abort.ngc
  3. 60
      mesa_2019.ini
  4. 6
      mesa_2019.var
  5. 6
      mesa_2019.var.bak
  6. 9
      ncam/catalogs/customize
  7. 45
      ncam/catalogs/lathe/menu.xml
  8. 3
      ncam/catalogs/lathe/projects/README
  9. 36
      ncam/catalogs/lathe/projects/default_template.xml
  10. 1
      ncam/catalogs/lathe/projects/examples
  11. 50
      ncam/catalogs/mill/default.conf
  12. 104
      ncam/catalogs/mill/menu.xml
  13. 3
      ncam/catalogs/mill/projects/README
  14. 46
      ncam/catalogs/mill/projects/current_work.xml
  15. 46
      ncam/catalogs/mill/projects/default_template.xml
  16. 1
      ncam/catalogs/mill/projects/examples
  17. 22
      ncam/catalogs/ncam.conf
  18. 70
      ncam/catalogs/plasma/_menu-custom.xml
  19. 70
      ncam/catalogs/plasma/menu.xml
  20. 3
      ncam/catalogs/plasma/projects/README
  21. 35
      ncam/catalogs/plasma/projects/default_template.xml
  22. 1
      ncam/catalogs/plasma/projects/examples
  23. 33
      ncam/catalogs/translating
  24. 1
      ncam/cfg
  25. 1
      ncam/graphics
  26. 1
      ncam/lib
  27. 17
      ncam/my-stuff/README
  28. 35
      ncam/scripts/M123
  29. 153
      ncam/scripts/ncam.ngc
  30. 8
      tool.tbl

14
gmoccapy_preferences

@ -1,5 +1,5 @@
[DEFAULT]
blockheight = 12.0
blockheight = 22.8
spindle_start_rpm = 800.0
scale_jog_vel = 27.0
scale_spindle_override = 3.0
@ -9,14 +9,14 @@ hide_turtle_jog_button = False
turtle_jog_factor = 20
dro_size = 31
open_file =
screen1 = window
screen1 = maximized
x_pos = 40
y_pos = 30
width = 979
height = 750
gtk_theme = Follow System Theme
grid_size = 1.0
view = p
view = z
mouse_btn_mode = 4
hide_cursor = False
system_name_tool = Tool
@ -48,8 +48,8 @@ use_frames = False
show_dro_btn = True
use_auto_units = False
probeheight = 40.5
searchvel = 75.0
probevel = 10.0
searchvel = 85.0
probevel = 20.0
use_toolmeasurement = True
reload_tool = True
blockdel = False
@ -72,9 +72,9 @@ homed_color = #00FF00
unhomed_color = #FF0000
dro_digits = 3
toggle_readout = True
tool_in_spindle = 1
tool_in_spindle = 63
show_keyboard_on_file_selection = False
offset_axis_x = 0.0
offset_axis_y = 0.0
offset_axis_z = 0.0
offset_axis_z = -1.0

3
macros/on_abort.ngc

@ -1,3 +1,4 @@
%
o<on_abort> sub
G90
@ -5,4 +6,4 @@ G40
G49
o<on_abort> endsub
%

60
mesa_2019.ini

@ -47,9 +47,9 @@ PROGRAM_PREFIX = ../../nc_files/
#EMBED_TAB_LOCATION = ntb_preview
#EMBED_TAB_COMMAND = gladevcp -x {XID} -u python/probe_screen.py probe_icons/probe_screen.glade
#EMBED_TAB_NAME = Camera
#EMBED_TAB_LOCATION = ntb_preview
#EMBED_TAB_COMMAND = mplayer -quiet -msglevel all=-1 -wid {XID} tv://0 -vf rectangle=-1:2:-1:240,rectangle=2:-1:320:-1
EMBED_TAB_NAME = Camera
EMBED_TAB_LOCATION = ntb_preview
EMBED_TAB_COMMAND = mplayer -quiet -msglevel all=-1 -wid {XID} tv://0 -vf rectangle=-1:2:-1:240,rectangle=2:-1:320:-1
#EMBED_TAB_NAME = DRO
#EMBED_TAB_LOCATION = ntb_preview
@ -83,14 +83,14 @@ REMAP=M6 modalgroup=6 prolog=change_prolog ngc=change epilog=change_epilog
[TOOLSENSOR]
X = 500
Y = 500
Z = 46
MAXPROBE = -35
Y = 50
Z = 0
MAXPROBE = -55
[CHANGE_POSITION]
X = 530
Y = 570
Z = 66
X = 400
Y = 50
Z = 0
[PYTHON]
# The path to start a search for user modules
@ -165,8 +165,8 @@ APP = monitor-xhc-hb04
goto-zero = halui.mdi-command-00
# synthesized per-axis buttons for goto-zero button:
goto-zero-x = "g0 x0"
goto-zero-y = "0 y0"
goto-zero-z = ""
goto-zero-y = "g0 y0"
goto-zero-z = "g0 z0"
goto-zero-a = ""
start-pause = std_start_pause
@ -243,12 +243,6 @@ MAX_LIMIT = 581
MAX_VELOCITY = 55
MAX_ACCELERATION = 80
[AXIS_Z]
MIN_LIMIT = 0
MAX_LIMIT = 72
MAX_VELOCITY = 20
MAX_ACCELERATION = 30
[JOINT_0]
AXIS = X
MIN_LIMIT = 0
@ -351,10 +345,31 @@ HOME_SEQUENCE = -1
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False
[AXIS_Z]
MIN_LIMIT = -72
#0
MAX_LIMIT = 0
#72
MAX_VELOCITY = 20
#20
MAX_ACCELERATION = 30
#30
[JOINT_3]
AXIS = Z
MIN_LIMIT = 0
MAX_LIMIT = 74
MIN_LIMIT = -72
#0
MAX_LIMIT = 0
#74
HOME = 0
#65
HOME_OFFSET = 0
#72
HOME_SEARCH_VEL = -10
HOME_LATCH_VEL = -2
HOME_SEQUENCE = 0
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False
MAX_VELOCITY = 20
MAX_ACCELERATION = 30
TYPE = LINEAR
@ -377,10 +392,3 @@ FF2 = 0.00013
BIAS = 0
MAX_OUTPUT = 0
MAX_ERROR = 0.0127
HOME = 65
HOME_OFFSET = 72
HOME_SEARCH_VEL = -10
HOME_LATCH_VEL = -2
HOME_SEQUENCE = 0
HOME_USE_INDEX = False
HOME_IGNORE_LIMITS = False

6
mesa_2019.var

@ -27,9 +27,9 @@
5218 0.000000
5219 0.000000
5220 1.000000
5221 0.000000
5222 0.000000
5223 7.108590
5221 2.136060
5222 33.327760
5223 -3.765188
5224 0.000000
5225 0.000000
5226 0.000000

6
mesa_2019.var.bak

@ -27,9 +27,9 @@
5218 0.000000
5219 0.000000
5220 1.000000
5221 0.000000
5222 0.000000
5223 7.108590
5221 2.136060
5222 33.327760
5223 -3.765188
5224 0.000000
5225 0.000000
5226 0.000000

9
ncam/catalogs/customize

@ -1,9 +0,0 @@
menu.xml can be customized and renamed menu-custom.xml
which will never be overwritten
menu.xml contains menu and toolbar definitions
actions name must be unique 'basics', 'rectangle', 'circle' ...
the toolbar actions refers to those in menu definition
For more customizing options, watch the videos on YouTube

45
ncam/catalogs/lathe/menu.xml

@ -1,45 +0,0 @@
<ncam_ui>
<menu>
<menu action='tools' name=_("Tools")_ icon="lathe-tool.png">
<menuitem action='ch_tool' name=_("Change Cutter")_ tool_tip= _("Change cutter")_ icon="lathe-tool-change.png" src="lathe/tool-change.cfg"/>
<menuitem action='iturning' name=_("Initial Turning")_ tool_tip= _("Initial turning to help find X axis center")_ icon="od.png" src="lathe/init-turning.cfg"/>
</menu>
<menu action='cutting' name=_("Cutting")_ icon="threading.png">
<menuitem action='facing' name=_("Facing")_ tool_tip= _("Finish face and optionnaly touch off")_ icon="lathe-facing.png" src="lathe/facing.cfg"/>
<menuitem action='turning' name=_("External Turning")_ tool_tip= _("Does straight turning")_ icon="lathe-surface.png" src="lathe/turning.cfg"/>
<menuitem action='parting' name=_("Parting Off")_ tool_tip= _("Cut your part from initial material")_ icon="parting.png" src="lathe/parting.cfg"/>
<menuitem action='threading' name=_("Threading")_ tool_tip= _("External or internal threads, metric or imperial")_ icon="threading.png" src="lathe/threading.cfg"/>
<menuitem action='boring' name=_("Internal Boring")_ tool_tip= _("Does straight boring")_ icon="lathe-surface-id.png" src="lathe/boring.cfg"/>
<menuitem action='taper_oda' name=_("Taper ODA")_ tool_tip= _("External taper by angle and diameters")_ icon="taper-oda.png" src="lathe/taper_oda.cfg"/>
<menuitem action='taper_odl' name=_("Taper ODL")_ tool_tip= _("External taper by length and diameters")_ icon="taper-odl.png" src="lathe/taper_odl.cfg"/>
<menuitem action='taper_ida' name=_("Taper IDA")_ tool_tip= _("Internal taper by angle and diameters")_ icon="taper-ida.png" src="lathe/taper_ida.cfg"/>
<menuitem action='taper_idl' name=_("Taper IDL")_ tool_tip= _("Internal taper by length and diameters")_ icon="taper-idl.png" src="lathe/taper_idl.cfg"/>
<menuitem action='radius_od' name=_("Radius OD")_ tool_tip= _("Finish with an external radius")_ icon="corner-radius.png" src="lathe/radius_od.cfg"/>
</menu>
<menu action='misc' name=_('Miscellaneous')_ icon='misc.png'>
<menuitem action='group_std' name=_('Standard Group')_ tool_tip=_('Group subroutines')_ icon="group.png" src="group.cfg"/>
<menuitem action='gcode_file' name=_('Insert a G Code File')_ tool_tip= _('Include a custom gcode file')_ icon="file-gcode.png" src="i_gcode.cfg"/>
<menuitem action='gcode' name=_('Custom G Code')_ tool_tip= _('Write custom gcode')_ icon="gcode.png" src="gcode.cfg"/>
<menuitem action='stock' name=_('Material')_ tool_tip=_('Lathe round stock')_ icon="l-stock.png" src="lathe/material.cfg"/>
<menuitem action='prjdesc' name=_('Project Notes')_ tool_tip=_('View project name and note')_ icon="prj-desc.png" src="proj_desc.cfg"/>
</menu>
</menu>
<toolbar>
<toolitem action='ch_tool' />
<separator/>
<toolitem action='facing' />
<toolitem action='turning' />
<toolitem action='boring' />
<toolitem action='parting' />
<toolitem action='taper_oda' />
<toolitem action='taper_ida' />
<separator/>
<toolitem action='group_std' />
<separator/>
<toolitem action='threading' />
<separator/>
<toolitem action='gcode' />
<toolitem action='gcode_file' />
</toolbar >
</ncam_ui>

3
ncam/catalogs/lathe/projects/README

@ -1,3 +0,0 @@
save all your projects in this
sub-directory which is the default
when you want to open one

36
ncam/catalogs/lathe/projects/default_template.xml

@ -1,36 +0,0 @@
<lcnc-ncam>
<feature src="lathe/material.cfg" expanded="False" name="Workpiece" short_id="21" old-selected="False" after="" help="&lt;b&gt;Workpiece or raw material used&lt;/b&gt;" order="['PARAM_SH', 'PARAM_H1', 'PARAM_OD', 'PARAM_ID', 'PARAM_L', 'PARAM_Z', 'PARAM_H2', 'PARAM_WMODE', 'PARAM_X_RAP', 'PARAM_Z_RAP']" new-selected="False" hidden_count="0" path="0" call="&#10;(begin #sub_name)&#10;(author : Fernand Veilleux)&#10;&#10;G#param_wmode&#10;&#10;o&lt;#self_id&gt; if [#param_wmode EQ 7] (Diameter)&#10;&#9;#&lt;_x_rapid&gt; = [#param_x_rap * 2]&#10;&#9;#&lt;_wp_dia_od&gt; = [#param_od]&#10;&#9;#&lt;_wp_dia_id&gt; = [#param_id]&#10;o&lt;#self_id&gt; else&#10;&#9;#&lt;_x_rapid&gt; = #param_x_rap&#10;&#9;#&lt;_wp_dia_od&gt; = [#param_od / 2]&#10;&#9;#&lt;_wp_dia_id&gt; = [#param_id / 2]&#10;o&lt;#self_id&gt; endif&#10;#&lt;_z_rapid&gt; = #param_z_rap&#10;&#10;/ o&lt;#self_id1&gt; if [#param_sh EQ 1]&#10;&#9;/ o&lt;show_stock&gt; CALL [#param_z] [#param_l]&#10;/ o&lt;#self_id1&gt; endif&#10;&#10;(end #sub_name)" definitions="" icon="l-stock.png" type="workpiece" id="workpiece_002" before="">
<param type="bool" call="#param_sh" name="Show limits" value="0" path="0:0"/>
<param type="sub-header" call="#param_h1" name="Size and coord" path="0:1"/>
<param no_zero="1" name="Ext. diameter" metric_value="50.0" value="2.0" header="h1" call="#param_od" path="0:1:0" minimum_value="0.0" type="float" icon="e-diam.png"/>
<param tool_tip="Only if hollow" name="Int. diameter" metric_value="0.0" value="0.0" header="h1" call="#param_id" path="0:1:1" minimum_value="0.0" type="float" icon="i-diam.png"/>
<param no_zero="1" name="Length" metric_value="250.0" value="10.0" header="h1" call="#param_l" path="0:1:2" minimum_value="0.0" type="float" icon="width.png"/>
<param tool_tip="Z coord at tip" name="Begin position" metric_value="0.0" value="0.0" header="h1" call="#param_z" path="0:1:3" type="float" icon="z.png"/>
<param type="sub-header" call="#param_h2" name="Params" path="0:2"/>
<param name="Work mode" value="7" header="h2" call="#param_wmode" path="0:2:0" type="combo" options="Diameter=7:Radius=8" icon="circle-rad-dia.png"/>
<param tool_tip="To right of material" no_zero="1" name="X Rapid" metric_value="12.0" value="0.50" header="h2" call="#param_x_rap" path="0:2:1" minimum_value="0.0" type="float" icon="lathe-rappid-x.png"/>
<param tool_tip="From material" no_zero="1" name="Z Rapid" metric_value="12.0" value="0.50" header="h2" call="#param_z_rap" path="0:2:2" icon="lathe-rappid.png" type="float" minimum_value="0.0"/>
</feature>
<feature src="lathe/tool-change.cfg" expanded="False" name="Tool Change" short_id="22" old-selected="True" after="" help="&lt;b&gt;Change Tool and/or settings&lt;/b&gt;&amp;#10;Changes setting accordingly even if disabled" order="['PARAM_ACT', 'PARAM_H1', 'PARAM_DNUM', 'PARAM_US', 'PARAM_SPINDLE_DIR', 'PARAM_COOLING', 'PARAM_H2', 'PARAM_MODE', 'PARAM_SPEED', 'PARAM_MAX_SPEED', 'PARAM_H8', 'PARAM_R_FEED', 'PARAM_C_DPT', 'PARAM_H4', 'PARAM_F_FEED', 'PARAM_FC_DPT', 'PARAM_HC', 'PARAM_X_SAFE', 'PARAM_IX_SAFE', 'PARAM_Z_SAFE']" new-selected="False" hidden_count="0" path="1" call="&#10;(begin #sub_name)&#10;(author : Fernand Veilleux)&#10;&#10;o&lt;#self_id_act&gt; if [#param_act AND [#param_dnum NE #5400]]&#10;&#9;M9 (coolant off)&#10;&#9;T#param_dnum M6&#10;o&lt;#self_id_act&gt; endif&#10;&#10;#&lt;_tool_usage&gt; = #param_us&#10;#&lt;_spindle_dir&gt; = #param_spindle_dir&#10;#&lt;_cooling_mode&gt; = #param_cooling&#10;#&lt;_rough_feed&gt; = #param_r_feed&#10;#&lt;_rough_cut&gt; = #param_c_dpt&#10;#&lt;_finish_feed&gt; = #param_f_feed&#10;#&lt;_finish_cut&gt; = #param_fc_dpt&#10;o&lt;#self_id1&gt; if [#param_mode EQ 0]&#10;&#9;G96 D#param_max_speed S#param_speed&#10;o&lt;#self_id1&gt; else&#10;&#9;G97 S#param_speed&#10;o&lt;#self_id1&gt; endif&#10;&#10;o&lt;#self_id2&gt; if [#&lt;_spindle_dir&gt; GT 0]&#10;&#9;M#&lt;_spindle_dir&gt;&#10;&#9;G4 P#&lt;_spindle_speed_up_delay&gt;&#10;o&lt;#self_id2&gt; endif&#10;&#10;o&lt;get_max&gt; CALL [41] [2] [#5410 * 1.1] [#param_z_safe]&#10;#&lt;_z_clear&gt; = #41&#10;&#10;o&lt;get_max&gt; CALL [41] [2] [#5410 * 1.1] [#param_x_safe]&#10;#&lt;_x_clear&gt; = #41&#10;&#10;#&lt;_ix_clear&gt; = #param_ix_safe&#10;&#10;o&lt;#self_id3&gt; if [#&lt;_lathe_diameter_mode&gt; EQ 1] (Diameter)&#10;&#9;#&lt;_x_clear&gt; = [#&lt;_x_clear&gt; * 2]&#10;&#9;#&lt;_ix_clear&gt; = [#&lt;_ix_clear&gt; * 2]&#10;o&lt;#self_id3&gt; endif&#10;F#&lt;_rough_feed&gt;&#10;&#10;(end #sub_name)" definitions="" icon="lathe-tool-change.png" type="tool_change" id="tool_change_001" before="">
<param tool_tip="Params will be set even if disabled" name="Active" value="1" call="#param_act" path="1:0" type="bool" icon="enable.png"/>
<param type="sub-header" call="#param_h1" name="Tool and usage" path="1:1"/>
<param tool_tip="Select from tool table" name="Tool number" value="0" header="h1" call="#param_dnum" path="1:1:0" type="tool" icon="lathe-tool.png"/>
<param tool_tip="Select usage for this tool" name="Usage" value="0" header="h1" call="#param_us" path="1:1:1" type="combo" options="Roughing and finishing=0:Roughing=1:Finishing=2" icon="tool-usage.png"/>
<param tool_tip="Select spindle rotation" name="Start spindle" value="3" header="h1" call="#param_spindle_dir" path="1:1:2" type="combo" options="No=5:Clockwise=3:Counter-clockwise=4" icon="lathe-dir.png"/>
<param tool_tip="Use flood, mist or none" name="Use cooling" value="8" header="h1" call="#param_cooling" path="1:1:3" type="combo" options="None=9:Flood=8:Mist=7" icon="snowflake.png"/>
<param type="sub-header" call="#param_h2" name="Spindle speed" path="1:2"/>
<param tool_tip="Constant surface speed or RPM" name="Mode" value="0" header="h2" call="#param_mode" path="1:2:0" type="combo" options="Constant surface=0:RPM=1" icon="lathe-chuck.png"/>
<param tool_tip="Set surface or spindle speed" name="Surface/spindle speed" value="1000" header="h2" call="#param_speed" path="1:2:1" icon="tool-spindle.png" type="int" minimum_value="10"/>
<param tool_tip="Set spindle speed" name="Max spindle speed" value="1500" header="h2" call="#param_max_speed" path="1:2:2" icon="tool-spindle.png" type="int" minimum_value="100"/>
<param tool_tip="Set these when usage is roughing" type="sub-header" call="#param_h8" name="Roughing" path="1:3"/>
<param tool_tip="Feed at 100% engagement" no_zero="1" name="Feed" metric_value="125.0" value="5.0" header="h8" call="#param_r_feed" path="1:3:0" minimum_value="0.0" type="float" icon="lathe-feed.png"/>
<param tool_tip="Depth of cutter engagment in machine units per pass" no_zero="1" name="Cut depth" metric_value="0.05" value="0.02" header="h8" call="#param_c_dpt" path="1:3:1" minimum_value="0.0" type="float" icon="lathe-depth-step.png"/>
<param tool_tip="Set these when usage include finishing" type="sub-header" call="#param_h4" name="Finishing" path="1:4"/>
<param tool_tip="Feed at 100% engagement" no_zero="1" name="Feed" metric_value="50.0" value="2.0" header="h4" call="#param_f_feed" path="1:4:0" minimum_value="0.0" type="float" icon="lathe-feed.png"/>
<param tool_tip="Depth of cutter engagment in machine units per pass" no_zero="1" name="Cut depth" metric_value="0.025" value="0.01" header="h4" call="#param_fc_dpt" path="1:4:1" minimum_value="0.0" type="float" icon="lathe-depth-step.png"/>
<param type="sub-header" call="#param_hc" name="Clearances" path="1:5"/>
<param no_zero="1" name="X clear" metric_value="3.0" value="0.125" header="hc" call="#param_x_safe" path="1:5:0" minimum_value="0.0" type="float" icon="lx-clear.png"/>
<param no_zero="1" name="Internal X clear" metric_value="1.0" value="0.040" header="hc" call="#param_ix_safe" path="1:5:1" minimum_value="0.0" type="float" icon="ix-clear.png"/>
<param no_zero="1" name="Z clear" metric_value="3.0" value="0.125" header="hc" call="#param_z_safe" path="1:5:2" minimum_value="0.0" type="float" icon="lz-clear.png"/>
</feature>
</lcnc-ncam>

1
ncam/catalogs/lathe/projects/examples

@ -1 +0,0 @@
/usr/share/linuxcnc/aux_gladevcp/NativeCAM/examples/lathe

50
ncam/catalogs/mill/default.conf

@ -1,50 +0,0 @@
[general]
time_out = 0.3
digits = 3
default_metric = 1
show_final_cut = True
show_bottom_cut = True
gmoccapy_time_out = 0.15
autosave = True
[ngc]
init_str = G17 G40 G49 G90 G92.1 G94 G54 G64 p0.001
post_amble =
use_pct_signs = False
off_rot_coord_system = 2
spindle_all_time = True
spindle_acc_time = 0.0
[probe]
probe_func = 4
probe_tool_len_comp = True
[probe_mm]
probe_feed = 200.0
probe_latch = -1.0
probe_latch_feed = 50.0
probe_tip_dia = 3.0
probe_safe = 5.0
probe_height = 0.0
[drill_mm]
center_drill_depth = -3.0
[pocket]
mode = 0
[optimizing]
engagement1 = 0.2
engagement2 = 0.3
engagement3 = 0.8
feedfactor1 = 1.6
feedfactor2 = 1.4
feedfactor3 = 1.25
feedfactor4 = 1.0
feedfactor0 = 1.0
speedfactor1 = 1.25
speedfactor2 = 1.25
speedfactor3 = 1.25
speedfactor4 = 1.0
speedfactor0 = 1.0

104
ncam/catalogs/mill/menu.xml

@ -1,104 +0,0 @@
<ncam_ui>
<menu>
<menu action='basics' name=_('Basic Shapes')_ icon="basic.png">
<menuitem action='rectangle' name=_('Rectangle')_ tool_tip=_('Create a rectangle with optional corner types')_ icon="center-rect.png" src="mill/rectangle.cfg"/>
<separator/>
<menuitem action='circle' name=_('Circle')_ tool_tip=_('Create a circle with optional D flat')_ icon="circle.png" src="mill/circle.cfg"/>
<menuitem action='circle2' name=_('Circle From 2 Points')_ tool_tip=_('Define ends of diameter')_ icon="circle-2.png" src="mill/circle-2.cfg"/>
<separator/>
<menuitem action='slot1' name=_('Slot/Oval From 1 Point')_ tool_tip=_('Define a point, angle and length')_ icon="slot.png" src="mill/slot.cfg"/>
<menuitem action='slot2' name=_('Slot/Oval From 2 Points')_ tool_tip=_('Define center of ends')_ icon="slot-2.png" src="mill/slot-2.cfg"/>
<menuitem action='radial_slot' name=_('Radial Slot')_ tool_tip=_('Create a radial slot')_ icon="radial-slot.png" src="mill/slot-arc.cfg"/>
<separator/>
<menuitem action='ellipse' name=_('Ellipse')_ tool_tip=_('Create an ellipse')_ icon="ellipse.png" src="mill/ellipse.cfg"/>
<menuitem action='polygon' name=_('Polygon')_ tool_tip=_('Polygon of N edges')_ icon="hexagon.png" src="mill/polygon.cfg"/>
<separator/>
<menuitem action='surf_finish' name=_('Surface Finishing')_ tool_tip=_('Uni or Bi-directional')_ icon="rect-pocket.png" src="mill/surf_finish.cfg"/>
</menu>
<menu action='advanced' name=_('Advanced')_ icon='advanced.png'>
<menu action='polyline' name=_('Polyline')_ icon="polyline.png">
<menuitem action='poly_start' name=_('Start')_ tool_tip=_('Starts a polyline')_ icon="polyline.png" src="mill/polyline.cfg"/>
<separator/>
<menuitem action='polyline_to' name=_('Line To')_ tool_tip=_('Relative or absolute position')_ icon="line-to.png" src="mill/polyline-to.cfg"/>
<menuitem action='polyline_pol' name=_('Line Polar')_ tool_tip=_('Define angle and length')_ icon="line-polar.png" src="mill/polyline-polar.cfg"/>
<separator/>
<menuitem action='poly_arc_ij' name=_('Arc I,J')_ tool_tip=_('Defined center by offsets or absolute position')_ icon="arc-to-ij.png" src="mill/polyline-arc-ij.cfg"/>
<menuitem action='poly_arc_pol_ctr' name=_('Arc Polar Center')_ tool_tip=_('Define center at angle and distance')_ icon="arc-polar-ctr.png" src="mill/polyline-arc-polar.cfg"/>
<menuitem action='poly_arc_coords' name=_('Arc To Coords')_ tool_tip=_('Define end point, arc height or radius')_ icon="arc-to-coords.png" src="mill/polyline-arc-to.cfg"/>
<menuitem action='poly_arc_to_pol' name=_('Arc To Polar')_ tool_tip=_('Define end point, arc height or radius')_ icon="arc-polar.png" src="mill/polyline-arc-top.cfg"/>
<menuitem action='poly_bisector' name=_('Arc Mirror End')_ tool_tip=_('Define I,J and mirror line')_ icon="arc-bisector.png" src="mill/polyline-arc-m.cfg"/>
<separator/>
<menuitem action='poly_repeat' name=_('Repeat Items')_ tool_tip=_('Repeat a group of polyline items')_ icon="poly-repeat-items.png" src="mill/polyline-repeat.cfg"/>
<menuitem action='poly_mir_itms' name=_('Mirror Items')_ tool_tip=_('Duplicate and reverse polyline items')_ icon="polyline-mirror-items.png" src="mill/polyline-mirror-i.cfg"/>
<separator/>
<menuitem action='poly_mirror' name=_('Mirror Polyline')_ tool_tip=_('Create a reversed polyline from previous one')_ icon="polyline-mirrored.png" src="mill/polyline-mirror-p.cfg"/>
</menu>
<menu action='countebore' name=_('Counterbore')_ tool_tip=_('For Socket Head Cap Screw')_ icon='counterbore.png' >
<menuitem action='cb_single' name=_('Single Hole')_ tool_tip=_('No slot')_ icon="shcs-hole.png" src="mill/SHCS.cfg"/>
<menuitem action='cb_slot1' name=_('Slot From 1 Point')_ tool_tip=_('Define a point, angle and length')_ icon="shcs-slot.png" src="mill/SHCS_slot.cfg"/>
<menuitem action='cb_slot2' name=_('Slot From 2 Points')_ tool_tip=_('Define 2 points')_ icon="shcs-slot2.png" src="mill/SHCS_slot2.cfg"/>
<menuitem action='cb_arc' name=_('Radial Slot')_ tool_tip=_('Create a radial slot')_ icon="shcs-arc.png" src="mill/SHCS_slot-arc.cfg"/>
</menu>
<menuitem action='thread_milling' name=_('Thread Milling')_ tool_tip=_('True thread mill needed')_ icon="threading-v.png" src="mill/thread-milling.cfg"/>
<menuitem action='ttengraving' name=_('TrueType Engraving')_ tool_tip=_('TrueType Engraving')_ icon="truetype.png" src="mill/ttt.cfg"/>
<menuitem action='circle-k' name=_('Circle w/ key')_ tool_tip=_('Create a circle for a key/keyway')_ icon="circle-k.png" src="mill/circle-k.cfg"/>
</menu>
<menu action='drilling' name=_('Drilling')_ icon="drills.png">
<menuitem action='drill_single' name=_('Single Hole')_ tool_tip=_('Drill a single hole')_ icon="drill-single.png" src="mill/drill-single.cfg"/>
<menuitem action='drill_arr' name=_('Array Of Holes')_ tool_tip=_('Drill lines of holes')_ icon="drill-array.png" src="mill/drill-array.cfg"/>
<menuitem action='drill_circle' name=_('Regular Circle')_ tool_tip=_('Create a regular spaced holes circle')_ icon="drill-circle.png" src="mill/drill-circle.cfg"/>
<menuitem action='drill_circle_irr' name=_('Irregular Circle')_ tool_tip=_('Create a hole circle of different angle spacing')_ icon="drill-irr-circle.png" src="mill/drill-circle-irr.cfg"/>
</menu>
<menu action='groups' name=_('Group, Offset And Rotation')_ icon="group.png">
<menuitem action='group_std' name=_('Standard Group')_ tool_tip=_('Group subroutines')_ icon="group.png" src="group.cfg"/>
<menuitem action='group_off' name=_('Offset/Rotate')_ tool_tip=_('Group subroutines, offset and rotate')_ icon="group-offset.png" src="group-off.cfg"/>
<separator/>
<menuitem action='group_radial' name=_('Radial Array')_ tool_tip=_('Define diameter or distance between groups')_ icon="circular-array.png" src="circular-array.cfg"/>
<menuitem action='group_arr' name=_('Rectangular Array')_ tool_tip=_('Array of rows and columns')_ icon="rect-array.png" src="rectangular-array.cfg"/>
<separator/>
<menuitem action='group_index' name=_('Index A Axis')_ tool_tip=_('Rotate A axis')_ icon="axis-a.png" src="mill/index-axisA.cfg"/>
</menu>
<menu action='tool_chng' name=_('Change Tool')_ icon="tool-change.png">
<menuitem action='chng_end_mill' name=_('End Mill')_ tool_tip=_('Select end mill and set parameters')_ icon="tool-01.png" src="mill/sel-end-mill.cfg"/>
<menuitem action='chng_drill' name=_('Drill or Reamer')_ tool_tip=_('Select drill and set parameters')_ icon="drill.png" src="mill/sel-drill.cfg"/>
<menuitem action='chng_thread_mill' name=_('Thread Mill')_ tool_tip=_('Select thread mill and set parameters')_ icon="tool-change.png" src="mill/sel-thread-mill.cfg"/>
</menu>
<menu action='probing' name=_('Probing')_ icon="probe.png">
<menuitem action='probe_edge' name=_('Probe Edges')_ tool_tip=_('Find workpiece edges')_ icon="probe-edge.png" src="mill/probe-edge.cfg"/>
<menuitem action='probe_stock' name=_('Probe Stock')_ tool_tip=_('Find the center of a cube or cylinder')_ icon="probe-stock.png" src="mill/probe-stock.cfg"/>
<menuitem action='probe_arr' name=_('Probe Array')_ tool_tip=_('Probe a array of points and save to file')_ icon="probe-grid.png" src="mill/probe-array.cfg"/>
<menuitem action='probe_z' name=_('Probe Surface')_ tool_tip=_('Find Z position with a probe')_ icon="probe-down.png" src="mill/probe-surface.cfg"/>
<menuitem action='probe_hole' name=_('Probe Hole')_ tool_tip=_('Find center of a hole')_ icon="probe-hole.png" src="mill/probe-hole.cfg"/>
</menu>
<menu action='misc' name=_('Miscellaneous')_ icon='misc.png'>
<menuitem action='stock' name=_('Raw Material')_ tool_tip=_('Show a temporary image of rough material')_ icon="stock.png" src="mill/material.cfg"/>
<menuitem action='gcode' name=_('Custom G Code')_ tool_tip=_('Write custom gcode')_ icon="gcode.png" src="gcode.cfg"/>
<menuitem action='gcode_file' name=_('Insert a G Code File')_ tool_tip=_('Include a custom gcode file')_ icon="file-gcode.png" src="i_gcode.cfg"/>
<menuitem action='comment' name=_('Comment')_ tool_tip=_('Add comments')_ icon="comment.png" src="comment.cfg"/>
<menuitem action='prjdesc' name=_('Project Notes')_ tool_tip=_('View project name and note')_ icon="prj-desc.png" src="proj_desc.cfg"/>
</menu>
</menu>
<toolbar>
<toolitem action='chng_end_mill' />
<toolitem action='circle' />
<toolitem action='rectangle' />
<toolitem action='slot1' />
<toolitem action='radial_slot' />
<separator/>
<toolitem action='group_std' />
<toolitem action='group_radial' />
<toolitem action='group_arr' />
<separator/>
<toolitem action='chng_drill' />
<toolitem action='drill_single' />
<toolitem action='drill_arr' />
<toolitem action='drill_circle' />
<toolitem action='drill_circle_irr' />
<separator/>
<toolitem action='cb_single' />
<toolitem action='cb_slot1' />
<toolitem action='stock' />
</toolbar >
</ncam_ui>

3
ncam/catalogs/mill/projects/README

@ -1,3 +0,0 @@
save all your projects in this
sub-directory which is the default
when you want to open one

46
ncam/catalogs/mill/projects/current_work.xml

@ -1,46 +0,0 @@
<lcnc-ncam>
<feature src="mill/material.cfg" expanded="False" help="&lt;b&gt;Workpiece or Raw material used&lt;/b&gt;" icon="stock.png" old-selected="True" after="" name="Workpiece" order="['PARAM_SH', 'PARAM_H1', 'PARAM_L', 'PARAM_W', 'PARAM_D', 'PARAM_H2', 'PARAM_X', 'PARAM_ALX', 'PARAM_Y', 'PARAM_ALY', 'PARAM_Z', 'PARAM_ALZ', 'PARAM_H4', 'PARAM_CR', 'PARAM_WT', 'PARAM_CL', 'PARAM_H3', 'PARAM_ZCL', 'PARAM_RAP', 'PARAM_TH']" init="" version="1.14" new-selected="False" definitions="" call="&#10;(begin #sub_name)&#10;(workpiece definition author : Fernand Veilleux)&#10;&#10;#&lt;wp_width&gt; = [#param_w]&#10;#&lt;wp_length&gt; = [#param_l]&#10;#&lt;wp_depth&gt; = [#param_d]&#10;#&lt;wp_wall&gt; = [#param_wt]&#10;#&lt;wp_corner_radius&gt; = [#param_cr]&#10;#&lt;wp_inside_width&gt; = [#&lt;wp_width&gt; - #&lt;wp_wall&gt; * 2]&#10;#&lt;wp_inside_length&gt; = [#&lt;wp_length&gt; - #&lt;wp_wall&gt; * 2]&#10;&#10;#&lt;wp_x&gt; = #param_x&#10;#&lt;wp_y&gt; = #param_y&#10;&#10;o&lt;select&gt; CALL [31] [#param_alx] [#param_x] [#param_x - #&lt;wp_length&gt; / 2] [#param_x - #&lt;wp_length&gt;]&#10;#&lt;wp_left&gt; = #31&#10;#&lt;wp_right&gt; = [#&lt;wp_left&gt; + #&lt;wp_length&gt;]&#10;&#10;o&lt;select&gt; CALL [31] [#param_aly] [#param_y - #&lt;wp_width&gt;] [#param_y - #&lt;wp_width&gt; / 2] [#param_y]&#10;#&lt;wp_front&gt; = #31&#10;#&lt;wp_rear&gt; = [#&lt;wp_front&gt; + #&lt;wp_width&gt;]&#10;&#10;o&lt;select&gt; CALL [31] [#param_alz] [#param_z] [#param_z + #&lt;wp_depth&gt; / 2] [#param_z + #&lt;wp_depth&gt;]&#10;#&lt;surface&gt; = #31&#10;&#10;#&lt;_z_clear&gt; = #param_zcl&#10;#&lt;_rapid_z&gt; = [#&lt;surface&gt; + #&lt;_z_clear&gt; + #param_rap]&#10;&#10;#&lt;bottom&gt; = [#&lt;surface&gt; - #&lt;wp_depth&gt;]&#10;#&lt;bottom_through&gt; = [#&lt;bottom&gt; + #param_th]&#10;&#10;/&#9;o&lt;#self_id_active&gt; if [#param_sh AND #&lt;_show_final_cuts&gt;] (show active)&#10;/&#9;&#9;o&lt;stock&gt; CALL [#&lt;wp_left&gt;] [#&lt;wp_right&gt;] [#&lt;wp_front&gt;] [#&lt;wp_rear&gt;] [#&lt;surface&gt;] [#&lt;bottom&gt;] [#param_cl] [#&lt;wp_corner_radius&gt;] [#&lt;wp_wall&gt;]&#10;/&#9;&#9;G0 X#param_x Y#param_y Z#&lt;surface&gt;&#10;/&#9;o&lt;#self_id_active&gt; endif&#10;&#10;(end #sub_name)" path="0" hidden_count="0" type="workpiece" id="workpiece_001" validation="" before="">
<param name="Show workpiece" value="1" call="#param_sh" path="0:0" type="bool" icon="glasses.png"/>
<param type="sub-header" call="#param_h1" name="Size" path="0:1"/>
<param tool_tip="X axis" name="Width (X)" metric_value="100" value="4" header="h1" call="#param_l" not_allowed="0" path="0:1:0" icon="width.png" type="float" minimum_value="0.0"/>
<param tool_tip="Y axis" name="Height (Y)" metric_value="50" value="2" header="h1" call="#param_w" not_allowed="0" path="0:1:1" icon="height.png" type="float" minimum_value="0.0"/>
<param tool_tip="Z axis" name="Depth (Z)" metric_value="25.0" value="1" header="h1" call="#param_d" not_allowed="0" path="0:1:2" icon="depth.png" type="float" minimum_value="0.0"/>
<param type="sub-header" call="#param_h2" name="Coords" path="0:2"/>
<param tool_tip="X0" name="X" metric_value="0.0" value="0.0" header="h2" call="#param_x" path="0:2:0" type="float" icon="x.png"/>
<param tool_tip="Define X reference" name="X axis align" value="0" header="h2" call="#param_alx" path="0:2:1" type="combo" options="Left=0:Center=1:Right=2" icon="align-x.png"/>
<param tool_tip="Y0" name="Y" metric_value="0.0" value="0.0" header="h2" call="#param_y" path="0:2:2" type="float" icon="y.png"/>
<param tool_tip="Define Y reference" name="Y axis align" value="2" header="h2" call="#param_aly" path="0:2:3" type="combo" options="Top=0:Center=1:Bottom=2" icon="align-y.png"/>
<param tool_tip="Surface" name="Z" metric_value="0.0" value="0.0" header="h2" call="#param_z" path="0:2:4" type="float" icon="z.png"/>
<param tool_tip="Define Z reference" name="Z axis align" value="0" header="h2" call="#param_alz" path="0:2:5" type="combo" options="Top=0:Center=1:Bottom=2" icon="align-z.png"/>
<param type="sub-header" call="#param_h4" name="Options" path="0:3"/>
<param tool_tip="Define radius" name="Corner radius" metric_value="0.0" value="0.0" header="h4" call="#param_cr" path="0:3:0" minimum_value="0.0" type="float" icon="corner-radius.png"/>
<param tool_tip="Define if hollow" name="Wall thickness" metric_value="0.0" value="0.0" header="h4" call="#param_wt" path="0:3:1" minimum_value="0.0" type="float" icon="wall-thickness.png"/>
<param tool_tip="Define orientation of centerline" name="Centerline align" value="0" header="h4" call="#param_cl" path="0:3:2" type="combo" options="X axis=0:Y axis=1:Z axis=2" icon="cl-align.png"/>
<param type="sub-header" call="#param_h3" name="Milling params" path="0:4"/>
<param tool_tip="Above surface or cut start" name="Z clear" metric_value="2.0" value="0.1" header="h3" call="#param_zcl" not_allowed="0" path="0:4:0" icon="safe-z.png" type="float" minimum_value="0.0"/>
<param tool_tip="Above Z clear" name="Rapid (Z)" metric_value="10.0" value="0.4" header="h3" call="#param_rap" not_allowed="0" path="0:4:1" icon="rapid.png" type="float" minimum_value="0.0"/>
<param tool_tip="Past bottom" name="Clear through" metric_value="-1.25" maximum_value="0.0" value="-0.05" header="h3" call="#param_th" path="0:4:2" type="float" icon="through.png"/>
</feature>
<feature src="mill/sel-end-mill.cfg" expanded="False" help="&lt;b&gt;Change end mill and/or settings&lt;/b&gt;&amp;#10;Changes setting accordingly even if disabled" icon="tool-01.png" old-selected="False" after="" name="End Mill Change" order="['PARAM_ACT', 'PARAM_H1', 'PARAM_DNUM', 'PARAM_US', 'PARAM_DD', 'PARAM_H2', 'PARAM_TLC', 'PARAM_SPINDLE_DIR', 'PARAM_COOLING', 'PARAM_H4', 'PARAM_FEED', 'PARAM_V_FEED', 'PARAM_SPEED', 'PARAM_H6', 'PARAM_SO_N', 'PARAM_SO_M', 'PARAM_H5', 'PARAM_PEN', 'PARAM_STP', 'PARAM_PR']" init="" version="1.14" new-selected="False" definitions="" call="&#10;(begin #sub_name)&#10;(end mill change params and changing code author : Fernand Veilleux)&#10;&#10;#&lt;_spindle_dir&gt; = #param_spindle_dir&#10;#&lt;_cooling_mode&gt; = #param_cooling&#10;&#10;#&lt;_feed_normal&gt; = #param_feed&#10;#&lt;_rpm_normal&gt; = #param_speed&#10;#&lt;_feed_vertical&gt; = #param_v_feed&#10;#&lt;_penetration_mode&gt; = #param_pen&#10;#&lt;_depth_step&gt; = #param_stp&#10;#&lt;_ramp_down_ratio&gt; = [#param_pr / 100]&#10;#&lt;_tool_usage&gt; = #param_us&#10;#&lt;_stepover_min&gt; = #param_so_m&#10;#&lt;_stepover_normal&gt; = [#param_so_n / 100]&#10;#&lt;_tool_dynamic_dia&gt; = #param_dd&#10;&#10;o&lt;#self_id_tlc&gt; if [[#param_tlc EQ 3] AND [#param_dnum GT 0]]&#10;&#9;M61 Q#param_dnum&#10;o&lt;#self_id_tlc&gt; endif&#10;&#10;o&lt;#self_id_act&gt; if [#param_act AND [#param_dnum NE #5400]]&#10;&#9;M9&#10;&#9;T#param_dnum M6&#10;o&lt;#self_id_act&gt; endif&#10;&#10;o&lt;#self_id_lc&gt; if [[#param_tlc EQ 1] OR [#param_tlc EQ 2]]&#10;&#9;G43 H#param_dnum&#10;o&lt;#self_id_lc&gt; endif&#10;&#10;o&lt;#self_id_01&gt; if [[#&lt;_spindle_dir&gt; GT 0] AND #&lt;_spindle_all_time&gt;]&#10;&#9;o&lt;set_feed_rate_and_speed&gt; CALL [1]&#10;o&lt;#self_id_01&gt; endif&#10;(end #sub_name)" path="1" hidden_count="0" type="emill_chng" id="emill_chng_001" validation="" before="">
<param tool_tip="Params will be set even if disabled" name="Active" value="1" call="#param_act" path="1:0" type="bool" icon="enable.png"/>
<param type="sub-header" call="#param_h1" name="Select end mill" path="1:1"/>
<param tool_tip="Select from tool table" name="Tool number" value="0" header="h1" call="#param_dnum" path="1:1:0" type="tool" icon="tool.png"/>
<param tool_tip="Select usage for this tool" name="Usage" value="0" header="h1" call="#param_us" path="1:1:1" type="combo" options="Roughing and finishing=0:Roughing=1:Finishing=2" icon="tool-usage.png"/>
<param tool_tip="Only for dynamic compensation, 0.0 to use diameter from table" name="Dynamic diameter" metric_value="0.0" value="0.0" header="h1" call="#param_dd" path="1:1:2" minimum_value="0.0" type="float" icon="tool-d.png"/>
<param type="sub-header" call="#param_h2" name="Action" path="1:2"/>
<param tool_tip="Use G43 and probe if setup" name="Use length comp" value="3" header="h2" call="#param_tlc" path="1:2:0" type="combo" options="No=0:Already mounted and touched=3:From tool table=1:Table and probe=2" icon="comp-l.png"/>
<param tool_tip="Select drill rotation" name="Start spindle" value="3" header="h2" call="#param_spindle_dir" path="1:2:1" type="combo" options="No=0:Clockwise=3:Counter-clockwise=4" icon="spindle-start.png"/>
<param tool_tip="Use flood, mist or none" name="Use cooling" value="8" header="h2" call="#param_cooling" path="1:2:2" type="combo" options="None=9:Flood=8:Mist=7" icon="snowflake.png"/>
<param type="sub-header" call="#param_h4" name="Feed and speed" path="1:3"/>
<param tool_tip="Feed at 100% engagement" name="Feed" metric_value="250" value="9.84251968504" header="h4" call="#param_feed" not_allowed="0" path="1:3:0" minimum_value="0.0" type="float" icon="tool-feed.png"/>
<param tool_tip="Plunge or drill feed" name="Vertical" metric_value="200" value="7.87401574803" header="h4" call="#param_v_feed" not_allowed="0" path="1:3:1" icon="tool-vertical-feed.png" type="float" minimum_value="0.0"/>
<param tool_tip="Set spindle speed" name="Spindle speed" value="1000" header="h4" call="#param_speed" path="1:3:2" icon="tool-spindle.png" type="int" minimum_value="100"/>
<param tool_tip="Step over for pocketing and finishing" type="sub-header" call="#param_h6" name="Milling step over" path="1:4"/>
<param tool_tip="Maximum for pocketing or surface finishing" suffix="%" icon="rect-pocket.png" maximum_value="100" value="60" header="h6" call="#param_so_n" path="1:4:0" minimum_value="10" type="int" name="Expanding engagement"/>
<param digits="3" name="Minimum" metric_value="0.4" value="0.0157480314961" header="h6" call="#param_so_m" path="1:4:1" icon="rect-pocket.png" type="float" minimum_value="0.010"/>
<param type="sub-header" call="#param_h5" name="Penetration" path="1:5"/>
<param tool_tip="How Z position is attained" name="Mode" value="0" header="h5" call="#param_pen" path="1:5:0" type="combo" options="Ramp down=0:Plunge=1" icon="pen-mode.png"/>
<param tool_tip="Step down on each pass" name="Step down" metric_value="-3" maximum_value="0.0" value="-0.11811023622" header="h5" call="#param_stp" path="1:5:1" type="float" icon="tool-depth.png"/>
<param tool_tip="Z versus XY move" suffix="%" icon="ramp-down-rate.png" maximum_value="100" value="25" header="h5" call="#param_pr" path="1:5:2" minimum_value="0" type="int" name="Ramp down rate"/>
</feature>
</lcnc-ncam>

46
ncam/catalogs/mill/projects/default_template.xml

@ -1,46 +0,0 @@
<lcnc-ncam>
<feature src="mill/material.cfg" expanded="False" help="&lt;b&gt;Workpiece or Raw material used&lt;/b&gt;" short_id="21" old-selected="False" name="Workpiece" after="" order="['PARAM_SH', 'PARAM_H1', 'PARAM_L', 'PARAM_W', 'PARAM_D', 'PARAM_H2', 'PARAM_X', 'PARAM_ALX', 'PARAM_Y', 'PARAM_ALY', 'PARAM_Z', 'PARAM_ALZ', 'PARAM_H4', 'PARAM_CR', 'PARAM_WT', 'PARAM_CL', 'PARAM_H3', 'PARAM_ZCL', 'PARAM_RAP', 'PARAM_TH']" new-selected="False" hidden_count="0" path="0" call="&#10;(begin #sub_name)&#10;(workpiece definition author : Fernand Veilleux)&#10;#&lt;wp_width&gt; = [#&lt;_units_width&gt; * #param_w]&#10;#&lt;wp_length&gt; = [#&lt;_units_width&gt; * #param_l]&#10;#&lt;wp_depth&gt; = [#&lt;_units_width&gt; * #param_d]&#10;#&lt;wp_wall&gt; = [#&lt;_units_width&gt; * #param_wt]&#10;#&lt;wp_corner_radius&gt; = [#&lt;_units_width&gt; * #param_cr]&#10;#&lt;wp_inside_width&gt; = [#&lt;wp_width&gt; - #&lt;wp_wall&gt; * 2]&#10;#&lt;wp_inside_length&gt; = [#&lt;wp_length&gt; - #&lt;wp_wall&gt; * 2]&#10;&#10;#&lt;wp_x&gt; = #param_x&#10;#&lt;wp_y&gt; = #param_y&#10;&#10;o&lt;select&gt; CALL [31] [#param_alx] [#param_x] [#param_x - #&lt;wp_length&gt; / 2] [#param_x - #&lt;wp_length&gt;]&#10;#&lt;wp_left&gt; = #31&#10;#&lt;wp_right&gt; = [#&lt;wp_left&gt; + #&lt;wp_length&gt;]&#10;&#10;o&lt;select&gt; CALL [31] [#param_aly] [#param_y - #&lt;wp_width&gt;] [#param_y - #&lt;wp_width&gt; / 2] [#param_y]&#10;#&lt;wp_front&gt; = #31&#10;#&lt;wp_rear&gt; = [#&lt;wp_front&gt; + #&lt;wp_width&gt;]&#10;&#10;o&lt;select&gt; CALL [31] [#param_alz] [#param_z] [#param_z + #&lt;wp_depth&gt; / 2] [#param_z + #&lt;wp_depth&gt;]&#10;#&lt;surface&gt; = #31&#10;&#10;#&lt;_z_clear&gt; = #param_zcl&#10;#&lt;_rapid_z&gt; = [#&lt;surface&gt; + #&lt;_z_clear&gt; + #param_rap]&#10;&#10;#&lt;bottom&gt; = [#&lt;surface&gt; - #&lt;wp_depth&gt;]&#10;#&lt;bottom_through&gt; = [#&lt;bottom&gt; + #param_th]&#10;&#10;/&#9;o&lt;#self_id_active&gt; if [#param_sh] (show enabled)&#10;/&#9;&#9;o&lt;stock&gt; CALL [#&lt;wp_left&gt;] [#&lt;wp_right&gt;] [#&lt;wp_front&gt;] [#&lt;wp_rear&gt;] [#&lt;surface&gt;] [#&lt;bottom&gt;] [#param_cl] [#&lt;wp_corner_radius&gt;] [#&lt;wp_wall&gt;]&#10;/&#9;&#9;G0 X#param_x Y#param_y Z#&lt;surface&gt;&#10;/&#9;o&lt;#self_id_active&gt; endif&#10;(end #sub_name)" definitions="" icon="stock.png" type="workpiece" id="workpiece_001" before="">
<param name="Show workpiece" value="1" call="#param_sh" path="0:0" type="bool" icon="glasses.png"/>
<param type="sub-header" call="#param_h1" name="Size" path="0:1"/>
<param tool_tip="X axis" no_zero="1" name="Width (X)" metric_value="100" value="4" header="h1" call="#param_l" path="0:1:0" icon="width.png" type="float" minimum_value="0.0"/>
<param tool_tip="Y axis" no_zero="1" name="Height (Y)" metric_value="50" value="2" header="h1" call="#param_w" path="0:1:1" icon="height.png" type="float" minimum_value="0.0"/>
<param tool_tip="Z axis" no_zero="1" name="Depth (Z)" metric_value="25.0" value="1" header="h1" call="#param_d" path="0:1:2" icon="depth.png" type="float" minimum_value="0.0"/>
<param type="sub-header" call="#param_h2" name="Coords" path="0:2"/>
<param tool_tip="X0" name="X" metric_value="0.0" value="0.0" header="h2" call="#param_x" path="0:2:0" type="float" icon="x.png"/>
<param tool_tip="Define X reference" name="X axis align" value="0" header="h2" call="#param_alx" path="0:2:1" type="combo" options="Left=0:Center=1:Right=2" icon="align-x.png"/>
<param tool_tip="Y0" name="Y" metric_value="0.0" value="0.0" header="h2" call="#param_y" path="0:2:2" type="float" icon="y.png"/>
<param tool_tip="Define Y reference" name="Y axis align" value="2" header="h2" call="#param_aly" path="0:2:3" type="combo" options="Top=0:Center=1:Bottom=2" icon="align-y.png"/>
<param tool_tip="Surface" name="Z" metric_value="0.0" value="0.0" header="h2" call="#param_z" path="0:2:4" type="float" icon="z.png"/>
<param tool_tip="Define Z reference" name="Z axis align" value="0" header="h2" call="#param_alz" path="0:2:5" type="combo" options="Top=0:Center=1:Bottom=2" icon="align-z.png"/>
<param type="sub-header" call="#param_h4" name="Options" path="0:3"/>
<param tool_tip="Define radius" name="Corner radius" metric_value="0.0" value="0.0" header="h4" call="#param_cr" path="0:3:0" minimum_value="0.0" type="float" icon="corner-radius.png"/>
<param tool_tip="Define if hollow" name="Wall thickness" metric_value="0.0" value="0.0" header="h4" call="#param_wt" path="0:3:1" minimum_value="0.0" type="float" icon="wall-thickness.png"/>
<param tool_tip="Define orientation of centerline" name="Centerline align" value="0" header="h4" call="#param_cl" path="0:3:2" type="combo" options="X axis=0:Y axis=1:Z axis=2" icon="cl-align.png"/>
<param type="sub-header" call="#param_h3" name="Milling params" path="0:4"/>
<param tool_tip="Above surface or cut start" no_zero="1" name="Z clear" metric_value="2.0" value="0.1" header="h3" call="#param_zcl" path="0:4:0" icon="safe-z.png" type="float" minimum_value="0.0"/>
<param tool_tip="Above Z clear" no_zero="1" name="Rapid (Z)" metric_value="10.0" value="0.4" header="h3" call="#param_rap" path="0:4:1" icon="rapid.png" type="float" minimum_value="0.0"/>
<param tool_tip="Past bottom" name="Clear through" metric_value="-1.25" maximum_value="0.0" value="-0.05" header="h3" call="#param_th" path="0:4:2" type="float" icon="through.png"/>
</feature>
<feature src="mill/sel-end-mill.cfg" expanded="False" help="&lt;b&gt;Change end mill and/or settings&lt;/b&gt;&amp;#10;Changes setting accordingly even if disabled" name="End Mill Change" old-selected="True" after="" order="['PARAM_ACT', 'PARAM_H1', 'PARAM_DNUM', 'PARAM_US', 'PARAM_DD', 'PARAM_H2', 'PARAM_TLC', 'PARAM_SPINDLE_DIR', 'PARAM_COOLING', 'PARAM_H4', 'PARAM_FEED', 'PARAM_V_FEED', 'PARAM_SPEED', 'PARAM_H6', 'PARAM_SO_N', 'PARAM_SO_M', 'PARAM_H5', 'PARAM_PEN', 'PARAM_STP', 'PARAM_PR']" new-selected="False" short_id="22" hidden_count="0" definitions="" call="&#10;(begin #sub_name)&#10;(end mill change params and changing code author : Fernand Veilleux)&#10;&#10;#&lt;_spindle_dir&gt; = #param_spindle_dir&#10;#&lt;_cooling_mode&gt; = #param_cooling&#10;&#10;#&lt;_feed_normal&gt; = #param_feed&#10;#&lt;_rpm_normal&gt; = #param_speed&#10;#&lt;_feed_vertical&gt; = #param_v_feed&#10;#&lt;_penetration_mode&gt; = #param_pen&#10;#&lt;_depth_step&gt; = #param_stp&#10;#&lt;_ramp_down_ratio&gt; = [#param_pr / 100]&#10;#&lt;_tool_usage&gt; = #param_us&#10;#&lt;_stepover_min&gt; = #param_so_m&#10;#&lt;_stepover_normal&gt; = [#param_so_n / 100]&#10;#&lt;_tool_dynamic_dia&gt; = #param_dd&#10;&#10;o&lt;#self_id_tlc&gt; if [[#param_tlc EQ 3] AND [#param_dnum GT 0]]&#10;&#9;M61 Q#param_dnum&#10;o&lt;#self_id_tlc&gt; endif&#10;&#10;o&lt;#self_id_act&gt; if [#param_act AND [#param_dnum NE #5400]]&#10;&#9;M9&#10;&#9;T#param_dnum M6&#10;o&lt;#self_id_act&gt; endif&#10;&#10;o&lt;#self_id_lc&gt; if [[#param_tlc EQ 1] OR [#param_tlc EQ 2]]&#10;&#9;G43 H#param_dnum&#10;o&lt;#self_id_lc&gt; endif&#10;&#10;o&lt;#self_id_01&gt; if [[#&lt;_spindle_dir&gt; GT 0] AND #&lt;_spindle_all_time&gt;]&#10;&#9;o&lt;set_feed_rate_and_speed&gt; CALL [1]&#10;o&lt;#self_id_01&gt; endif&#10;(end #sub_name)" path="1" icon="tool-01.png" type="emill_chng" id="emill_chng_001" before="">
<param tool_tip="Params will be set even if disabled" name="Active" value="1" call="#param_act" path="1:0" type="bool" icon="enable.png"/>
<param type="sub-header" call="#param_h1" name="Select end mill" path="1:1"/>
<param tool_tip="Select from tool table" name="Tool number" value="0" header="h1" call="#param_dnum" path="1:1:0" type="tool" icon="tool.png"/>
<param tool_tip="Select usage for this tool" name="Usage" value="0" header="h1" call="#param_us" path="1:1:1" type="combo" options="Roughing and finishing=0:Roughing=1:Finishing=2" icon="tool-usage.png"/>
<param tool_tip="Only for dynamic compensation, 0.0 to use diameter from table" name="Dynamic diameter" metric_value="0.0" value="0.0" header="h1" call="#param_dd" path="1:1:2" minimum_value="0.0" type="float" icon="tool-d.png"/>
<param type="sub-header" call="#param_h2" name="Action" path="1:2"/>
<param tool_tip="Use G43 and probe if setup" name="Use length comp" value="3" header="h2" call="#param_tlc" path="1:2:0" type="combo" options="No=0:Already mounted and touched=3:From tool table=1:Table and probe=2" icon="comp-l.png"/>
<param tool_tip="Select drill rotation" name="Start spindle" value="3" header="h2" call="#param_spindle_dir" path="1:2:1" type="combo" options="No=0:Clockwise=3:Counter-clockwise=4" icon="spindle-start.png"/>
<param tool_tip="Use flood, mist or none" name="Use cooling" value="8" header="h2" call="#param_cooling" path="1:2:2" type="combo" options="None=9:Flood=8:Mist=7" icon="snowflake.png"/>
<param type="sub-header" call="#param_h4" name="Feed and speed" path="1:3"/>
<param tool_tip="Feed at 100% engagement" no_zero="1" name="Feed" metric_value="250" value="9.84251968504" header="h4" call="#param_feed" path="1:3:0" minimum_value="0.0" type="float" icon="tool-feed.png"/>
<param tool_tip="Plunge or drill feed" no_zero="1" name="Vertical" metric_value="200" value="7.87401574803" header="h4" call="#param_v_feed" path="1:3:1" icon="tool-vertical-feed.png" type="float" minimum_value="0.0"/>
<param tool_tip="Set spindle speed" name="Spindle speed" value="1000" header="h4" call="#param_speed" path="1:3:2" icon="tool-spindle.png" type="int" minimum_value="100"/>
<param tool_tip="Step over for pocketing and finishing" type="sub-header" call="#param_h6" name="Milling step over" path="1:4"/>
<param tool_tip="Maximum for pocketing or surface finishing" suffix="%" icon="rect-pocket.png" maximum_value="100" value="60" header="h6" call="#param_so_n" path="1:4:0" minimum_value="10" type="int" name="Expanding engagement"/>
<param digits="3" name="Minimum" metric_value="0.4" value="0.0157480314961" header="h6" call="#param_so_m" path="1:4:1" icon="rect-pocket.png" type="float" minimum_value="0.010"/>
<param type="sub-header" call="#param_h5" name="Penetration" path="1:5"/>
<param tool_tip="How Z position is attained" name="Mode" value="0" header="h5" call="#param_pen" path="1:5:0" type="combo" options="Ramp down=0:Plunge=1" icon="pen-mode.png"/>
<param tool_tip="Step down on each pass" name="Step down" metric_value="-3" maximum_value="0.0" value="-0.11811023622" header="h5" call="#param_stp" path="1:5:1" type="float" icon="tool-depth.png"/>
<param tool_tip="Z versus XY move" suffix="%" icon="ramp-down-rate.png" maximum_value="100" value="25" header="h5" call="#param_pr" path="1:5:2" minimum_value="0" type="int" name="Ramp down rate"/>
</feature>
</lcnc-ncam>

1
ncam/catalogs/mill/projects/examples

@ -1 +0,0 @@
/usr/share/linuxcnc/aux_gladevcp/NativeCAM/examples/mill

22
ncam/catalogs/ncam.conf

@ -1,22 +0,0 @@
[display]
width = 550
name-ellipsis = 2
name_col_width = 160
master_tv_width = 175
restore_expand_state = True
tv2_expandable = False
tv_expandable = False
[icons_size]
treeview = 28
add_menu = 24
menu = 4
toolbar = 5
add_dlg = 70
ncam_toolbar = 30
[virtual_kb]
minimum_width = 260
height = 260
cancel_on_focus_out = True

70
ncam/catalogs/plasma/_menu-custom.xml

@ -1,70 +0,0 @@
<ncam_ui>
<menu>
<menu action='basics' name=_('Basic Shapes')_ icon="basic.png">
<menuitem action='rectangle' name=_('Rectangle')_ tool_tip=_('Create a rectangle with optional corner types')_ icon="center-rect.png" src="plasma/rectangle.cfg"/>
<separator/>
<menuitem action='circle' name=_('Circle')_ tool_tip=_('Create a circle with optional D flat')_ icon="circle.png" src="plasma/circle.cfg"/>
<menuitem action='circle2' name=_('Circle From 2 Points')_ tool_tip=_('Define ends of diameter')_ icon="circle-2.png" src="plasma/circle-2.cfg"/>
<separator/>
<menuitem action='slot1' name=_('Slot/Oval From 1 Point')_ tool_tip=_('Define a point, angle and length')_ icon="slot.png" src="plasma/slot.cfg"/>
<menuitem action='slot2' name=_('Slot/Oval From 2 Points')_ tool_tip=_('Define center of ends')_ icon="slot-2.png" src="plasma/slot-2.cfg"/>
<menuitem action='radial_slot' name=_('Radial Slot')_ tool_tip=_('Create a radial slot')_ icon="radial-slot.png" src="plasma/slot-arc.cfg"/>
<separator/>
<menuitem action='ellipse' name=_('Ellipse')_ tool_tip=_('Create an ellipse')_ icon="ellipse.png" src="plasma/ellipse.cfg"/>
<menuitem action='polygon' name=_('Polygon')_ tool_tip=_('Polygon of N edges')_ icon="hexagon.png" src="plasma/polygon.cfg"/>
</menu>
<menu action='advanced' name=_('Advanced')_ icon='advanced.png'>
<menu action='polyline' name=_('Polyline')_ icon="polyline.png">
<menuitem action='poly_start' name=_('Begin')_ tool_tip=_('Starts a polyline')_ icon="polyline.png" src="plasma/polyline.cfg"/>
<separator/>
<menuitem action='polyline_to' name=_('Line To')_ tool_tip=_('Relative or absolute position')_ icon="line-to.png" src="plasma/polyline-to.cfg"/>
<menuitem action='polyline_pol' name=_('Line Polar')_ tool_tip=_('Define angle and length')_ icon="line-polar.png" src="plasma/polyline-polar.cfg"/>
<separator/>
<menuitem action='poly_arc_ij' name=_('Arc I,J')_ tool_tip=_('Defined center by offsets or absolute position')_ icon="arc-to-ij.png" src="plasma/polyline-arc-ij.cfg"/>
<menuitem action='poly_arc_pol_ctr' name=_('Arc Polar Center')_ tool_tip=_('Define center at angle and distance')_ icon="arc-polar-ctr.png" src="plasma/polyline-arc-polar.cfg"/>
<menuitem action='poly_arc_coords' name=_('Arc To Coords')_ tool_tip=_('Define end point, arc height or radius')_ icon="arc-to-coords.png" src="plasma/polyline-arc-to.cfg"/>
<menuitem action='poly_arc_to_pol' name=_('Arc To Polar')_ tool_tip=_('Define end point, arc height or radius')_ icon="arc-polar.png" src="plasma/polyline-arc-top.cfg"/>
<menuitem action='poly_bisector' name=_('Arc Mirror End')_ tool_tip=_('Define I,J and mirror line')_ icon="arc-bisector.png" src="plasma/polyline-arc-m.cfg"/>
<separator/>
<menuitem action='poly_repeat' name=_('Repeat Items')_ tool_tip=_('Repeat a group of polyline items')_ icon="poly-repeat-items.png" src="plasma/polyline-repeat.cfg"/>
<menuitem action='poly_mir_itms' name=_('Mirror Items')_ tool_tip=_('Duplicate and reverse polyline items')_ icon="polyline-mirror-items.png" src="plasma/polyline-mirror-i.cfg"/>
<separator/>
<menuitem action='poly_mirror' name=_('Mirror Polyline')_ tool_tip=_('Create a reversed polyline from previous one')_ icon="polyline-mirrored.png" src="plasma/polyline-mirror-p.cfg"/>
</menu>
</menu>
<menu action='groups' name=_('Group, Offset And Rotation')_ icon="group.png">
<menuitem action='group_std' name=_('Standard Group')_ tool_tip=_('Group subroutines')_ icon="group.png" src="group.cfg"/>
<menuitem action='group_off' name=_('Offset/Rotate')_ tool_tip=_('Group subroutines, offset and rotate')_ icon="group-offset.png" src="group-off.cfg"/>
<separator/>
<menuitem action='group_radial' name=_('Radial Array')_ tool_tip=_('Define diameter or distance between menus')_ icon="circ-array-diam.png" src="circular-array.cfg"/>
<menuitem action='group_arr' name=_('Rectangular Array')_ tool_tip=_('Array of rows and columns')_ icon="rect-array.png" src="rectangular-array.cfg"/>
</menu>
<menuitem action='cutting_params' name=_('Cutting Params')_ tool_tip=_('Set cutting parameters')_ icon="torch.png" src="plasma/cutting-params3d.cfg"/>
<menu action='misc' name=_('Miscellaneous')_ icon='misc.png'>
<menuitem action='stock' name=_('Raw Material')_ tool_tip=_('Show a temporary image of rough material')_ icon="square.png" src="plasma/material3d.cfg"/>
<menuitem action='gcode' name=_('Custom G Code')_ tool_tip=_('Write custom gcode')_ icon="gcode.png" src="gcode.cfg"/>
<menuitem action='gcode_file' name=_('Insert a G Code File')_ tool_tip=_('Include a custom gcode file')_ icon="file-gcode.png" src="i_gcode.cfg"/>
<menuitem action='comment' name=_('Comment')_ tool_tip=_('Add comments')_ icon="comment.png" src="comment.cfg"/>
<menuitem action='prjdesc' name=_('Project Notes')_ tool_tip=_('View project name and note')_ icon="prj-desc.png" src="proj_desc.cfg"/>
</menu>
</menu>
<toolbar>
<toolitem action='cutting_params' />
<toolitem action='circle' />
<toolitem action='rectangle' />
<toolitem action='slot1' />
<toolitem action='radial_slot' />
<separator/>
<toolitem action='group_std' />
<toolitem action='group_radial' />
<toolitem action='group_arr' />
<separator/>
<toolitem action='poly_start' />
<toolitem action='polyline_to' />
<toolitem action='poly_arc_ij' />
<separator/>
<toolitem action='gcode' />
<toolitem action='stock' />
</toolbar >
</ncam_ui>

70
ncam/catalogs/plasma/menu.xml

@ -1,70 +0,0 @@
<ncam_ui>
<menu>
<menu action='basics' name=_('Basic Shapes')_ icon="basic.png">
<menuitem action='rectangle' name=_('Rectangle')_ tool_tip=_('Create a rectangle with optional corner types')_ icon="center-rect.png" src="plasma/rectangle.cfg"/>
<separator/>
<menuitem action='circle' name=_('Circle')_ tool_tip=_('Create a circle with optional D flat')_ icon="circle.png" src="plasma/circle.cfg"/>
<menuitem action='circle2' name=_('Circle From 2 Points')_ tool_tip=_('Define ends of diameter')_ icon="circle-2.png" src="plasma/circle-2.cfg"/>
<separator/>
<menuitem action='slot1' name=_('Slot/Oval From 1 Point')_ tool_tip=_('Define a point, angle and length')_ icon="slot.png" src="plasma/slot.cfg"/>
<menuitem action='slot2' name=_('Slot/Oval From 2 Points')_ tool_tip=_('Define center of ends')_ icon="slot-2.png" src="plasma/slot-2.cfg"/>
<menuitem action='radial_slot' name=_('Radial Slot')_ tool_tip=_('Create a radial slot')_ icon="radial-slot.png" src="plasma/slot-arc.cfg"/>
<separator/>
<menuitem action='ellipse' name=_('Ellipse')_ tool_tip=_('Create an ellipse')_ icon="ellipse.png" src="plasma/ellipse.cfg"/>
<menuitem action='polygon' name=_('Polygon')_ tool_tip=_('Polygon of N edges')_ icon="hexagon.png" src="plasma/polygon.cfg"/>
</menu>
<menu action='advanced' name=_('Advanced')_ icon='advanced.png'>
<menu action='polyline' name=_('Polyline')_ icon="polyline.png">
<menuitem action='poly_start' name=_('Begin')_ tool_tip=_('Starts a polyline')_ icon="polyline.png" src="plasma/polyline.cfg"/>
<separator/>
<menuitem action='polyline_to' name=_('Line To')_ tool_tip=_('Relative or absolute position')_ icon="line-to.png" src="plasma/polyline-to.cfg"/>
<menuitem action='polyline_pol' name=_('Line Polar')_ tool_tip=_('Define angle and length')_ icon="line-polar.png" src="plasma/polyline-polar.cfg"/>
<separator/>
<menuitem action='poly_arc_ij' name=_('Arc I,J')_ tool_tip=_('Defined center by offsets or absolute position')_ icon="arc-to-ij.png" src="plasma/polyline-arc-ij.cfg"/>
<menuitem action='poly_arc_pol_ctr' name=_('Arc Polar Center')_ tool_tip=_('Define center at angle and distance')_ icon="arc-polar-ctr.png" src="plasma/polyline-arc-polar.cfg"/>
<menuitem action='poly_arc_coords' name=_('Arc To Coords')_ tool_tip=_('Define end point, arc height or radius')_ icon="arc-to-coords.png" src="plasma/polyline-arc-to.cfg"/>
<menuitem action='poly_arc_to_pol' name=_('Arc To Polar')_ tool_tip=_('Define end point, arc height or radius')_ icon="arc-polar.png" src="plasma/polyline-arc-top.cfg"/>
<menuitem action='poly_bisector' name=_('Arc Mirror End')_ tool_tip=_('Define I,J and mirror line')_ icon="arc-bisector.png" src="plasma/polyline-arc-m.cfg"/>
<separator/>
<menuitem action='poly_repeat' name=_('Repeat Items')_ tool_tip=_('Repeat a group of polyline items')_ icon="poly-repeat-items.png" src="plasma/polyline-repeat.cfg"/>
<menuitem action='poly_mir_itms' name=_('Mirror Items')_ tool_tip=_('Duplicate and reverse polyline items')_ icon="polyline-mirror-items.png" src="plasma/polyline-mirror-i.cfg"/>
<separator/>
<menuitem action='poly_mirror' name=_('Mirror Polyline')_ tool_tip=_('Create a reversed polyline from previous one')_ icon="polyline-mirrored.png" src="plasma/polyline-mirror-p.cfg"/>
</menu>
</menu>
<menu action='groups' name=_('Group, Offset And Rotation')_ icon="group.png">
<menuitem action='group_std' name=_('Standard Group')_ tool_tip=_('Group subroutines')_ icon="group.png" src="group.cfg"/>
<menuitem action='group_off' name=_('Offset/Rotate')_ tool_tip=_('Group subroutines, offset and rotate')_ icon="group-offset.png" src="group-off.cfg"/>
<separator/>
<menuitem action='group_radial' name=_('Radial Array')_ tool_tip=_('Define diameter or distance between menus')_ icon="circ-array-diam.png" src="circular-array.cfg"/>
<menuitem action='group_arr' name=_('Rectangular Array')_ tool_tip=_('Array of rows and columns')_ icon="rect-array.png" src="rectangular-array.cfg"/>
</menu>
<menuitem action='cutting_params' name=_('Cutting Params')_ tool_tip=_('Set cutting parameters')_ icon="torch.png" src="plasma/cutting-params2d.cfg"/>
<menu action='misc' name=_('Miscellaneous')_ icon='misc.png'>
<menuitem action='stock' name=_('Raw Material')_ tool_tip=_('Show a temporary image of rough material')_ icon="square.png" src="plasma/material2d.cfg"/>
<menuitem action='gcode' name=_('Custom G Code')_ tool_tip=_('Write custom gcode')_ icon="gcode.png" src="gcode.cfg"/>
<menuitem action='gcode_file' name=_('Insert a G Code File')_ tool_tip=_('Include a custom gcode file')_ icon="file-gcode.png" src="i_gcode.cfg"/>
<menuitem action='comment' name=_('Comment')_ tool_tip=_('Add comments')_ icon="comment.png" src="comment.cfg"/>
<menuitem action='prjdesc' name=_('Project Notes')_ tool_tip=_('View project name and note')_ icon="prj-desc.png" src="proj_desc.cfg"/>
</menu>
</menu>
<toolbar>
<toolitem action='cutting_params' />
<toolitem action='circle' />
<toolitem action='rectangle' />
<toolitem action='slot1' />
<toolitem action='radial_slot' />
<separator/>
<toolitem action='group_std' />
<toolitem action='group_radial' />
<toolitem action='group_arr' />
<separator/>
<toolitem action='poly_start' />
<toolitem action='polyline_to' />
<toolitem action='poly_arc_ij' />
<separator/>
<toolitem action='gcode' />
<toolitem action='stock' />
</toolbar >
</ncam_ui>

3
ncam/catalogs/plasma/projects/README

@ -1,3 +0,0 @@
save all your projects in this
sub-directory which is the default
when you want to open one

35
ncam/catalogs/plasma/projects/default_template.xml

@ -1,35 +0,0 @@
<lcnc-ncam>
<feature src="plasma/material2d.cfg" after="" help="&lt;b&gt;Workpiece or Raw material used&lt;/b&gt;" old-selected="False" before="" expanded="False" id="workpiece2_001" new-selected="False" definitions="" call="&#10;(begin #sub_name)&#10;(workpiece definition author : Fernand Veilleux)&#10;#&lt;wp_width&gt; = [#&lt;_units_width&gt; * #param_w]&#10;#&lt;wp_length&gt; = [#&lt;_units_width&gt; * #param_l]&#10;#&lt;wp_depth&gt; = [#&lt;_units_width&gt; * #param_d]&#10;#&lt;wp_wall&gt; = [#&lt;_units_width&gt; * #param_wt]&#10;#&lt;wp_corner_radius&gt; = [#&lt;_units_width&gt; * #param_cr]&#10;#&lt;wp_inside_width&gt; = [#&lt;wp_width&gt; - #&lt;wp_wall&gt; * 2]&#10;#&lt;wp_inside_length&gt; = [#&lt;wp_length&gt; - #&lt;wp_wall&gt; * 2]&#10;&#10;#&lt;wp_x&gt; = #param_x&#10;#&lt;wp_y&gt; = #param_y&#10;&#10;o&lt;select&gt; CALL [31] [#param_alx] [#param_x] [#param_x - #&lt;wp_length&gt; / 2] [#param_x - #&lt;wp_length&gt;]&#10;#&lt;wp_left&gt; = #31&#10;#&lt;wp_right&gt; = [#&lt;wp_left&gt; + #&lt;wp_length&gt;]&#10;&#10;o&lt;select&gt; CALL [31] [#param_aly] [#param_y - #&lt;wp_width&gt;] [#param_y - #&lt;wp_width&gt; / 2] [#param_y]&#10;#&lt;wp_front&gt; = #31&#10;#&lt;wp_rear&gt; = [#&lt;wp_front&gt; + #&lt;wp_width&gt;]&#10;&#10;o&lt;select&gt; CALL [31] [#param_alz] [#param_z] [#param_z + #&lt;wp_depth&gt;]&#10;#&lt;surface&gt; = #31&#10;&#10;#&lt;bottom&gt; = [#&lt;surface&gt; - #&lt;wp_depth&gt;]&#10;&#10;/&#9;o&lt;#self_id_active&gt; if [#param_sh] (show enabled)&#10;/&#9;&#9;o&lt;stock&gt; CALL [#&lt;wp_left&gt;] [#&lt;wp_right&gt;] [#&lt;wp_front&gt;] [#&lt;wp_rear&gt;] [#&lt;surface&gt;] [#&lt;bottom&gt;] [#param_cl] [#&lt;wp_corner_radius&gt;] [#&lt;wp_wall&gt;]&#10;/&#9;&#9;G0 X#param_x Y#param_y&#10;/&#9;&#9;o&lt;#self_id_has_Z_axis&gt; if [#&lt;_has_z_axis&gt;]&#10;/&#9;&#9;&#9;G0 Z#&lt;surface&gt;&#10;/&#9;&#9;o&lt;#self_id_has_Z_axis&gt; endif&#10;/&#9;o&lt;#self_id_active&gt; endif&#10;(end #sub_name)" hidden_count="0" path="0" icon="square.png" type="workpiece2" order="['PARAM_SH', 'PARAM_H1', 'PARAM_L', 'PARAM_W', 'PARAM_D', 'PARAM_H2', 'PARAM_X', 'PARAM_ALX', 'PARAM_Y', 'PARAM_ALY', 'PARAM_Z', 'PARAM_ALZ', 'PARAM_H4', 'PARAM_CR', 'PARAM_WT', 'PARAM_CL']" name="Workpiece">
<param name="Show workpiece" value="1" call="#param_sh" path="0:0" type="bool" icon="glasses.png"/>
<param call="#param_h1" type="sub-header" name="Size" path="0:1"/>
<param tool_tip="X axis" no_zero="1" name="Width (X)" metric_value="1000" value="40" header="h1" call="#param_l" path="0:1:0" minimum_value="0.0" type="float" icon="width.png"/>
<param tool_tip="Y axis" no_zero="1" name="Height (Y)" metric_value="500" value="20" header="h1" call="#param_w" path="0:1:1" minimum_value="0.0" type="float" icon="height.png"/>
<param tool_tip="Z axis" no_zero="1" name="Depth (Z)" metric_value="6.0" value="0.25" header="h1" call="#param_d" path="0:1:2" hidden="1" minimum_value="0.0" type="float" icon="depth.png"/>
<param call="#param_h2" type="sub-header" name="Coords" path="0:2"/>
<param tool_tip="X0" name="X" metric_value="0.0" value="0.0" header="h2" call="#param_x" path="0:2:0" type="float" icon="x.png"/>
<param tool_tip="Define X reference" name="X axis align" value="0" header="h2" call="#param_alx" path="0:2:1" type="combo" options="Left=0:Center=1:Right=2" icon="align-x.png"/>
<param tool_tip="Y0" name="Y" metric_value="0.0" value="0.0" header="h2" call="#param_y" path="0:2:2" type="float" icon="y.png"/>
<param tool_tip="Define Y reference" name="Y axis align" value="2" header="h2" call="#param_aly" path="0:2:3" type="combo" options="Top=0:Center=1:Bottom=2" icon="align-y.png"/>
<param tool_tip="Surface" name="Z" metric_value="0.0" value="0.0" header="h2" call="#param_z" path="0:2:4" hidden="1" type="float" icon="z.png"/>
<param tool_tip="Define Z reference" name="Z axis align" value="0" header="h2" call="#param_alz" path="0:2:5" hidden="1" type="combo" options="Top=0:Bottom=1"/>
<param call="#param_h4" type="sub-header" name="Options" path="0:3"/>
<param tool_tip="Define radius" name="Corner radius" metric_value="0.0" value="0.0" header="h4" call="#param_cr" path="0:3:0" icon="corner-radius.png" type="float" minimum_value="0.0"/>
<param tool_tip="Define if hollow" name="Wall thickness" metric_value="0.0" value="0.0" header="h4" call="#param_wt" path="0:3:1" hidden="1" icon="wall-thickness.png" type="float" minimum_value="0.0"/>
<param tool_tip="Define orientation of centerline" name="Centerline align" value="2" header="h4" call="#param_cl" path="0:3:2" hidden="1" type="combo" options="X axis=0:Y axis=1:Z axis=2"/>
</feature>
<feature src="plasma/cutting-params2d.cfg" expanded="False" help="&lt;b&gt;Add cutting parameters&lt;/b&gt;&amp;#10;Changes setting accordingly even if disabled" name="Cutting Params" old-selected="True" after="" order="['PARAM_ACT', 'PARAM_H1', 'PARAM_TNUM', 'PARAM_CUTSTART', 'PARAM_S', 'PARAM_F', 'PARAM_DELAY', 'PARAM_H6', 'PARAM_FEED', 'PARAM_VFEED', 'PARAM_H3', 'PARAM_RAP', 'PARAM_ZCL']" new-selected="False" hidden_count="0" definitions="" call="&#10;(begin #sub_name)&#10;(changed params and kerf changing code author : Fernand Veilleux)&#10;#&lt;_feed_normal&gt; = #param_feed&#10;#&lt;_feed_vertical&gt; = #param_vfeed&#10;#&lt;pl_cut_start&gt; = #param_cutstart&#10;#&lt;_z_clear&gt; = #param_zcl&#10;#&lt;_rapid_z&gt; = [#&lt;surface&gt; + #&lt;_z_clear&gt; + #param_rap]&#10;#&lt;_in_kerf_factor&gt; = #param_s&#10;#&lt;_out_kerf_factor&gt; = #param_f&#10;#&lt;_pierce_delay&gt; = #param_delay&#10;&#10;o&lt;#self_id_act&gt; if [#param_act AND [#param_tnum NE #5400]]&#10;&#9;T#param_tnum M6&#10;o&lt;#self_id_act&gt; endif&#10;F#&lt;_feed_normal&gt;&#10;(end #sub_name)" path="1" icon="torch.png" type="cut_params2" id="cut_params2_001" before="">
<param tool_tip="Cutting params will be set even if disabled" name="Active" value="1" call="#param_act" path="1:0" type="bool" icon="enable.png"/>
<param type="sub-header" call="#param_h1" name="Cut" path="1:1"/>
<param tool_tip="Select kerf width for compensation" name="Kerf width" value="0" header="h1" call="#param_tnum" path="1:1:0" type="tool" icon="torch.png"/>
<param tool_tip="Above surface" name="Start height" metric_value="3.0" value="0.100" header="h1" call="#param_cutstart" path="1:1:1" hidden="1" type="float" icon="surface.png"/>
<param tool_tip="Times kerf" name="Lead in factor" value="2.0" header="h1" call="#param_s" path="1:1:2" minimum_value="0.501" type="float" icon="lead-in.png"/>
<param tool_tip="Times kerf" name="Lead out factor" value="1.5" header="h1" call="#param_f" path="1:1:3" minimum_value="0.501" type="float" icon="lead-out.png"/>
<param tool_tip="Wait after torch OK" name="Pierce delay" value="0.25" header="h1" call="#param_delay" path="1:1:4" minimum_value="0.0" type="float" icon="timer.png"/>
<param type="sub-header" call="#param_h6" name="Feed" path="1:2"/>
<param name="Normal feed" metric_value="250" value="10" header="h6" call="#param_feed" path="1:2:0" minimum_value="0.0" type="float" icon="tool-feed.png"/>
<param name="Vertical feed" metric_value="250" value="10" header="h6" call="#param_vfeed" path="1:2:1" hidden="1" minimum_value="0.0" type="float" icon="tool-vertical-feed.png"/>
<param type="sub-header" hidden="1" call="#param_h3" name="Rapid params" path="1:3"/>
<param tool_tip="Above Z clear" no_zero="1" name="Rapid (Z)" metric_value="2.5" value="0.1" header="h3" call="#param_rap" path="1:3:0" hidden="1" icon="rapid.png" type="float" minimum_value="0.0"/>
<param tool_tip="Above cut start" no_zero="1" name="Z clear" metric_value="5.0" value="0.2" header="h3" call="#param_zcl" path="1:3:1" hidden="1" icon="safe-z.png" type="float" minimum_value="0.0"/>
</feature>
</lcnc-ncam>

1
ncam/catalogs/plasma/projects/examples

@ -1 +0,0 @@
/usr/share/linuxcnc/aux_gladevcp/NativeCAM/examples/plasma

33
ncam/catalogs/translating

@ -1,33 +0,0 @@
How to translate NativeCAM in your own language
Required : poedit
Create a new clone of NativeCAM
locale/en/LC_MESSAGES/nativecam.po is a blank file with all the strings that need to be translated
copy this file to
locale/??/LC_MESSAGES/nativecam.po (using your 2 letters language code, i.e. 'it', 'es', 'ru' etc)
(do not simply rename)
Open locale/??/LC_MESSAGES/nativecam.po file with poedit
Select a line and right click on it to see the source.
If the source is a cfg file, open it to learn if it is a label/name or tool_tip and what is the context
A label/name should be translated with a short string to fit in the column 'Name' of the treeview
A tool_tip does not have this limitation but keep the same format, best by copying to the translation before editing
Testing in NativeCAM
open a terminal in the cloned directory
enter 'export NATIVECAM_LOCALE="full path to locale subdirectory"' ex: '/home/USER-NAME/NativeCAM/locale'
enter 'export LANGUAGE=??'
enter ./ncam.py
There are about 900 strings to translate, do not care about 'lathe' stuff now because they all have to be redone
Be patient, it will take about 12 hours for the first pass, then 2-4 for testing
When you have started the project, you should let users know on lcnc forum to avoid someone else working on the same task
When you are satisfied, please let me know and submit your nativecam.po either with a pull request or by e-mail.
It will be included as your contribution

1
ncam/cfg

@ -1 +0,0 @@
/usr/share/linuxcnc/aux_gladevcp/NativeCAM/cfg

1
ncam/graphics

@ -1 +0,0 @@
/usr/share/linuxcnc/aux_gladevcp/NativeCAM/graphics

1
ncam/lib

@ -1 +0,0 @@
/usr/share/linuxcnc/aux_gladevcp/NativeCAM/lib

17
ncam/my-stuff/README

@ -1,17 +0,0 @@
Use this sub-directory for all your custom
files of type *.cfg, *.ngc or else but not projects
Only this file could be modified in the future,
none of yours
If you have ngc files, modify your
inifile [SUBROUTINE_PATH]
to include this sub-directory to be
the first one i.e
ncam/my-stuff:ncam/lib/mill:ncam/lib/utilities
or have NativeCAM do it for you by running stand-alone
specifying the ini file you want modified i.e
ncam -i your_inifile
To modify menu.xml, read catalogs/customize

35
ncam/scripts/M123

@ -1,35 +0,0 @@
#!/usr/bin/env python
# coding: utf-8
import gtk
import os
import pygtk
pygtk.require('2.0')
from gtk import gdk
fname = '/home/ton/linuxcnc/configs/mesa_2019/ncam/catalogs/no_skip_dlg.conf'
if os.path.isfile(fname) :
exit(0)
msg = 'Stop LinuxCNC program,&#10;toggle the shown button,&#10;then restart'
msg1 = 'Skip block not active'
icon_fname = '/home/ton/linuxcnc/configs/mesa_2019/ncam/graphics/skip_block.png'
dlg = gtk.MessageDialog(parent = None, flags = gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT, type = gtk.MESSAGE_WARNING, buttons = gtk.BUTTONS_NONE, message_format = msg1)
dlg.set_title('NativeCAM')
dlg.format_secondary_markup(msg)
dlg.set_image(gtk.Image())
dlg.get_image().set_from_pixbuf(gdk.pixbuf_new_from_file_at_size(icon_fname, 80, 80))
cb = gtk.CheckButton(label = "Do not show again")
dlg.get_content_area().pack_start(cb, True, True, 0)
dlg.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK).grab_focus()
dlg.set_keep_above(True)
dlg.show_all()
dlg.run()
if cb.get_active() :
open(fname, 'w').close()
exit(0)

153
ncam/scripts/ncam.ngc

@ -1,153 +0,0 @@
(*** GCode generated by NativeCAM for LinuxCNC ***)
(*.ngc files are best viewed with Syntax Highlighting)
(visit https://forum.linuxcnc.org/forum/20-g-code/30840-new-syntax-highlighting-for-gedit)
(or https://github.com/FernV/Gcode-highlight-for-Kate)
G21 (metric)
G17 G40 G49 G90 G92.1 G94 G54 G64 p0.001
#<center_drill_depth> = -3.0
#<_pocket_expand_mode> = 0
(optimization values)
#<_tool_eng1> = 0.2
#<_tool_eng2> = 0.3
#<_tool_eng3> = 0.8
#<_feedfactor1> = 1.6
#<_feedfactor2> = 1.4
#<_feedfactor3> = 1.25
#<_feedfactor4> = 1.0
#<_feedfactor0> = 1.0
#<_speedfactor1> = 1.25
#<_speedfactor2> = 1.25
#<_speedfactor3> = 1.25
#<_speedfactor4> = 1.0
#<_speedfactor0> = 1.0
#<_probe_func> = 38.4
#<_probe_feed> = 200.0
#<_probe_latch> = -1.0
#<_probe_latch_feed> = 50.0
#<_probe_safe> = 5.0
#<_probe_tip_dia> = 3.0
#<_probe_tool_len_comp> = 1
#<probe_height> = 0.0
#<_tool_probe_z> = 0.0
#<_off_rot_coord_system> = 57
#<_mill_data_start> = 70
#<in_polyline> = 0
#<_has_z_axis> = 1
#<_show_final_cuts> = 1
#<_show_bottom_cut> = 1
#<_spindle_all_time> = 1
#<_spindle_speed_up_delay> = 0.0
(end defaults)
#<_units_radius> = 1 (for backward compatibility)
#<_units_width> = 1 (for backward compatibility)
#<_units_cut_depth> = 1 (for backward compatibility)
#<_tool_dynamic_dia> = 0.0
(This is a built-in safety to help avoid gouging into your work piece)
/ o<safety_999> if [#<_show_final_cuts>]
/ o<safety_9999> repeat [1000]
/ M123
/ M0
/ o<safety_9999> endrepeat
/ o<safety_999> endif
(sub definitions)
(end sub definitions)
(begin Workpiece)
(workpiece definition author : Fernand Veilleux)
#<wp_width> = [50.800000]
#<wp_length> = [101.600000]
#<wp_depth> = [25.400000]
#<wp_wall> = [0.000000]
#<wp_corner_radius> = [0.000000]
#<wp_inside_width> = [#<wp_width> - #<wp_wall> * 2]
#<wp_inside_length> = [#<wp_length> - #<wp_wall> * 2]
#<wp_x> = 0.000000
#<wp_y> = 0.000000
o<select> CALL [31] [0] [0.000000] [0.000000 - #<wp_length> / 2] [0.000000 - #<wp_length>]
#<wp_left> = #31
#<wp_right> = [#<wp_left> + #<wp_length>]
o<select> CALL [31] [2] [0.000000 - #<wp_width>] [0.000000 - #<wp_width> / 2] [0.000000]
#<wp_front> = #31
#<wp_rear> = [#<wp_front> + #<wp_width>]
o<select> CALL [31] [0] [0.000000] [0.000000 + #<wp_depth> / 2] [0.000000 + #<wp_depth>]
#<surface> = #31
#<_z_clear> = 2.540000
#<_rapid_z> = [#<surface> + #<_z_clear> + 10.160000]
#<bottom> = [#<surface> - #<wp_depth>]
#<bottom_through> = [#<bottom> + -1.270000]
/ o<workpiece_001_active> if [1 AND #<_show_final_cuts>] (show active)
/ o<stock> CALL [#<wp_left>] [#<wp_right>] [#<wp_front>] [#<wp_rear>] [#<surface>] [#<bottom>] [0] [#<wp_corner_radius>] [#<wp_wall>]
/ G0 X0.000000 Y0.000000 Z#<surface>
/ o<workpiece_001_active> endif
(end Workpiece)
(begin End Mill Change)
(end mill change params and changing code author : Fernand Veilleux)
#<_spindle_dir> = 3
#<_cooling_mode> = 8
#<_feed_normal> = 250.000000
#<_rpm_normal> = 1000
#<_feed_vertical> = 200.000000
#<_penetration_mode> = 0
#<_depth_step> = -3.000000
#<_ramp_down_ratio> = [25 / 100]
#<_tool_usage> = 0
#<_stepover_min> = 0.400000
#<_stepover_normal> = [60 / 100]
#<_tool_dynamic_dia> = 0.000000
o<emill_chng_001_tlc> if [[3 EQ 3] AND [0 GT 0]]
M61 Q0
o<emill_chng_001_tlc> endif
o<emill_chng_001_act> if [1 AND [0 NE #5400]]
M9
T0 M6
o<emill_chng_001_act> endif
o<emill_chng_001_lc> if [[3 EQ 1] OR [3 EQ 2]]
G43 H0
o<emill_chng_001_lc> endif
o<emill_chng_001_01> if [[#<_spindle_dir> GT 0] AND #<_spindle_all_time>]
o<set_feed_rate_and_speed> CALL [1]
o<emill_chng_001_01> endif
(end End Mill Change)
M2

8
tool.tbl

@ -1,11 +1,13 @@
T0 P0 ;
T0 P0 ;
T0 P0 ;
T1 P1 Z+1.618921 ;
T1 P1 Z+1.618900 ;
T42 P42 D6.350000 X+1.000000 Y+1.000000 ;added 20190422
T24 P24 D6.350000 Z+1.677670 ;comment
T24 P24 D6.350000 Z+1.677700 ;comment
T6 P6 Z-5.514300 ;comment
T99 P99 D1.000000 Z-28.776100 ;60 degre v-bit
T31 P0 D2.000000 Z+7.930100 ;comment
T111 P0 Z+13.110800 ;60 degree small
T5 P0 ;comment
T5 P5 D6.000000 Z-19.036700 ;2 Flute End Mill Cutter Spiral Drill Bit CNC Tool 6x6x24x68mm
T61 P61 D6.350000 Z-258.566300 ;6.35
T63 P63 D3.175000 Z-35.988270 ;3.175 mm carbid single flute

Loading…
Cancel
Save