import adsk.core, adsk.cam, traceback def run(context): ui = None try: app = adsk.core.Application.get() doc = app.activeDocument products = doc.products # Get the CAM product cam = adsk.cam.CAM.cast(products.itemByProductType("CAMProductType")) # List of all setups setups = cam.setups for setup in setups: # Change the program name of each setup to 1234 programNameParam = setup.parameters.itemByName('job_programName') programNameParam.expression = "1234" for operation in setup.operations: # Change tolerance in all operations toleranceParam = operation.parameters.itemByName('tolerance') toleranceParam.expression = "0.1mm" # Generate all toolpaths, skipping any that are already valid cam.generateAllToolpaths(True) except: if ui: ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))
#include <Core/CoreAll.h> #include <CAM/CAMAll.h> using namespace adsk::core; using namespace adsk::cam; extern "C" XI_EXPORT bool run(const char* context) { Ptr<Document> doc = Application::get()->activeDocument(); Ptr<CAM> cam = doc->products()->itemByProductType("CAMProductType"); // List of CAM setups Ptr<Setups> setups = cam->setups(); for each (Ptr<Setup> setup in setups) { // Change the program name for each setup setup->parameters()->itemByName("job_programName")->expression("12345"); for each (Ptr<Operation> operation in setup->allOperations()) { // Change the tolerance of each operation operation->parameters()->itemByName("tolerance")->expression("0.1mm"); } } // Generate all toolpaths cam->generateAllToolpaths(true); return true; }