新的信息
This commit is contained in:
1 parent
c66fc76e10
commit
345790cb05
51 files changed
+5187
-61
No files matched your search
+32
-4
@@ -1,4 +1,4 @@
|
||||
import os, sys, time, bpy, bmesh, shutil
|
||||
import os, sys, time, bpy, bmesh, shutil,requests,json
|
||||
import platform
|
||||
if platform.system() == 'Windows':
|
||||
sys.path.append('e:\\libs\\')
|
||||
@@ -64,16 +64,35 @@ def cal_weight(obj, size):
|
||||
model_info['volume'] = round(bm.calc_volume() / 1000)
|
||||
model_info['weight'] = round(model_info['volume'] * 1.226)
|
||||
print(f'{size/10}cm:体积 {model_info["volume"]}cm³, 克重 {model_info["weight"]}g')
|
||||
return model_info["weight"]
|
||||
|
||||
def main(action, pid, sizes):
|
||||
def main(action, pid, sizes,orderId=0):
|
||||
libs.down_obj_from_oss(config.workdir, pid, action)
|
||||
obj = reload_obj(pid, action)
|
||||
|
||||
bpy.ops.object.transform_apply(location=True, rotation=True, scale=True)
|
||||
print(f'模型{pid}的体积与克重估算信息:')
|
||||
arrData = {}
|
||||
for size in sizes:
|
||||
size = float(size)
|
||||
cal_weight(obj, size)
|
||||
weight = cal_weight(obj, size)
|
||||
size = str(size/10)+"cm"
|
||||
arrData[size] = str(weight)+"g"
|
||||
|
||||
#请求接口进行更新数据
|
||||
arrParams = {"pid":pid,"order_id":orderId}
|
||||
if action == "auto":
|
||||
arrParams["auto_weight"] = json.dumps(arrData)
|
||||
|
||||
if action == "print":
|
||||
arrParams["print_weight"] = json.dumps(arrData)
|
||||
|
||||
#发起请求
|
||||
print(f"请求的参数-{arrParams}")
|
||||
url = "https://mp.api.suwa3d.com/api/physical/addPhysicalWeight"
|
||||
res = requests.post(url,data=arrParams)
|
||||
print('res:', res.text)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
sizes = (90, 120, 150, 180)
|
||||
@@ -83,10 +102,19 @@ if __name__ == '__main__':
|
||||
pids = sys.argv[2].split(',')
|
||||
for pid in pids:
|
||||
main(action, pid, sizes)
|
||||
elif len(sys.argv) == 5:
|
||||
action = sys.argv[1]
|
||||
pids = sys.argv[2].split(',')
|
||||
sizes = sys.argv[3].split(',')
|
||||
orderId = sys.argv[4]
|
||||
for pid in pids:
|
||||
main(action, pid, sizes,orderId)
|
||||
print('Usage: python cal_weight.py print <pids> order_id 自定义尺寸/默认四个尺寸就不填')
|
||||
|
||||
elif len(sys.argv) == 4:
|
||||
action = sys.argv[1]
|
||||
pids = sys.argv[2].split(',')
|
||||
sizes = sys.argv[3].split(',')
|
||||
for pid in pids:
|
||||
main(action, pid, sizes)
|
||||
print('Usage: python cal_weight.py print <pids> 自定义尺寸/默认四个尺寸就不填')
|
||||
print('Usage: python cal_weight.py print <pids> order_id 自定义尺寸/默认四个尺寸就不填')
|
||||
Reference in new issue
Block a user