程序优化
This commit is contained in:
1 parent
e83deda268
commit
e1a7647fcb
16 files changed
+634
-91
No files matched your search
+37
-36
@@ -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'
|
||||
|
||||
|
||||
Reference in new issue
Block a user