@@ -151,33 +151,33 @@ def postToolpaths(ui, cam, viewResult):
151
151
os .startfile (outputFolder )
152
152
153
153
154
- def postCamToolpath (ui , cam , setup , units , outputFolder ):
155
- setupOperationType = None
154
+ def postCamToolpath (ui , cam , setup , units , output_folder , part_name ):
155
+ setup_operation_type = None
156
156
# verify there are operations in setup
157
157
if setup .operations .count == 0 :
158
158
ui .messageBox ('No CAM operations exist in {}.' .format (setup .name ))
159
159
return
160
160
161
161
try :
162
- setupOperationType = setup .operationType
162
+ setup_operation_type = setup .operationType
163
163
except :
164
164
pass # there is a bug in Fusion as of writing that means Additive setups don't have an operation type
165
165
166
- if setupOperationType == adsk .cam .OperationTypes .MillingOperation :
166
+ if setup_operation_type == adsk .cam .OperationTypes .MillingOperation :
167
167
# remove old files
168
- programName = 'tmp_ ' + setup .name
169
- remove_old_file (outputFolder , programName )
168
+ programName = part_name + '_ ' + setup .name
169
+ remove_old_file (output_folder , programName )
170
170
171
171
# get post processor
172
172
postConfig = os .path .join (Path (__file__ ).parents [2 ], 'post_processors' , 'asmbl_cam.cps' )
173
173
174
174
# create the postInput object
175
- postInput = adsk .cam .PostProcessInput .create (programName , postConfig , outputFolder , units )
175
+ postInput = adsk .cam .PostProcessInput .create (programName , postConfig , output_folder , units )
176
176
177
177
cam .postProcess (setup , postInput )
178
178
179
179
start = time .time ()
180
- file_path = os .path .join (outputFolder , programName + '.gcode' )
180
+ file_path = os .path .join (output_folder , programName + '.gcode' )
181
181
while not os .path .exists (file_path ):
182
182
if time .time () > start + 10 :
183
183
ui .messageBox ('Posting timed out' )
@@ -458,24 +458,27 @@ def notify(self, args):
458
458
return
459
459
460
460
try :
461
- outputFolder = os .path .expanduser ('~/Asmbl/output/standalone/' )
461
+ output_folder = os .path .expanduser ('~/Asmbl/output/standalone/' )
462
462
463
463
# get any unsuppressed setups.
464
464
setups = get_setups (ui , cam )
465
465
466
466
# specify the NC file output units
467
467
units = adsk .cam .PostOutputUnitOptions .DocumentUnitsOutput
468
468
469
+ # find part name
470
+ part_name = doc .name
471
+
469
472
for setup in setups :
470
- postCamToolpath (ui , cam , setup , units , outputFolder )
473
+ postCamToolpath (ui , cam , setup , units , output_folder , part_name )
471
474
472
475
except :
473
476
ui .messageBox ('Failed posting toolpaths:\n {}' .format (traceback .format_exc ()))
474
477
return
475
478
476
479
if (os .name == 'posix' ):
477
- os .system ('open "%s"' % outputFolder )
480
+ os .system ('open "%s"' % output_folder )
478
481
elif (os .name == 'nt' ):
479
- os .startfile (outputFolder )
482
+ os .startfile (output_folder )
480
483
481
- ui .messageBox ('Milling Setup Post Processing Complete.\n File saved in \' {}\' ' .format (outputFolder ))
484
+ ui .messageBox ('Milling Setup Post Processing Complete.\n File saved in \' {}\' ' .format (output_folder ))
0 commit comments