The manufacturing process chain consists of numerous process steps. The calculated values for process times and cost are based on 3D Sparks database and may differ from reality. To teach the algorithm adapt to real world scenarios, it is important to feedback actual values, which may be done via API.
Process Step Feedback (PUT)
Adjust values of a single process step.
Form Data
Parameter | Description | Type | Unit | Valid Values |
setup_time | Time required to manually setup the machine* | float | h | 0 – 100000 |
process_time | Machine* occupation. | float | h | 0 – 100000 |
unloading_time | Time required to manually unload the machine* till the next setup cycle can be started. | float | h | 0 – 100000 |
machine_hourly_rate | Machine hourly rate of the involved machine* | float | €/h | 0 – 100000 |
staff_time_factor | Percentage of the process time the machine* has to be supervised by personell. | float | – | 0 – 1.0 |
leadtime | Lead time added by this process step. | int | d | 0 – 100000 |
One of these values will suffice. Post the one with the greatest confidence. The other two will be calculated using the given parts per job or lot size depending on the context:
Parameter | Description | Type | Unit | Valid Values |
cost_pp | Total process step cost per part. | float | € | 0 – 100000 |
cost_pj | Total process step cost per job. | float | € | 0 – 100000 |
cost_pl | Total process step cost per lot. | float | € | 0 – 100000 |
One of these values will suffice. Post the one with the greatest confidence. The other two will be calculated using the given parts per job or lot size depending on the context:
Parameter | Description | Type | Unit | Valid Values |
labor_pp | Total labor time per part. | float | h | 0 – 100000 |
labor_pj | Total labor time per job. | float | h | 0 – 100000 |
labor_pl | Total labor time per lot. | float | h | 0 – 100000 |
One of these values will suffice. Post the one with the greatest confidence. The other two will be calculated using the given parts per job or lot size depending on the context:
Parameter | Description | Type | Unit | Valid Values |
mac_t_pp | Total machine occupation per part. | float | h | 0 – 100000 |
mac_t_pj | Total machine occupation per lot. | float | h | 0 – 100000 |
mac_t_pl | Total machine occupation per job. | float | h | 0 – 100000 |
Return Data
Returns the edited process step:
{
"key": 1,
"process_step_id": "d0805cb4cc9e41a5bc872ec81bad7206",
"acronym": "slm_data_prp",
"name": "Data Preparation",
"tech": "additive_manufacturing",
"prc_acronym": "slm",
"step_type": "pre",
"obligatory": true,
"calc_lvl": "lot",
"setup_time": 1,
"process_time": 2,
"unloading_time": 3,
"machine_hourly_rate": 4,
"staff_time_factor": 5,
"cost": {
"cost_pp": 1.1,
"cost_pj": 1.33,
"cost_pl": 45.225
},
"labor": {
"labor_pp": "01:12",
"labor_pj": "00:01",
"labor_pl": "00:45"
},
"mac_t": {
"mac_t_pp": "01:18",
"mac_t_pj": "00:01",
"mac_t_pl": "00:45"
},
"cost_bd": {
"cost_bd_pp_pre": 0.09,
"cost_bd_pp_main": 0,
"cost_bd_pp_post": 0,
"cost_bd_pp_mat": 0
},
"leadtime": 6,
"order": 60
}
Usage
# PUT "https://platform.3dspark.de/api/v1/process-step-feedback/<process_step_id>/"
let formData = {
"setup_time": 1,
"process_time": 2,
"unloading_time": 3,
"machine_hourly_rate": 4,
"staff_time_factor": 5,
"leadtime": 6,
"cost_pp": 1.1,
// "cost_pj": 1,
// "cost_pl": 1,
"labor_pp": 1.2,
// "labor_pj": 1,
// "labor_pl": 1,
"mac_t_pp": 1.3,
// "mac_t_pj": 1,
// "mac_t_pl": 1,
}
this.axiosInstance
.put("/api/v1/process-step-feedback/d0805cb4cc9e41a5bc872ec81bad7206/", formData)
.then((response) => {
console.log(response.data);
this.button1Result = response.data['message'];
});
Process Chain Feedback (PUT)
Adjust values of the holistic process chain.
Form Data
Parameter | Description | Type | Unit | Valid Values |
leadtime | Lead time added by this process step. | int | d | 0 – 100000 |
One of these values will suffice. Post the one with the greatest confidence. The other two will be calculated using the given parts per job or lot size depending on the context:
Parameter | Description | Type | Unit | Valid Values |
market_price_pp | Total market price per part. | float | € | 0 – 100000 |
market_price_pj | Total market price per job. | float | € | 0 – 100000 |
market_price_pl | Total market price per lot. | float | € | 0 – 100000 |
One of these values will suffice. Post the one with the greatest confidence. The other two will be calculated using the given parts per job or lot size depending on the context:
Parameter | Description | Type | Unit | Valid Values |
cost_pp | Total process step cost per part. | float | € | 0 – 100000 |
cost_pj | Total process step cost per job. | float | € | 0 – 100000 |
cost_pl | Total process step cost per lot. | float | € | 0 – 100000 |
One of these values will suffice. Post the one with the greatest confidence. The other two will be calculated using the given parts per job or lot size depending on the context:
Parameter | Description | Type | Unit | Valid Values |
labor_pp | Total labor time per part. | float | h | 0 – 100000 |
labor_pj | Total labor time per job. | float | h | 0 – 100000 |
labor_pl | Total labor time per lot. | float | h | 0 – 100000 |
One of these values will suffice. Post the one with the greatest confidence. The other two will be calculated using the given parts per job or lot size depending on the context:
Parameter | Description | Type | Unit | Valid Values |
mac_t_pp | Total machine occupation per part. | float | h | 0 – 100000 |
mac_t_pj | Total machine occupation per lot. | float | h | 0 – 100000 |
mac_t_pl | Total machine occupation per job. | float | h | 0 – 100000 |
Return Data
Returns the edited process step:
{
"tech": "additive_manufacturing",
"name": "SLM | 316L",
"process_chain_id": "80532f35129d47659ba63691b823cf4d",
"process_chain_stat": {...},
"material_name": "316L",
"prc": "Selective Laserbeam Melting",
"prc_acronym": "slm",
"mat_id": "d8a93dd106de48b1ad299437ff13a28e",
"machine_name": "SLM 500",
"machine_bld_size_x": 250,
"machine_bld_size_y": 500,
"machine_bld_size_z": 500,
"mac_id": "8ab36fd1d20b49379ffee898cf2883bf",
"fits_mac": true,
"part_mass": 1949.09222561993,
"sup_srf_area": 14.251663942216208,
"sup_vol_full": 20.320529874786008,
"sup_vol_real": 2.032052987478601,
"sup_mass": 16.154821250454876,
"rot_x_cost": 338.3663506195423,
"rot_y_cost": 158.55899929204682,
"rot_z_cost": 9.69426513639457,
"rot_cost_euler": {
"x": -154.07367439792347,
"y": 15.83460253578514,
"z": 162.49532993555314
},
"or_bb_x": 81.97025871666426,
"or_bb_y": 90.91858364685575,
"or_bb_z": 91.95759686546165,
"parts_pj": 15,
"bld_h": 96.95759686546165,
"n_lyr": 2155,
"leadtime": 0,
"cost_ini_pp": 1270.2534092484589,
"cost": {
"cost_pp": 1.1,
"cost_pj": 1.2,
"cost_pl": 1.3
},
"cost_bd": {
"cost_bd_pp_pre": 0.09,
"cost_bd_pp_main": 985.0560409073936,
"cost_bd_pp_post": 35.82,
"cost_bd_pp_mat": 130.83906512972013
},
"labor": {
"labor_pp": "02:06",
"labor_pj": "02:12",
"labor_pl": "02:18"
},
"mac_t": {
"mac_t_pp": "03:06",
"mac_t_pj": "03:12",
"mac_t_pl": "03:18"
},
"break_even": {...},
"feasibility": {
"thickness": {
"t_min": 54.72135543823242,
"t_lim_min": 0.5,
"t_min_chk": true,
"t_max_chk": null,
"t_max": 67.98809051513672
},
"gap_size": {
"gap_min": 49.304962158203125,
"gap_lim_min": 0.5,
"gap_min_chk": true
},
"support": {
"support_chk": false
},
"size": {
"fits_mac": true,
"size_min": 79.19655636210463,
"size_max": 92.43813674371825,
"size_lim_min": 7,
"size_lim_max": 1000,
"size_min_chk": true,
"size_max_chk": true
}
},
"has_scaling": false,
"scale": [
1,
1,
1
],
"scaled_bounding_box": [
86.50474166870117,
109.58368682861328,
91.1187717244029
],
"scaled_minimal_bounding_box": [
79.19655636210463,
90.68146499756651,
92.43813674371825
],
"scaled_oriented_bounding_box": [
81.97025871666426,
90.91858364685575,
91.95759686546165
],
"scaled_part_volume": 245.16883341131197,
"nst_style": "alone",
"opt_style": "alpha_beta_gamma",
"costing_config_id": "cde72c29705e4d96a8568396c00adc74",
"margin_user_value": null,
"float_feasibilities": {
"overall": 33.333333333333336,
"technical": 100,
"leadtime": 0,
"economic": 0
},
"market_price": {
"market_price_pp": {
"user": 4.1,
"calculated": 1727.7140340556707
},
"market_price_pj": {
"user": 4.2,
"calculated": 25407.45322140692
},
"market_price_pl": {
"user": 4.3,
"calculated": 863853.2670278352
}
},
"process_steps": {
"d0805cb4cc9e41a5bc872ec81bad7206": {...},
"f9ed5cdc880343b8baad723e8d2d3029": {...},
"e40e5996d99d41ec93af1bfe627876e5": {...},
"5509544bf2744578b92a4b087b33995f": {...},
"06ce640807104e099d387ff3bc0d94f3": {...},
"a79b5da2e752445283348d76b26b729d": {...}
}
}
Usage
# PUT "https://platform.3dspark.de/api/v1/process-chain-feedback/<process_chain_id>/"
let formData = {
"leadtime": 0,
"cost_pp": 1.1,
// "cost_pj": 1.2,
// "cost_pl": 1.3,
"labor_pp": 2.1,
// "labor_pj": 2.2,
// "labor_pl": 2.3,
"mac_t_pp": 3.1,
// "mac_t_pj": 3.2,
// "mac_t_pl": 3.3,
"market_price_pp": 4.1,
// "market_price_pj": 4.2,
// "market_price_pl": 4.3,
}
this.axiosInstance
.put("/api/v1/process-chain-feedback/80532f35129d47659ba63691b823cf4d/", formData)
.then((response) => {
console.log(response.data);
});
* “machine” in this context means the devices and workspace needed to perform this process step. This includes PC equipment, tools, workbenches, special machinery and any device that has an impact expressed via “machine hourly rate”.