更新遥控器画面

This commit is contained in:
2025-10-10 17:44:10 +08:00
parent faf921afc7
commit 945dadc8e8
86 changed files with 14150 additions and 2607 deletions

View File

@@ -276,78 +276,10 @@ void P01_MianPage::onPreprocessFinished(const QString& deviceName)
});
}
//void P01_MianPage::Show3D(){
// DevName3D = "整机装配";
//// ui->Frame_Dev3D->setStyleSheet("background: transparent;");
//// ui->Frame_Dev3D->setAttribute(Qt::WA_TranslucentBackground);
// mObjLoader = new ObjLoader();
//// mObjLoader->setEnDebug(true);
// mObjLoader->init3DScene(ui->Frame_Dev3D);
// mObjLoader->setCameraSpeed(200.0,200.0);
// bool LoaderOK = mObjLoader->loadDevice(DevName3D, "./3D模型文件/掘锚一体机/本体/"+DevName3D+".obj");
// if(!LoaderOK) {qCritical() <<DevName3D<< "加载:失败";return;}
// mObjLoader->scaleDevice(DevName3D, 0.001f);
// mObjLoader->addAxisGizmo(nullptr, 5.0f); // 全局坐标轴(原点)
// mObjLoader->addAxisGizmo(mObjLoader->getDevice(DevName3D)->entity, 3.0f); // 局部坐标轴
// mObjLoader->setParentDevicePosition(DevName3D, QVector3D(-33.394, 1021.68, 190.52)); // 世界坐标
// mObjLoader->moveArmLocalOriginTo(DevName3D, QVector3D(0, 0, 0));//14.1, -1.4, 3.4
// DevName3D = "运输机";
// LoaderOK = LoaderOK && mObjLoader->loadChildDevice(DevName3D,"./3D模型文件/掘锚一体机/本体/"+DevName3D+".obj", "整机装配");
// mObjLoader->scaleDevice(DevName3D, 0.001f);
// mObjLoader->addAxisGizmo(mObjLoader->getDevice(DevName3D)->entity, 3.0f); // 电控箱体局部坐标轴
// mObjLoader->setParentDevicePosition(DevName3D, QVector3D(0,617.183, 95239.7)); // 世界坐标 0 1 96.48
// mObjLoader->moveArmLocalOriginTo(DevName3D, QVector3D(0,1,96.48));
// mObjLoader->adjustChildDeviceOffset(DevName3D, QVector3D(-3.61, 1.25, 0.25)); //-3.61, 0.17, 0.25
// mObjLoader->rotateArmToAbsoluteYAngle(DevName3D, 90);
// DevName3D = "截割部";
// LoaderOK = LoaderOK && mObjLoader->loadChildDevice(DevName3D,"./3D模型文件/掘锚一体机/本体/"+DevName3D+".obj", "整机装配");
// mObjLoader->scaleDevice(DevName3D, 0.001f);
// mObjLoader->addAxisGizmo(mObjLoader->getDevice(DevName3D)->entity, 5.0f); // 电控箱体局部坐标轴
// mObjLoader->setParentDevicePosition(DevName3D, QVector3D(0, -3633.7, 4141.31)); // 世界坐标
// mObjLoader->moveArmLocalOriginTo(DevName3D, QVector3D(0, -2.9800, 1.3800));
// mObjLoader->adjustChildDeviceOffset(DevName3D, QVector3D(0.5000, 0.7100, 0.2500));
// mObjLoader->rotateArmToAbsoluteYAngle(DevName3D, 90);
// DevName3D = "滚筒";
// LoaderOK = LoaderOK && mObjLoader->loadChildDevice(DevName3D,"./3D模型文件/掘锚一体机/本体/"+DevName3D+".obj", "截割部");
// mObjLoader->rotateDevice(DevName3D,10260,0,0);
// mObjLoader->scaleDevice(DevName3D, 0.001f);
// mObjLoader->addAxisGizmo(mObjLoader->getDevice(DevName3D)->entity, 10.0f); // 电控箱体局部坐标轴
// mObjLoader->setParentDevicePosition(DevName3D, QVector3D(-0.927338, 2800, 1.00699)); // 世界坐标
// mObjLoader->moveArmLocalOriginTo(DevName3D, QVector3D(1.0050, 4.2200, 0.5000));//1.0050, 4.2200, 0.5000
// mObjLoader->adjustChildDeviceOffset(DevName3D, QVector3D(0, 0, 0));
// mObjLoader->moveArmLocalOriginTo(DevName3D, QVector3D(0, -10, 0));//1.0050, 4.2200, 0.5000
// mObjLoader->rotateArmToAbsoluteZAngle(DevName3D, 90);
// mObjLoader->adjustChildDeviceOffset(DevName3D, QVector3D(4.2000, -1.600, 5.0000));
// mObjLoader->rotateArmToAbsoluteXAngle(DevName3D, 1);
// if(LoaderOK){
// // 初始化定时器(作为成员变量)
// QTimer *RotateDev_Timer = new QTimer(this);
// connect(RotateDev_Timer, &QTimer::timeout, this, &P01_MianPage::RotateDev);
// RotateDev_Timer->setInterval(33);
// RotateDev_Timer->start();
// }
// Qt3DRender::QCamera* cam = mObjLoader->getCamera();
// if (cam) {
// cam->setPosition(QVector3D(13.2300, 8.3400, 14.3400)); // 相机在 Z 轴 30 位置,远离模型
// cam->setViewCenter(QVector3D(3.3,-1, -2)); // 看向电控箱体的世界位置
// }
// ui->Frame_Dev3D->resize(420,230);
// qDebug()<<ui->Frame_Dev3D->width()<<ui->Frame_Dev3D->height();
//}
uint32_t TCount =0 ;
void P01_MianPage::UIRefreshTimeOut()
{
if(this->isHidden())
if(gPageIndexStr != "P01")
return;
uint32_t TmpBools[10];
@@ -522,7 +454,7 @@ void P01_MianPage::SetProgressBar(QProgressBar *PB,uint16_t Value,uint8_t ColorI
}
uint16_t OldRoller_Length = 0;
void P01_MianPage::TrailRefreshTimeOut(){
if(this->isHidden())
if(gPageIndexStr != "P01")
return;
// 画板的显示
uint32_t Diameter = gOPC_NodeValue["ns=6;s=::AsGlobalPV:RollerPosition.Diameter"] .toUInt();
@@ -568,6 +500,8 @@ void P01_MianPage::TrailRefreshTimeOut(){
void P01_MianPage::uiRollerPosition(uint8_t Index,uint16_t aX,uint16_t aY){
//qDebug()<<Index<<aX<<aY<<OldRollerPos[Index][0]<<OldRollerPos[Index][1] ;
//掘锚机运输机位置的显示
if(gPageIndexStr != "P01")
return;
if(OldRollerPos[Index][0] != aX || OldRollerPos[Index][1] != aY){
QPoint localPos(aX,aY);
if(Index == 0)
@@ -579,6 +513,7 @@ void P01_MianPage::uiRollerPosition(uint8_t Index,uint16_t aX,uint16_t aY){
OldRollerPos[Index][1] = aY;
}
void P01_MianPage::uiInitHaulSpeed(int Max){
ui->Slider_Haul_L->setMinimum(0-Max);
ui->Slider_Haul_L->setMaximum(Max);
ui->Slider_Haul_R->setMinimum(0-Max);
@@ -593,18 +528,24 @@ void P01_MianPage::uiInitTransportPos(int MaxX,int MaxY){
TransportPosMaxY = MaxY;
}
void P01_MianPage::uiSetHaulSpeed(int SpeedL,int SpeedR){
if(gPageIndexStr != "P01")
return;
ui->Slider_Haul_L->setValue(SpeedL);
ui->LCD_MainHaul_L->display(QString::number(SpeedL));
ui->Slider_Haul_R->setValue(SpeedR);
ui->LCD_MainHaul_R->display(QString::number(SpeedR));
}
void P01_MianPage::uiSetMining(float CenterHeight,uint16_t Roller_Diameter_mm){
if(gPageIndexStr != "P01")
return;
int16_t CH = CenterHeight*1000;
ui->Slider_Mining->setValue(CH);
ui->LCD_MiningB1->display(QString::number(CenterHeight - Roller_Diameter_mm * 0.001, 'f', 2));
ui->LCD_MiningT1->display(QString::number(CenterHeight + Roller_Diameter_mm * 0.001, 'f', 2));
}
void P01_MianPage::uiSetTransportPos(int rx,int ry){
if(gPageIndexStr != "P01")
return;
int NewRX = 29+(130/2)+rx;
int NewRY = -6+(130/2)+ry;
//qDebug()<<NewRX<<NewRY;
@@ -638,6 +579,8 @@ void P01_MianPage::SetStyleStr(QLabel *L,bool B1,bool B2,QStringList StyStr){
}
void P01_MianPage::RotateDev(){
if(gPageIndexStr != "P01")
return;
mAngle = mAngle + 1;
if(mAngle > 360) mAngle =0;
//mObjLoader->rotateArmToAbsoluteYAngle(DevName3D, jd);