Software for technical applications by Exgenia
Welcome to exgenia.com. This is the home of NCCL, a programming language that can be used to write simple programs that perform many useful tasks in the shop floor.
NCCL is totally based on Lua a powerful language designed and maintained by a team at the Pontifical Catholic University of Rio de Janeiro in Brazil. It has a very clear syntax, it'e easy to learn and can be easily extended with new functions or embedded in custom applications.
Thanks to the ease of extending the language, many custom commands has been added to the LUA original set to make :
Copyright © 2010 by Exgenia
| ■ |
Create pockets (rectangular and circular) |
| ■ |
Engrave texts |
| ■ |
Reading point cloud files |
| ■ |
Engrave profiles from DXF files |
Think to NCCL as the "swiss knife" for everyday activity in the shop floor. It's not a CAM program but it can generate motions and it does have a postprocessor, It's not a reverse post processor but it can read GCODE files in order to extract information. NCCL can be easily extended with plugins written in NCCL itself or embedded in other applications. With some custom code it can also control hardware. Have a look at the intro and the tutorial and if you want to try it, download it. NCCL is free.
Versione Italiana
30/04/2011: NCCL Beta 0.5.0 is available for download
Improvements :
The post processor has been greatly improved. Coolant management has been fixed and tool length compensation in both length and radius is working correctly.
Number of decimal places, and line numbering are totally customizable.
Work origin ad D register are now user defined.
The round() command has been totally rewritten and its syntax has been slightly changed. Thanks to Pascal Baerten for his comments on this command. The round() command is the first to use a new feature that allow the user to set a default STEPOVER and a percentage value that authorize nccl to change the STEPOVER in order to reduce the number of steps to complete the task.
The new feature is in a new system variable called STEP_ADJ.
Ex :
Numeric Control Command Language
STEPOVER = 10 -- default stepover
STEP_ADJ = 50 -- modifying factor
round(50,1) -- machine the pocket...
in the above example the STEP_ADJ value of 50 means the that the default STEPOVER of 10 can be reduced up to 50% if needed. Nccl could use every value between 10 and 5 in order to reduce the number of steps to complete the pocket.
The facing() command has been improved and now require less steps to complete the job. Two new variables has been introduced to manage some new features of facing() : FACING_IN and FACING_OUT. with these variables the user can set the position of the tool in all of the motions.