Additive Process

Paperless Parts has created statistical models that can quickly estimate runtime and support volume for a number of popular 3D printers. Note, these numbers may not exactly match the runtime and support volume computed by your printer’s proprietary slicing tool; however, Paperless Parts estimates are typically computed in a fraction of the time required to completely slice a part.

Runtimes and support volumes are specific to a particular additive technology (e.g., FDM, SLA, SLS) and often to a particular printer make or model. Contact support to connect the best additive runtime model with your operation or to work with us to create a new model for your equipment.

To analyze a part for additive manufacturing, add this line to your pricing program:

additive = analyze_additive()

The  additive object will contain the attributes described below.

Additive attributes
Attribute Description Metric units US units
runtime 3D print runtime hours hours
support_volume Required support volume mm^3 in^3
orientation Suggested (or overridden) orientation; value will be one of ‘x’, ‘x_neg’, ‘y’, ‘y_neg’, ‘z’, ‘z_neg’ n/a n/a
material_volume Sum of part and support volume mm^3 in^3
does_part_fit If there is a machine with a build area associated with the operation, this will tell you if the part fits given the requested or calculated orientation; value will be  True or False n/a n/a


This example suggests a pricing model derived from the runtime value generated by Paperless Parts:

additive = analyze_additive()

labor_rate = var('Labor Rate', 40, '$/hr', currency)
machine_rate = var('Machine Rate', 2, '$/hr', currency)

#Setting up setup time and runtime
setup_time = var('setup_time', 0.25, 'time in hr', number)
runtime = var('runtime', 0, 'time in hr', number, frozen=False)

#Updating runtime

PRICE = (setup_time * labor_rate) + (machine_rate * runtime * part.qty)
DAYS = 0

This example suggests a height/layer based runtime model, perhaps more useful for SLA, SLS and other powder or resin based machines:

additive = analyze_additive()

#shop rates
machine_rate = var('Machine Rate', 100, '$/ hr', currency)
labor_rate = var('Labor Rate', 85, '$/ hr', currency)

#declare default setup and runtime
setup_time = var('setup_time', 0.25, 'setup time, hr', number)
runtime = var('runtime', 0, 'run time, hr', number, frozen=False)

#setup layer height and time per layer
layer_height = var('Layer Height in mm', .08, 'Height of each layer in mm', number)
layer_time = var('Layer Time, seconds', 10, 'Recoat time seconds', number)

#identify number of layers on part
part_layers = var('# of Layers',0, 'Total # of layers', number, frozen=False)
part_layers.update(ceil(part.size_z / layer_height))

#runtime update
runtime.update((part_layers * layer_time) / 3600)

PRICE = setup_time * labor_rate + runtime * machine_rate * part.qty
DAYS = 0
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us