While an ATU project may contain its own exporter implementation, an external exporter may be used instead. The former has the advantage that you know exactly what toolpath data and additional attributes are generated and what the exporter expects. The latter has the advantage that you can work with a ready-made exporter. This external exporter may be another EBPA or entirely different software altogether.
However, this requires agreement between the exporter and your EBPA that calls that external exporter. This agreement is defined with toolpath schemas. A toolpath schema is a string which must be specified when an export filter is declared (declareExportFilter) or the machine configuration is declared (declareMachine).
In declareMachine the schema string is specifying what data is generated when toolpaths are calculated:
exports.declareMachine = function(machineConfig) { machineConfig.setBuildstyleName('MyBuildstyle'); machineConfig.setMachineName('MyMachine'); machineConfig.addMaterialName('MyMachine’s material'); machineConfig.addLayerThickness(100); machineConfig.setSchema('com.autodesk.powderbed-1.0.0'); };
If the ATU project is implementing its own file export instead, then in declareExportFilter the schema string is specifying what input data the export routine is expecting:
exports.declareExportFilter = function(exportFilter) { exportFilter.declareFilterEx({ 'sFilterId' : UNIQUE_FILTER_ID_STRING, 'sFilterName' : 'MyMachineGcode', 'sFilterExtension' : 'gcode', 'nVersionMajor' : 1, 'nVersionMinor' : 0, 'isMultifile' : false, 'sSchema' : 'com.autodesk.powderbed-1.0.0' }); };
If these strings are equal, then the exporter is expected to be compatible with the generated toolpaths. Your ATU project must fulfill the requirements of the selected schema.
ATU comes with a number of built-in exporters, and it is also possible to attach additional exporters from external components.
The dialog Select export format is used to select an external exporter. It is accessed from the Run dialog, the Debug dialog, and the Export test build dialog.