代码更新
This commit is contained in:
1 parent
5f5fe44b6e
commit
469155434d
4 files changed
+70
-20
No files matched your search
+10
-3
@@ -112,8 +112,12 @@ def compute_bbox(mesh_obj, obj_name, is_downsample=True):
|
||||
match = re.search(r"P(\d+)", obj_name) # 匹配 "P" 后的连续数字
|
||||
if match:
|
||||
printId = match.group(1)
|
||||
total_matrix, z_max, min_bound, max_bound, ply_name = compute_bbox_net(printId)
|
||||
succ, total_matrix, z_max, min_bound, max_bound, ply_name = compute_bbox_net(printId)
|
||||
if not succ :
|
||||
total_matrix, z_max, min_bound, max_bound, ply_name = compute_bbox_ext(mesh_obj, obj_name, is_downsample)
|
||||
else:
|
||||
ply_name = f"{os.path.splitext(obj_name)[0]}={ply_name.split('=')[1]}"
|
||||
|
||||
# print(f"compute_bbox_net printId = {printId}, total_matrix = {total_matrix}, ply_name = {ply_name}")
|
||||
else :
|
||||
total_matrix, z_max, min_bound, max_bound, ply_name = compute_bbox_ext(mesh_obj, obj_name, is_downsample)
|
||||
@@ -135,12 +139,15 @@ import requests
|
||||
import ast
|
||||
def compute_bbox_net(printId):
|
||||
|
||||
url = f"https://mp.api.suwa3d.com/api/printOrder/infoByPrintId?printId={printId}"
|
||||
url = f"{url_infoByPrintId}{printId}"
|
||||
res = requests.get(url)
|
||||
|
||||
datas = res.json()["data"]["layout"]
|
||||
# print("datas=", datas)
|
||||
|
||||
if not "ply_name" in datas:
|
||||
return False, np.eye(4), 0.0, np.zeros(3), np.zeros(3), ""
|
||||
|
||||
homo_matrix_str = datas.get("homo_matrix")
|
||||
# print("homo_matrix_str=", homo_matrix_str)
|
||||
|
||||
@@ -157,7 +164,7 @@ def compute_bbox_net(printId):
|
||||
ply_name = datas.get("ply_name",0)
|
||||
# print(f"layout_z={layout_z}, max_bound={max_bound}, min_bound={min_bound}, ply_name={ply_name}, ")
|
||||
|
||||
return reconstructed_matrix, layout_z, max_bound, min_bound, ply_name
|
||||
return True, reconstructed_matrix, layout_z, max_bound, min_bound, ply_name
|
||||
|
||||
class Platform:
|
||||
def __init__(self, width, depth, height):
|
||||
|
||||
@@ -29,6 +29,9 @@ url_get_info_by_printIds = "https://mp.api.suwa3d.com/api/printOrder/getInfoByPr
|
||||
url_get_oss_suffix_by_orderId = f"https://mp.api.suwa3d.com/api/order/getOssSuffixByOrderId?order_id="
|
||||
url_get_info_by_print_batch_id = f"https://mp.api.suwa3d.com/api/printOrder/getInfoByPrintBatchId?batch_id="
|
||||
|
||||
# 获取单个模型的相转换信息
|
||||
url_infoByPrintId = f"https://mp.api.suwa3d.com/api/printOrder/infoByPrintId?printId="
|
||||
|
||||
# -------------------------- 结束:网络配置 -------------------------------
|
||||
|
||||
# -------------------------- 开始:路径配置 -------------------------------
|
||||
@@ -51,8 +54,8 @@ small_machine_size = [380, 345, 250]
|
||||
# -------------------------- 开始:测试相关 -------------------------------
|
||||
|
||||
# local_data= {'machine_print_counts': 150, 'machine_type': 'big_machine', 'pre_batch_id': 9910032, 'print_machine_id': 14, 'print_orders': [{'counts': 1, 'layout_z': 35.62070959151145, 'model_weight': 41.862, 'order_id': 917900, 'pid': 376666, 'print_id': 126318}, {'counts': 1, 'layout_z': 31.380497732946978, 'model_weight': 35.158, 'order_id': 917810, 'pid': 376562, 'print_id': 126413}, {'counts': 1, 'layout_z': 26.136854969886777, 'model_weight': 21.403, 'order_id': 917820, 'pid': 376572, 'print_id': 126414}, {'counts': 1, 'layout_z': 37.967177899738104, 'model_weight': 30.48, 'order_id': 917922, 'pid': 376684, 'print_id': 126415}, {'counts': 1, 'layout_z': 20.368887098446734, 'model_weight': 13.097, 'order_id': 918228, 'pid': 377198, 'print_id': 126417}, {'counts': 1, 'layout_z': 21.4227336927951, 'model_weight': 15.859, 'order_id': 917576, 'pid': 376345, 'print_id': 126769}, {'counts': 1, 'layout_z': 27.539947066784066, 'model_weight': 25.185, 'order_id': 917811, 'pid': 376564, 'print_id': 126875}, {'counts': 1, 'layout_z': 31.692723822970393, 'model_weight': 32.796, 'order_id': 917821, 'pid': 376592, 'print_id': 126876}, {'counts': 1, 'layout_z': 20.20031720146163, 'model_weight': 8.664, 'order_id': 917822, 'pid': 376602, 'print_id': 126877}, {'counts': 1, 'layout_z': 22.41680629925537, 'model_weight': 15.206, 'order_id': 917827, 'pid': 376616, 'print_id': 126878}, {'counts': 1, 'layout_z': 25.443981671314514, 'model_weight': 11.965, 'order_id': 917879, 'pid': 376635, 'print_id': 126879}, {'counts': 1, 'layout_z': 31.09222672704002, 'model_weight': 20.318, 'order_id': 917902, 'pid': 376667, 'print_id': 126882}, {'counts': 1, 'layout_z': 30.3317820592175, 'model_weight': 32.964, 'order_id': 917903, 'pid': 376668, 'print_id': 126884}, {'counts': 1, 'layout_z': 28.69639626624317, 'model_weight': 27.751, 'order_id': 917904, 'pid': 376669, 'print_id': 126885}, {'counts': 1, 'layout_z': 28.043180029163203, 'model_weight': 19.866, 'order_id': 917917, 'pid': 376677, 'print_id': 126886}, {'counts': 1, 'layout_z': 28.58783468947201, 'model_weight': 25.505, 'order_id': 918196, 'pid': 377126, 'print_id': 126888}, {'counts': 1, 'layout_z': 43.55871899466554, 'model_weight': 63.512, 'order_id': 918201, 'pid': 377131, 'print_id': 126890}, {'counts': 1, 'layout_z': 32.52479624889478, 'model_weight': 22.943, 'order_id': 918203, 'pid': 377133, 'print_id': 126891}, {'counts': 1, 'layout_z': 33.21834123013511, 'model_weight': 42.163, 'order_id': 918206, 'pid': 377139, 'print_id': 126892}, {'counts': 1, 'layout_z': 27.81674335447885, 'model_weight': 15.455, 'order_id': 918207, 'pid': 377141, 'print_id': 126893}, {'counts': 1, 'layout_z': 29.78203639784899, 'model_weight': 29.696, 'order_id': 918231, 'pid': 377201, 'print_id': 126894}, {'counts': 1, 'layout_z': 23.66875736859606, 'model_weight': 13.39, 'order_id': 915637, 'pid': 373135, 'print_id': 126895}, {'counts': 1, 'layout_z': 29.00408914521088, 'model_weight': 19.553, 'order_id': 918246, 'pid': 377209, 'print_id': 126897}, {'counts': 1, 'layout_z': 24.44397251338635, 'model_weight': 15.424, 'order_id': 918325, 'pid': 376974, 'print_id': 126899}, {'counts': 1, 'layout_z': 31.755406379699707, 'model_weight': 31.131, 'order_id': 918492, 'pid': 377584, 'print_id': 126900}, {'counts': 1, 'layout_z': 38.03699946264237, 'model_weight': 47.412, 'order_id': 918493, 'pid': 377587, 'print_id': 126901}, {'counts': 1, 'layout_z': 43.52919799223749, 'model_weight': 37.842, 'order_id': 918494, 'pid': 377589, 'print_id': 126902}, {'counts': 1, 'layout_z': 25.906302369108843, 'model_weight': 18.64, 'order_id': 918495, 'pid': 377590, 'print_id': 126903}, {'counts': 1, 'layout_z': 36.02611978829816, 'model_weight': 43.814, 'order_id': 918496, 'pid': 377591, 'print_id': 126904}, {'counts': 1, 'layout_z': 26.020689766262052, 'model_weight': 18.513, 'order_id': 918497, 'pid': 377594, 'print_id': 126905}, {'counts': 1, 'layout_z': 23.988078117370605, 'model_weight': 15.753, 'order_id': 918498, 'pid': 377596, 'print_id': 126906}, {'counts': 1, 'layout_z': 27.457814063914604, 'model_weight': 23.507, 'order_id': 918500, 'pid': 377601, 'print_id': 126908}, {'counts': 1, 'layout_z': 29.306090320672993, 'model_weight': 25.043, 'order_id': 918501, 'pid': 377605, 'print_id': 126909}, {'counts': 1, 'layout_z': 29.070231478924583, 'model_weight': 25.598, 'order_id': 918504, 'pid': 377606, 'print_id': 126910}, {'counts': 1, 'layout_z': 24.314504768436095, 'model_weight': 18.68, 'order_id': 918555, 'pid': 377684, 'print_id': 126911}, {'counts': 1, 'layout_z': 37.52979171030315, 'model_weight': 53.541, 'order_id': 918558, 'pid': 377689, 'print_id': 126913}, {'counts': 1, 'layout_z': 26.530791960490333, 'model_weight': 15.082, 'order_id': 918560, 'pid': 377702, 'print_id': 126915}, {'counts': 1, 'layout_z': 23.604568481445312, 'model_weight': 21.614, 'order_id': 918583, 'pid': 377748, 'print_id': 126917}, {'counts': 1, 'layout_z': 27.865868478825355, 'model_weight': 22.6, 'order_id': 918636, 'pid': 37Line truncated
|
||||
local_data= {"machine_print_counts":50, 'machine_type': 'small_machine',"pre_batch_id":991112,"print_machine_id":22,"print_orders":[{"counts":1,"layout_z":3.543965775898459,"model_weight":12.833,"order_id":857420,"pid":268473,"print_id":85240},{"counts":1,"layout_z":7.798861189952786,"model_weight":13.784,"order_id":875986,"pid":305425,"print_id":88136}]}
|
||||
# local_data= {'machine_print_counts': 130, 'machine_type': 'big_machine', 'pre_batch_id': 9910188, 'print_machine_id': 15, 'print_orders': [{'counts': 1, 'layout_z': 32.65071311811036, 'model_weight': 68.084, 'order_id': 926400, 'pid': 389256, 'print_id': 134168}, {'counts': 1, 'layout_z': 31.780598561603746, 'model_weight': 25.511, 'order_id': 926573, 'pid': 389465, 'print_id': 134170}, {'counts': 1, 'layout_z': 5.202356934547428, 'model_weight': 11.705, 'order_id': 925909, 'pid': 388682, 'print_id': 134178}, {'counts': 1, 'layout_z': 5.1447470188140905, 'model_weight': 12.186, 'order_id': 925910, 'pid': 388683, 'print_id': 134179}, {'counts': 1, 'layout_z': 5.013986945152283, 'model_weight': 11.364, 'order_id': 925932, 'pid': 388707, 'print_id': 134180}, {'counts': 1, 'layout_z': 5.020000934600831, 'model_weight': 11.396, 'order_id': 926770, 'pid': 389842, 'print_id': 134183}, {'counts': 1, 'layout_z': 40.05588230441501, 'model_weight': 60.578, 'order_id': 926776, 'pid': 389895, 'print_id': 134185}, {'counts': 1, 'layout_z': 46.23669371110479, 'model_weight': 56.196, 'order_id': 926778, 'pid': 389918, 'print_id': 134186}, {'counts': 1, 'layout_z': 24.822566986083984, 'model_weight': 31.522, 'order_id': 926268, 'pid': 389067, 'print_id': 134211}, {'counts': 1, 'layout_z': 25.085425667575343, 'model_weight': 31.077, 'order_id': 926267, 'pid': 389066, 'print_id': 134212}, {'counts': 1, 'layout_z': 18.154759649173364, 'model_weight': 6.256, 'order_id': 927059, 'pid': 390269, 'print_id': 134216}, {'counts': 1, 'layout_z': 24.2420189021486, 'model_weight': 14.472, 'order_id': 927065, 'pid': 390275, 'print_id': 134220}, {'counts': 1, 'layout_z': 16.757099114319693, 'model_weight': 5.335, 'order_id': 927078, 'pid': 390299, 'print_id': 134226}, {'counts': 1, 'layout_z': 18.796780948141503, 'model_weight': 7.295, 'order_id': 927079, 'pid': 390300, 'print_id': 134228}, {'counts': 1, 'layout_z': 17.920740666248633, 'model_weight': 7.869, 'order_id': 927082, 'pid': 390303, 'print_id': 134229}, {'counts': 1, 'layout_z': 16.320665859825066, 'model_weight': 4.73, 'order_id': 927081, 'pid': 390302, 'print_id': 134230}, {'counts': 1, 'layout_z': 23.250497020255544, 'model_weight': 15.567, 'order_id': 927100, 'pid': 390331, 'print_id': 134242}, {'counts': 1, 'layout_z': 26.276874511435977, 'model_weight': 19.813, 'order_id': 927103, 'pid': 390334, 'print_id': 134246}, {'counts': 1, 'layout_z': 17.08049576865031, 'model_weight': 5.858, 'order_id': 927111, 'pid': 390342, 'print_id': 134254}, {'counts': 1, 'layout_z': 19.196685578562278, 'model_weight': 6.465, 'order_id': 927117, 'pid': 390347, 'print_id': 134261}, {'counts': 1, 'layout_z': 26.507062216602122, 'model_weight': 14.287, 'order_id': 927116, 'pid': 390346, 'print_id': 134262}, {'counts': 1, 'layout_z': 16.440782827635232, 'model_weight': 5.493, 'order_id': 927118, 'pid': 390348, 'print_id': 134263}, {'counts': 1, 'layout_z': 41.42868301509347, 'model_weight': 68.274, 'order_id': 927122, 'pid': 390354, 'print_id': 134264}, {'counts': 1, 'layout_z': 15.705368176518945, 'model_weight': 4.423, 'order_id': 927119, 'pid': 390349, 'print_id': 134265}, {'counts': 1, 'layout_z': 16.363223697461702, 'model_weight': 5.634, 'order_id': 927120, 'pid': 390351, 'print_id': 134266}, {'counts': 1, 'layout_z': 24.653417686230497, 'model_weight': 17.851, 'order_id': 927121, 'pid': 390353, 'print_id': 134267}, {'counts': 1, 'layout_z': 24.327745611835496, 'model_weight': 28.23, 'order_id': 926040, 'pid': 388832, 'print_id': 134268}, {'counts': 1, 'layout_z': 27.301779030909188, 'model_weight': 23.926, 'order_id': 923281, 'pid': 385001, 'print_id': 134269}, {'counts': 1, 'layout_z': 25.869120288866796, 'model_weight': 32.329, 'order_id': 926077, 'pid': 388864, 'print_id': 134270}, {'counts': 1, 'layout_z': 36.37214874852985, 'model_weight': 65.744, 'order_id': 926086, 'pid': 388873, 'print_id': 134271}, {'counts': 1, 'layout_z': 37.44403689090713, 'model_weight': 80.67, 'order_id': 926097, 'pid': 388884, 'print_id': 134273}, {'counts': 1, 'layout_z': 27.890566642299536, 'model_weight': 22.715, 'order_id': 927127, 'pid': 390372, 'print_id': 134274}, {'counts': 1, 'layout_z': 17.392635113631542, 'model_weight': 5.297, 'order_id': 927128, 'pid': 390373, 'print_id': 134275}, {'counts': 1, 'layout_z': 26.139986312446986, 'model_weight': 15.312, 'order_id': 927129, 'pid': 390375, 'print_id': 134276}, {'counts': 1, 'layout_z': 17.491576609126483, 'model_weight': 6.495, 'order_id': 927130, 'pid': 390376, 'print_id': 134277}, {'counts': 1, 'layout_z': 15.57976295844962, 'model_weight': 5.443, 'order_id': 927131, 'pid': 390377, 'print_id': 134278}, {'counts': 1, 'layout_z': 16.006999969482422, 'model_weight': 4.683, 'order_id': 927132, 'pid': 390378, 'print_id': 134279}, {'counts': 1, 'layout_z': 18.770485206437296, 'model_weight': 6.114, 'order_id': 927137, 'pid': 390383, 'print_id': 134280}, {'counts': 1, 'layout_z': 21.480148458997267, 'model_weight': 9.586, 'order_id': 927133, 'pid': 39037Line truncated
|
||||
# local_data= {"machine_print_counts":50, 'machine_type': 'small_machine',"pre_batch_id":991112,"print_machine_id":22,"print_orders":[{"counts":1,"layout_z":3.543965775898459,"model_weight":12.833,"order_id":857420,"pid":268473,"print_id":85240},{"counts":1,"layout_z":7.798861189952786,"model_weight":13.784,"order_id":875986,"pid":305425,"print_id":88136}]}
|
||||
local_data= {'machine_print_counts': 130, 'machine_type': 'big_machine', 'pre_batch_id': 9910188, 'print_machine_id': 15, 'print_orders': [{'counts': 1, 'layout_z': 32.65071311811036, 'model_weight': 68.084, 'order_id': 926400, 'pid': 389256, 'print_id': 134168}, {'counts': 1, 'layout_z': 31.780598561603746, 'model_weight': 25.511, 'order_id': 926573, 'pid': 389465, 'print_id': 134170}, {'counts': 1, 'layout_z': 5.202356934547428, 'model_weight': 11.705, 'order_id': 925909, 'pid': 388682, 'print_id': 134178}, {'counts': 1, 'layout_z': 5.1447470188140905, 'model_weight': 12.186, 'order_id': 925910, 'pid': 388683, 'print_id': 134179}, {'counts': 1, 'layout_z': 5.013986945152283, 'model_weight': 11.364, 'order_id': 925932, 'pid': 388707, 'print_id': 134180}, {'counts': 1, 'layout_z': 5.020000934600831, 'model_weight': 11.396, 'order_id': 926770, 'pid': 389842, 'print_id': 134183}, {'counts': 1, 'layout_z': 40.05588230441501, 'model_weight': 60.578, 'order_id': 926776, 'pid': 389895, 'print_id': 134185}, {'counts': 1, 'layout_z': 46.23669371110479, 'model_weight': 56.196, 'order_id': 926778, 'pid': 389918, 'print_id': 134186}, {'counts': 1, 'layout_z': 24.822566986083984, 'model_weight': 31.522, 'order_id': 926268, 'pid': 389067, 'print_id': 134211}, {'counts': 1, 'layout_z': 25.085425667575343, 'model_weight': 31.077, 'order_id': 926267, 'pid': 389066, 'print_id': 134212}, {'counts': 1, 'layout_z': 18.154759649173364, 'model_weight': 6.256, 'order_id': 927059, 'pid': 390269, 'print_id': 134216}, {'counts': 1, 'layout_z': 24.2420189021486, 'model_weight': 14.472, 'order_id': 927065, 'pid': 390275, 'print_id': 134220}, {'counts': 1, 'layout_z': 16.757099114319693, 'model_weight': 5.335, 'order_id': 927078, 'pid': 390299, 'print_id': 134226}, {'counts': 1, 'layout_z': 18.796780948141503, 'model_weight': 7.295, 'order_id': 927079, 'pid': 390300, 'print_id': 134228}, {'counts': 1, 'layout_z': 17.920740666248633, 'model_weight': 7.869, 'order_id': 927082, 'pid': 390303, 'print_id': 134229}, {'counts': 1, 'layout_z': 16.320665859825066, 'model_weight': 4.73, 'order_id': 927081, 'pid': 390302, 'print_id': 134230}, {'counts': 1, 'layout_z': 23.250497020255544, 'model_weight': 15.567, 'order_id': 927100, 'pid': 390331, 'print_id': 134242}, {'counts': 1, 'layout_z': 26.276874511435977, 'model_weight': 19.813, 'order_id': 927103, 'pid': 390334, 'print_id': 134246}, {'counts': 1, 'layout_z': 17.08049576865031, 'model_weight': 5.858, 'order_id': 927111, 'pid': 390342, 'print_id': 134254}, {'counts': 1, 'layout_z': 19.196685578562278, 'model_weight': 6.465, 'order_id': 927117, 'pid': 390347, 'print_id': 134261}, {'counts': 1, 'layout_z': 26.507062216602122, 'model_weight': 14.287, 'order_id': 927116, 'pid': 390346, 'print_id': 134262}, {'counts': 1, 'layout_z': 16.440782827635232, 'model_weight': 5.493, 'order_id': 927118, 'pid': 390348, 'print_id': 134263}, {'counts': 1, 'layout_z': 41.42868301509347, 'model_weight': 68.274, 'order_id': 927122, 'pid': 390354, 'print_id': 134264}, {'counts': 1, 'layout_z': 15.705368176518945, 'model_weight': 4.423, 'order_id': 927119, 'pid': 390349, 'print_id': 134265}, {'counts': 1, 'layout_z': 16.363223697461702, 'model_weight': 5.634, 'order_id': 927120, 'pid': 390351, 'print_id': 134266}, {'counts': 1, 'layout_z': 24.653417686230497, 'model_weight': 17.851, 'order_id': 927121, 'pid': 390353, 'print_id': 134267}, {'counts': 1, 'layout_z': 24.327745611835496, 'model_weight': 28.23, 'order_id': 926040, 'pid': 388832, 'print_id': 134268}, {'counts': 1, 'layout_z': 27.301779030909188, 'model_weight': 23.926, 'order_id': 923281, 'pid': 385001, 'print_id': 134269}, {'counts': 1, 'layout_z': 25.869120288866796, 'model_weight': 32.329, 'order_id': 926077, 'pid': 388864, 'print_id': 134270}, {'counts': 1, 'layout_z': 36.37214874852985, 'model_weight': 65.744, 'order_id': 926086, 'pid': 388873, 'print_id': 134271}, {'counts': 1, 'layout_z': 37.44403689090713, 'model_weight': 80.67, 'order_id': 926097, 'pid': 388884, 'print_id': 134273}, {'counts': 1, 'layout_z': 27.890566642299536, 'model_weight': 22.715, 'order_id': 927127, 'pid': 390372, 'print_id': 134274}, {'counts': 1, 'layout_z': 17.392635113631542, 'model_weight': 5.297, 'order_id': 927128, 'pid': 390373, 'print_id': 134275}, {'counts': 1, 'layout_z': 26.139986312446986, 'model_weight': 15.312, 'order_id': 927129, 'pid': 390375, 'print_id': 134276}, {'counts': 1, 'layout_z': 17.491576609126483, 'model_weight': 6.495, 'order_id': 927130, 'pid': 390376, 'print_id': 134277}, {'counts': 1, 'layout_z': 15.57976295844962, 'model_weight': 5.443, 'order_id': 927131, 'pid': 390377, 'print_id': 134278}, {'counts': 1, 'layout_z': 16.006999969482422, 'model_weight': 4.683, 'order_id': 927132, 'pid': 390378, 'print_id': 134279}, {'counts': 1, 'layout_z': 18.770485206437296, 'model_weight': 6.114, 'order_id': 927137, 'pid': 390383, 'print_id': 134280}, {'counts': 1, 'layout_z': 21.480148458997267, 'model_weight': 9.586, 'order_id': 927133, 'pid': 390379,Line truncated
|
||||
# local_data= {'machine_print_counts': 60, 'machine_type': 'small_machine', 'pre_batch_id': 9910284, 'print_machine_id': 1, 'print_orders': [{'counts': 1, 'layout_z': 6.981930971145635, 'model_weight': 26.776, 'order_id': 929174, 'pid': 393697, 'print_id': 138265}, {'counts': 1, 'layout_z': 4.955404043197634, 'model_weight': 9.22, 'order_id': 931997, 'pid': 397013, 'print_id': 138846}, {'counts': 1, 'layout_z': 4.771067023277285, 'model_weight': 11.786, 'order_id': 932000, 'pid': 397016, 'print_id': 138851}, {'counts': 1, 'layout_z': 5.249161005020142, 'model_weight': 10.024, 'order_id': 932003, 'pid': 397019, 'print_id': 138854}, {'counts': 1, 'layout_z': 5.251940011978151, 'model_weight': 10.104, 'order_id': 932005, 'pid': 397021, 'print_id': 138856}, {'counts': 1, 'layout_z': 5.263678073883059, 'model_weight': 10.688, 'order_id': 932009, 'pid': 397025, 'print_id': 138875}, {'counts': 1, 'layout_z': 23.813366889953613, 'model_weight': 24.641, 'order_id': 929102, 'pid': 393961, 'print_id': 139071}, {'counts': 1, 'layout_z': 4.554790019989014, 'model_weight': 11.507, 'order_id': 933586, 'pid': 399522, 'print_id': 140121}, {'counts': 1, 'layout_z': 4.795650005340576, 'model_weight': 11.042, 'order_id': 933568, 'pid': 399331, 'print_id': 140150}, {'counts': 1, 'layout_z': 18.085672736889748, 'model_weight': 7.277, 'order_id': 933876, 'pid': 399901, 'print_id': 140261}, {'counts': 1, 'layout_z': 19.534520236131655, 'model_weight': 6.937, 'order_id': 933878, 'pid': 399903, 'print_id': 140264}, {'counts': 1, 'layout_z': 19.559980709635155, 'model_weight': 7.79, 'order_id': 933877, 'pid': 399902, 'print_id': 140265}, {'counts': 1, 'layout_z': 16.488399505615234, 'model_weight': 5.349, 'order_id': 933882, 'pid': 399907, 'print_id': 140271}, {'counts': 1, 'layout_z': 18.02717763893993, 'model_weight': 5.892, 'order_id': 933885, 'pid': 399910, 'print_id': 140277}, {'counts': 1, 'layout_z': 26.876644549545638, 'model_weight': 21.486, 'order_id': 933886, 'pid': 399911, 'print_id': 140278}, {'counts': 1, 'layout_z': 28.074640440717047, 'model_weight': 16.17, 'order_id': 933887, 'pid': 399912, 'print_id': 140280}, {'counts': 1, 'layout_z': 27.306154248118705, 'model_weight': 20.977, 'order_id': 933889, 'pid': 399927, 'print_id': 140281}, {'counts': 1, 'layout_z': 26.094746051465723, 'model_weight': 34.197, 'order_id': 933888, 'pid': 399926, 'print_id': 140282}, {'counts': 1, 'layout_z': 15.87796963527322, 'model_weight': 4.735, 'order_id': 933892, 'pid': 399930, 'print_id': 140287}, {'counts': 1, 'layout_z': 18.191209446277444, 'model_weight': 5.246, 'order_id': 933893, 'pid': 399931, 'print_id': 140288}, {'counts': 1, 'layout_z': 17.777126572389776, 'model_weight': 6.334, 'order_id': 933894, 'pid': 399932, 'print_id': 140289}, {'counts': 1, 'layout_z': 17.58385879418167, 'model_weight': 5.8, 'order_id': 933895, 'pid': 399933, 'print_id': 140290}, {'counts': 1, 'layout_z': 18.593739251800994, 'model_weight': 6.955, 'order_id': 933897, 'pid': 399935, 'print_id': 140293}, {'counts': 1, 'layout_z': 14.231568581173965, 'model_weight': 3.705, 'order_id': 933898, 'pid': 399936, 'print_id': 140294}, {'counts': 1, 'layout_z': 13.998784146949038, 'model_weight': 3.533, 'order_id': 933899, 'pid': 399937, 'print_id': 140295}, {'counts': 1, 'layout_z': 15.9964307861582, 'model_weight': 4.301, 'order_id': 933901, 'pid': 399939, 'print_id': 140297}, {'counts': 1, 'layout_z': 16.18931739014667, 'model_weight': 5.019, 'order_id': 933903, 'pid': 399941, 'print_id': 140299}, {'counts': 1, 'layout_z': 24.79611153168641, 'model_weight': 20.601, 'order_id': 933905, 'pid': 399943, 'print_id': 140301}, {'counts': 1, 'layout_z': 24.306803898330127, 'model_weight': 16.784, 'order_id': 933906, 'pid': 399944, 'print_id': 140302}, {'counts': 1, 'layout_z': 29.3158714015686, 'model_weight': 19.351, 'order_id': 933907, 'pid': 399945, 'print_id': 140303}, {'counts': 1, 'layout_z': 17.005620048049607, 'model_weight': 5.169, 'order_id': 933910, 'pid': 399948, 'print_id': 140305}, {'counts': 1, 'layout_z': 16.464274211211865, 'model_weight': 4.866, 'order_id': 933909, 'pid': 399947, 'print_id': 140306}, {'counts': 1, 'layout_z': 23.198866489386088, 'model_weight': 10.524, 'order_id': 933911, 'pid': 399949, 'print_id': 140307}, {'counts': 1, 'layout_z': 26.516445616407367, 'model_weight': 23.957, 'order_id': 933912, 'pid': 399950, 'print_id': 140308}, {'counts': 1, 'layout_z': 17.937848519147412, 'model_weight': 5.282, 'order_id': 933914, 'pid': 399952, 'print_id': 140310}, {'counts': 1, 'layout_z': 26.754205819816015, 'model_weight': 20.607, 'order_id': 933921, 'pid': 399957, 'print_id': 140315}, {'counts': 1, 'layout_z': 20.002697843362704, 'model_weight': 7.63, 'order_id': 933924, 'pid': 399960, 'print_id': 140318}, {'counts': 1, 'layout_z': 30.231639651233593, 'model_weight': 24.508, 'order_id': 933925, 'pid': 399961, 'print_id': 140319}, {'counts': 1, 'layout_z': 16.061075531610975, 'model_weight': 4.195, 'order_id': 933928, 'pid': 399964, 'print_iLine truncated
|
||||
|
||||
test_print_max = 0
|
||||
|
||||
+1
-1
@@ -222,7 +222,7 @@ def copy_obj_2x(base_obj_dir):
|
||||
# -------------------------- 开始:碰撞检测和越界 --------------------------
|
||||
|
||||
extend_dist_border_x_min = 6
|
||||
extend_dist_border_x_max = 3
|
||||
extend_dist_border_x_max = 6
|
||||
extend_dist_border_z_max = 3
|
||||
extend_dist_border_y_min = 6
|
||||
extend_dist_border_y_max = 6
|
||||
|
||||
+54
-14
@@ -12,12 +12,17 @@ from plyfile import PlyData, PlyElement
|
||||
from general import mesh_tranform_to_pcd
|
||||
from general import need_upload_result
|
||||
from general import extend_dist_min_collision
|
||||
from general import extend_dist_border_x_min
|
||||
from general import extend_dist_border_x_max
|
||||
from general import extend_dist_border_y_min
|
||||
from general import extend_dist_border_y_max
|
||||
|
||||
from compute_print_net import arrange_models_on_platform
|
||||
from compute_print_net import compute_bbox_all
|
||||
|
||||
from compute_print_net_out import read_mesh
|
||||
|
||||
|
||||
def make_bbox_for_print(base_original_obj_dir,dict_bad,dict_origin,is_downsample):
|
||||
"""获取需要的盒子大小"""
|
||||
start_time = time.time()
|
||||
@@ -241,10 +246,10 @@ def compact_mode_for_min_dis_json(placed_models,dict_unplaced,dict_bounds_fix,ma
|
||||
x_step=1
|
||||
delta = 10
|
||||
|
||||
edge_x_min=0 + 4
|
||||
edge_y_min=0 + 4
|
||||
edge_x_max=machine_size[0]
|
||||
edge_y_max=machine_size[1]
|
||||
edge_x_min=0 + extend_dist_border_x_min
|
||||
edge_y_min=0 + extend_dist_border_y_min
|
||||
edge_x_max=machine_size[0] - extend_dist_border_x_max
|
||||
edge_y_max=machine_size[1] - extend_dist_border_y_max
|
||||
|
||||
collision_threshold=2
|
||||
move_last = True
|
||||
@@ -265,18 +270,22 @@ def compact_mode_for_min_dis_json(placed_models,dict_unplaced,dict_bounds_fix,ma
|
||||
min_x = 0
|
||||
max_delta_x = 0
|
||||
x_top_delta = 1
|
||||
border_delta = 4
|
||||
|
||||
pcd_first= []
|
||||
pcd_second= []
|
||||
|
||||
index = 0
|
||||
|
||||
len_all = len(placed_models)
|
||||
len_first = len_all * 0.7
|
||||
for model in placed_models:
|
||||
pcd = dict_bounds_fix[model['name']]
|
||||
|
||||
pcd_all.append(pcd)
|
||||
|
||||
if (get_axis_aligned_bbox(pcd)['y_min']>edge_y_max*0.3 or True):
|
||||
# is_first = get_axis_aligned_bbox(pcd)['y_min']>edge_y_max*0.3 or True
|
||||
is_first = index >= len_first
|
||||
if (is_first):
|
||||
pcd_first.append(pcd)
|
||||
else:
|
||||
pcd_second.append(pcd)
|
||||
@@ -286,7 +295,7 @@ def compact_mode_for_min_dis_json(placed_models,dict_unplaced,dict_bounds_fix,ma
|
||||
dx = model['dimensions'][0]
|
||||
x = model['position'][0]
|
||||
|
||||
if (x>=edge_x_max-x_top_delta) :
|
||||
if (x>=edge_x_max) :
|
||||
pcd_processed_x_top.append(pcd)
|
||||
print("pcd_processed_x_top", model['name'])
|
||||
if dx > max_x:
|
||||
@@ -327,7 +336,7 @@ def compact_mode_for_min_dis_json(placed_models,dict_unplaced,dict_bounds_fix,ma
|
||||
dist_x = x - edge_x_min
|
||||
if y - 10 < edge_y_min:
|
||||
dist_y = y - edge_y_min
|
||||
if (x<edge_x_max-x_top_delta) :
|
||||
if (x<edge_x_max) :
|
||||
if draw_down:
|
||||
pcd.translate([-dist_x, -dist_y, 0])
|
||||
|
||||
@@ -347,7 +356,7 @@ def compact_mode_for_min_dis_json(placed_models,dict_unplaced,dict_bounds_fix,ma
|
||||
pcd_processed_curr = pcd_processed
|
||||
x_step_big = x_step * 2
|
||||
y_step_big = y_step * 2
|
||||
collision_threshold_big = collision_threshold + 10
|
||||
collision_threshold_big = collision_threshold + 6
|
||||
y_init_big = 5
|
||||
if dx > 80:
|
||||
y_init_big = 10
|
||||
@@ -439,8 +448,7 @@ def compact_mode_for_min_dis_json(placed_models,dict_unplaced,dict_bounds_fix,ma
|
||||
if bbox['y_min'] <= edge_y_min + collision_threshold_init and False:
|
||||
pcd.translate([0, y_step, 0])
|
||||
break
|
||||
# if bbox['y_max'] >= edge_y_max - collision_threshold_init:
|
||||
if bbox['y_max'] >= edge_y_max - border_delta:
|
||||
if bbox['y_max'] >= edge_y_max:
|
||||
pcd.translate([0, -y_step, 0])
|
||||
T_transTemp = np.eye(4)
|
||||
T_transTemp[:3, 3] = [0, -y_step, 0]
|
||||
@@ -464,7 +472,7 @@ def compact_mode_for_min_dis_json(placed_models,dict_unplaced,dict_bounds_fix,ma
|
||||
pcd.translate([x_step, 0, 0])
|
||||
break
|
||||
# if bbox['x_max'] >= edge_x_max - collision_threshold_init:
|
||||
if bbox['x_max'] >= edge_x_max - border_delta:
|
||||
if bbox['x_max'] >= edge_x_max:
|
||||
# print("1pcd.translate([-x_step, 0, 0])",name_list[idx])
|
||||
pcd.translate([-x_step, 0, 0])
|
||||
T_transTemp = np.eye(4)
|
||||
@@ -591,6 +599,7 @@ def compact_mode_for_min_dis_json(placed_models,dict_unplaced,dict_bounds_fix,ma
|
||||
pcd_second2 = [pcd_second[i] for i in sorted_indices]
|
||||
# print("pcd_second2 len", len(pcd_second2))
|
||||
|
||||
check_top_right = True
|
||||
for idx, pcd in enumerate(pcd_second2):
|
||||
|
||||
ply_file_name = dict_name[pcd]
|
||||
@@ -607,7 +616,23 @@ def compact_mode_for_min_dis_json(placed_models,dict_unplaced,dict_bounds_fix,ma
|
||||
tx = edge_x_min - min_x
|
||||
ty = -max_y - 0.001
|
||||
|
||||
T_transTemp = move_to_top_left(pcd, edge_x_min+2, edge_y_max-2)
|
||||
if (check_top_right):
|
||||
T_transTemp, tx, ty = move_to_top_right(pcd, edge_x_max, edge_y_max)
|
||||
check_top_right = False
|
||||
|
||||
if not check_collision_all(pcd, last_pcd_processed, collision_threshold_init):
|
||||
print("succ move_top_right",name,bbox['x_max'],bbox['y_max'],len(last_pcd_processed))
|
||||
T_trans1 = T_transTemp @ T_trans1
|
||||
|
||||
last_pcd_processed.append(pcd)
|
||||
|
||||
dict_total_matrix[obj_name]= T_trans1 @ dict_total_matrix[obj_name]
|
||||
|
||||
continue
|
||||
else:
|
||||
pcd.translate((-tx, -ty, 0), relative=True)
|
||||
|
||||
T_transTemp = move_to_top_left(pcd, edge_x_min, edge_y_max)
|
||||
|
||||
T_trans1 = T_transTemp @ T_trans1
|
||||
|
||||
@@ -627,7 +652,7 @@ def compact_mode_for_min_dis_json(placed_models,dict_unplaced,dict_bounds_fix,ma
|
||||
if (finish_move2):
|
||||
break
|
||||
else:
|
||||
if not check_collision_all(pcd, last_pcd_processed,collision_threshold_init):
|
||||
if not check_collision_all(pcd, last_pcd_processed, collision_threshold_init):
|
||||
print("succ_move1",name,bbox['x_max'],bbox['y_max'],len(last_pcd_processed))
|
||||
break
|
||||
|
||||
@@ -948,6 +973,21 @@ def move_to_top_left(pcd, edge_x_min, edge_y_max):
|
||||
|
||||
return T_transTemp
|
||||
|
||||
def move_to_top_right(pcd, edge_x_max, edge_y_max):
|
||||
points = np.asarray(pcd.points)
|
||||
min_x = np.min(points[:, 0])
|
||||
max_y = np.max(points[:, 1]) # 当前最大y值
|
||||
|
||||
tx = edge_x_max - min_x
|
||||
ty = edge_y_max - max_y
|
||||
|
||||
T_transTemp = np.eye(4)
|
||||
T_transTemp[:3, 3] = [tx, ty, 0]
|
||||
|
||||
pcd.translate((tx, ty, 0), relative=True)
|
||||
|
||||
return T_transTemp, tx, ty
|
||||
|
||||
def move_to_bottom_right(pcd, edge_x_max, edge_y_min):
|
||||
|
||||
points = np.asarray(pcd.points)
|
||||
|
||||
Reference in new issue
Block a user