程序优化

This commit is contained in:
dongchangxi committed 2023-12-09 15:47:49 +08:00
1 parent e83deda268
commit e1a7647fcb
16 files changed
+634 -91

No files matched your search

+37 -36
View File
@@ -29,7 +29,7 @@ def make3d(pid):
# psid = libs.getPSid(pid)
# if int(psid) == 80:
# change_rcbox_deepth(str(pid),0.03)
psid = libs.getPSid(pid)
simplify_value = 1000000 * libs.getHeadCount(pid)
add_photo3 = ' '
#判断是否存在photo3
@@ -64,48 +64,43 @@ def make3d(pid):
cmd = f'{config.rcbin} {config.r1["init"]} \
-addFolder "{os.path.join(config.workdir, pid, "photo1")}" -addFolder "{os.path.join(config.workdir, pid, "photo2")}" {add_photo3} \
-importControlPointsMeasurements "{os.path.join(config.workdir, pid, f"{pid}.controlPoints.csv")}" \
-align -save'
-align -exportRegistration "{os.path.join(config.workdir,"make2", "config","exportRegistration.xml")}" "{os.path.join(config.workdir, pid,str(pid)+"_align.csv")}" -save'
#不存在point文件的时候就要用自动点击的方式
if isExistPoint == False:
cmd = cmd + f' "{os.path.join(config.workdir, pid, f"{pid}_wait.rcproj")}"'
else:
cmd = cmd + f' "{os.path.join(config.workdir, pid, f"{pid}.rcproj")}" -quit'
cmd = cmd + f' "{os.path.join(config.workdir, pid, f"{pid}_wait.rcproj")}"'
print(cmd)
cmd = shlex.split(cmd)
res = subprocess.run(cmd)
time.sleep(2)
if isExistPoint == False:
print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} pid: {pid} 定位点导入完成')
print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} pid: {pid} 定位点导入完成')
time.sleep(3)
# defind_distance
#死循环阻塞获取
while True:
print("循环阻塞开始")
time.sleep(3)
# defind_distance
#死循环阻塞获取
while True:
print("循环阻塞开始")
time.sleep(3)
#判断是否有 pid_1 的的值
print(pid+"_1")
if redisLocal.lpos('model:auto_distance',pid+"_1") == None:
continue
shutil.move(os.path.join(config.workdir, pid, f'{pid}_wait.rcproj'), os.path.join(config.workdir, pid, f'{pid}.rcproj'))
print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} pid: {pid} 定义定位点距离完成')
#将 controlpoints_0.dat 文件拷贝到 oss 上作为公共的使用
common.uploadControlPointsOss(pid)
#判断是否有 pid_1 的的值
print(pid+"_1")
if redisLocal.lpos('model:auto_distance',pid+"_1") == None:
continue
shutil.move(os.path.join(config.workdir, pid, f'{pid}_wait.rcproj'), os.path.join(config.workdir, pid, f'{pid}.rcproj'))
print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} pid: {pid} 定义定位点距离完成')
#将 controlpoints_0.dat 文件拷贝到 oss 上作为公共的使用
common.uploadControlPointsOss(pid)
#最后处理掉redis中的值
redisLocal.lrem('model:auto_distance', 0, pid+"_1")
break
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),"循环阻塞结束,判断是否对齐成功")
#最后处理掉redis中的值
redisLocal.lrem('model:auto_distance', 0, pid+"_1")
break
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),"循环阻塞结束,开始建模")
else:
#修改rcproj文件 controlpoints fileName 的引入
flag = common.changeRcprojControlpointsFile(pid)
if flag == False:
print(f'{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())} pid: {pid} 获取及修改controlpoints失败')
return
print("使用公共point文件的方式进行建模")
#查看对齐的数量
alignRes = common.isAlignNums(str(pid))
if alignRes == "rebuild":
os.system(f'python d:\\make2\\tools\push_cmd.py rebuild {pid}')
os.system(f'python d:\\make2\\main_service.py')
return
#区域的设置 建模
#update
cmdSmall = "-align"
@@ -115,7 +110,10 @@ def make3d(pid):
#{config.r1["init"]}
if common.task_need_high_model(pid):
calulate_type = '-mvsHigh'
if str(psid) == "41" or str(psid) == "85":
calulate_type = "-mvs"
else:
calulate_type = '-mvsHigh'
else:
calulate_type = '-mvs'
@@ -164,7 +162,10 @@ def make3d(pid):
else: # new version
#判断是否要进行高精模
if common.task_need_high_model(pid):
calulate_type = 'calculateHighModel'
if str(psid) == "41" or str(psid) == "85":
calulate_type = "calculateNormalModel"
else:
calulate_type = 'calculateHighModel'
else:
calulate_type = 'calculateNormalModel'