138 lines
4.2 KiB
PowerShell
138 lines
4.2 KiB
PowerShell
# Script para estandarizar objetos derivados de osBase
|
|
# Ejecutar desde la raíz del proyecto CtrEditor
|
|
|
|
Write-Host "=== Estandarización de Objetos osBase ===" -ForegroundColor Green
|
|
|
|
# Mapeo de nombres de clase mejorados
|
|
$nombresClase = @{
|
|
# Transportes
|
|
"ucTransporteTTop" = "Transporte TTOP"
|
|
"ucTransporteTTopDualInverter" = "Transporte TTOP Dual Inverter"
|
|
"ucTransporteGuias" = "Transporte con Guías"
|
|
"ucTransporteGuiasUnion" = "Transporte con Guías Unión"
|
|
"ucTransporteCurva" = "Transporte Curva"
|
|
"ucTransporteCurvaGuias" = "Transporte Curva con Guías"
|
|
|
|
# Sensores
|
|
"ucPhotocell" = "Fotocélula"
|
|
"ucGearEncoder" = "Encoder de Engranaje"
|
|
"ucEncoderMotor" = "Encoder Motor"
|
|
"ucEncoderMotorLineal" = "Encoder Motor Lineal"
|
|
"ucSensTemperatura" = "Sensor de Temperatura"
|
|
"ucBoton" = "Botón"
|
|
|
|
# Actuadores
|
|
"ucVMmotorSim" = "Motor VetroMeccanica"
|
|
"ucValvulaFluido" = "Válvula de Fluido"
|
|
|
|
# Elementos Estáticos
|
|
"ucGuia" = "Guía"
|
|
"ucDescarte" = "Descarte"
|
|
|
|
# Emuladores
|
|
"ucBottGenerator" = "Generador de Botellas"
|
|
"ucFiller" = "Llenadora"
|
|
"ucTanque" = "Tanque"
|
|
|
|
# Señales
|
|
"ucAnalogTag" = "Tag Analógico"
|
|
"ucBoolTag" = "Tag Digital"
|
|
"ucConsensGeneric" = "Consenso Genérico"
|
|
|
|
# Datos
|
|
"ucExtraccionTag" = "Extracción de Tag"
|
|
"ucBuscarCoincidencias" = "Búsqueda de Coincidencias"
|
|
|
|
# Decorativos
|
|
"ucCustomImage" = "Imagen Personalizada"
|
|
"ucFramePlate" = "Marco"
|
|
"ucTextPlate" = "Placa de Texto"
|
|
|
|
# Fluidos
|
|
"ucTuberiaFluido" = "Tubería de Fluido"
|
|
"osSistemaFluidos" = "Sistema de Fluidos"
|
|
|
|
# Trazas
|
|
"ucTrace3" = "Traza 3 Puntos"
|
|
"ucTraceSimple" = "Traza Simple"
|
|
|
|
# Dinámicos
|
|
"ucBotella" = "Botella"
|
|
"ucBotellaCuello" = "Botella con Cuello"
|
|
|
|
# Ejemplo
|
|
"ucBasicExample" = "Ejemplo Básico"
|
|
}
|
|
|
|
# Mapeo de categorías estándar
|
|
$categoriasEstandar = @{
|
|
"Id:" = "Identificación"
|
|
"Layout:" = "Posición y Tamaño"
|
|
"Setup:" = "Configuración"
|
|
"Simulation:" = "Simulación"
|
|
"PLC link:" = "Enlace PLC"
|
|
"Debug:" = "Información"
|
|
"Encoder:" = "Encoder"
|
|
"General:" = "Identificación"
|
|
}
|
|
|
|
function Actualizar-NombreClase {
|
|
param(
|
|
[string]$archivo,
|
|
[string]$nuevoNombre
|
|
)
|
|
|
|
$contenido = Get-Content $archivo -Raw
|
|
$patron = 'return\s+"[^"]*";'
|
|
$reemplazo = "return `"$nuevoNombre`";"
|
|
|
|
if ($contenido -match $patron) {
|
|
$contenido = $contenido -replace $patron, $reemplazo
|
|
Set-Content $archivo $contenido -NoNewline
|
|
Write-Host "✓ Actualizado NombreClase en $archivo" -ForegroundColor Yellow
|
|
}
|
|
}
|
|
|
|
function Estandarizar-Categorias {
|
|
param([string]$archivo)
|
|
|
|
$contenido = Get-Content $archivo -Raw
|
|
$modificado = $false
|
|
|
|
foreach ($categoria in $categoriasEstandar.Keys) {
|
|
$patron = [regex]::Escape("Category(`"$categoria`")")
|
|
$reemplazo = "Category(`"$($categoriasEstandar[$categoria])`")"
|
|
|
|
if ($contenido -match $patron) {
|
|
$contenido = $contenido -replace $patron, $reemplazo
|
|
$modificado = $true
|
|
}
|
|
}
|
|
|
|
if ($modificado) {
|
|
Set-Content $archivo $contenido -NoNewline
|
|
Write-Host "✓ Estandarizadas categorías en $archivo" -ForegroundColor Cyan
|
|
}
|
|
}
|
|
|
|
# Buscar todos los archivos .cs en ObjetosSim
|
|
$archivos = Get-ChildItem -Path "ObjetosSim" -Filter "*.cs" -Recurse | Where-Object {
|
|
$_.Name -like "uc*.cs" -or $_.Name -like "os*.cs"
|
|
}
|
|
|
|
Write-Host "Encontrados $($archivos.Count) archivos para procesar" -ForegroundColor Blue
|
|
|
|
foreach ($archivo in $archivos) {
|
|
$nombreArchivo = [System.IO.Path]::GetFileNameWithoutExtension($archivo.Name)
|
|
|
|
# Actualizar nombre de clase si está en el mapeo
|
|
if ($nombresClase.ContainsKey($nombreArchivo)) {
|
|
Actualizar-NombreClase -archivo $archivo.FullName -nuevoNombre $nombresClase[$nombreArchivo]
|
|
}
|
|
|
|
# Estandarizar categorías
|
|
Estandarizar-Categorias -archivo $archivo.FullName
|
|
}
|
|
|
|
Write-Host "=== Proceso completado ===" -ForegroundColor Green
|
|
Write-Host "Revise los cambios y verifique que la compilación sea exitosa" -ForegroundColor Yellow |