Each hardware component may require an individual sequence of processing operations in order to obtain the required recess for fixing it to the piece of furniture. Woodwork for Inventor provides the possibility to write a JS Macro program for the cutting component, which would generate the text for a Front-End program that reflects this sequence of operations. This text is integrated into the final CNC processing program output. The Front-End program is generated for a specific CNC machine. The user outputs the tool movements of the specific machine in the Front-End program or creates a Front-End Macro call procedure. This allows the creation of highly complex processing fragments which may require more than one tool pass and/or exploit specific functions of a particular machine, such as drilling a hole and inserting a pin.
The knowledge and competences required to develop hardware components with Macro processing:
1. | Have a general understanding of programming. |
2. | Know the programming principles of CNC machines for woodworking. |
3. | Know the syntax of the programming language of the specific CNC machines for which the Front-End programs will be developed. |
4. | Have a basic knowledge of JavaScript programming. |
5. | Have a general understanding of how Woodwork for Inventor hardware components with cut-out functionality are developed. |
All the following explanations and examples are provided for the Front-End CAM system for the Homag Woodwop CNC machine group. This was done because the Woodwop software development team agreed to cooperate with us and provided all the necessary documentation. In addition, the Woodwop CAM system itself and the full description of the Woodwop system in MPR format are easily accessible on the official Homag website. The 45 free trial runs of the system will allow the user to test and study the examples provided by Woodwork for Inventor and thus get a better understanding of the whole principle of Macro generation. The operating mechanisms demonstrated in the Woodwop CAM examples can be applied to any other system. The only difference here is the syntax of the output CNC program.
Macro preparation steps:
1. | Creation of a hardware part or assembly. |
2. | The component must necessarily create a geometry generating the recess, i.e. a solid body with a “+” or “-” sign in the body name. |
3. | If necessary, auxiliary User Coordinate Systems (UCS) shall be created to define the Macro base point. |
4. | The JS Macro build command is run. It defines: |
a. | For which machine the JS Macro description is created. |
b. | Which recess generating body will use the generated JS Macro description. The recess generating body can be associated with several JS Macro descriptions at the same time. |
c. | Which coordinate system is associated with the given JS Macro description. The coordinate system may be the specified global coordinate system of the cutting component or any other User Coordinate System (UCS). |
d. | JS Macro program is created which will generate a Front-End program fragment that carries the processing of the given component. |
Macro usage:
2. | The Sculpt command is then used to cut out the recess. With the sculpting operation, each sculpt body automatically transfers its JS Macro program(s) to the part to be cut, if any have been created and assigned. |
3. | The CAM module recognizes this information in the part and allows the creation of a Sculpt Processing operation that accommodates all Front-End Macro operations. |
4. | After the final program output is run, the JS Macro program contained in the Sculpt Processing operation is interpreted and the text generated by the JS Macro program is integrated into the final CNC program body. |