2026-09-22 14:24:57 +02:00
|
|
|
namespace PrepStep;
|
|
|
|
|
|
|
|
|
|
/// <summary>Guida interattiva richiamabile da "Aiuto ▸ Guida" (F1): sintesi delle 5 fasi del
|
|
|
|
|
/// wizard, per chi apre l'app senza aver letto i docs. Il dettaglio completo (formato .asm,
|
|
|
|
|
/// schema DB, ecc.) resta solo in docs/architettura.md e affini, per non duplicarlo qui.</summary>
|
|
|
|
|
public class GuidaForm : Form
|
|
|
|
|
{
|
|
|
|
|
private static readonly (string Titolo, string Testo)[] Sezioni =
|
|
|
|
|
{
|
|
|
|
|
("Panoramica", """
|
|
|
|
|
Cevolani StepPrep prepara i file CAD Pro-ENGINEER/Creo da passare a Creo
|
|
|
|
|
Distributed Batch per l'esportazione STEP: indicizza i file di una share di
|
|
|
|
|
rete e guida attraverso 5 fasi, una alla volta, con "Avanti"/"Indietro".
|
|
|
|
|
|
2026-09-22 14:44:17 +02:00
|
|
|
"File ▸ Nuovo" (Ctrl+N) azzera distinta/raw/verifica per
|
2026-09-22 14:24:57 +02:00
|
|
|
ripartire con una nuova distinta base, senza dover ricaricare il database.
|
|
|
|
|
"""),
|
|
|
|
|
("1. Database", """
|
|
|
|
|
Carica o aggiorna l'indice "cad_index.db" a partire dalle cartelle di primo
|
2026-09-22 15:50:29 +02:00
|
|
|
livello del disco/share (radice di default X:\). Un pallino verde/rosso indica
|
|
|
|
|
se un database è caricato. La cartella di lavoro, dove finiscono CSV, "raw" e
|
|
|
|
|
"step", si cambia da "File ▸ Scegli cartella di lavoro...".
|
2026-09-22 14:24:57 +02:00
|
|
|
"""),
|
|
|
|
|
("2. Importa Distinta Base", """
|
2026-09-22 15:50:29 +02:00
|
|
|
Converte il file della distinta (trascinabile nella finestra, o scelto col
|
|
|
|
|
bottone "1. Carica la distinta") in un CSV componente;descrizione nella cartella
|
|
|
|
|
di lavoro. Se il file segue la convenzione del gestionale, aggiunge anche
|
|
|
|
|
l'assieme generale come riga. Poi "2. Verifica la presenza dei file sul server"
|
|
|
|
|
cerca i componenti nell'indice: è questo passo, non il solo import, a sbloccare
|
|
|
|
|
"Avanti".
|
2026-09-22 14:24:57 +02:00
|
|
|
"""),
|
|
|
|
|
("3. Crea cartella raw", """
|
|
|
|
|
Cerca nell'indice i file CAD dei componenti del CSV e li copia nella
|
|
|
|
|
sottocartella "raw" della cartella di lavoro.
|
|
|
|
|
"""),
|
|
|
|
|
("4. Trova componenti referenziati", """
|
|
|
|
|
Legge i file .asm già in "raw" per risolvere ricorsivamente sotto-assiemi e
|
|
|
|
|
parti citate, copiando anche quelli in "raw": componenti soppressi (non in
|
|
|
|
|
distinta ma necessari per aprire l'assieme) e riferimenti esterni (assembly
|
|
|
|
|
feature, datum copiati) inclusi.
|
|
|
|
|
"""),
|
|
|
|
|
("5. Verifica completezza", """
|
|
|
|
|
Mostra i file .asm della distinta già in "raw", trascinabili su Creo per
|
|
|
|
|
l'esportazione STEP (passo manuale, fuori da quest'app). "Verifica
|
|
|
|
|
completezza assiemi" controlla che tutti i sotto-componenti risultino
|
|
|
|
|
presenti nell'indice.
|
|
|
|
|
"""),
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
public GuidaForm()
|
|
|
|
|
{
|
|
|
|
|
Text = "Guida";
|
|
|
|
|
ClientSize = new Size(640, 420);
|
|
|
|
|
MinimumSize = new Size(480, 320);
|
|
|
|
|
StartPosition = FormStartPosition.CenterParent;
|
|
|
|
|
Font = new Font("Segoe UI", 9.5f);
|
|
|
|
|
|
|
|
|
|
var lista = new ListBox
|
|
|
|
|
{
|
|
|
|
|
Dock = DockStyle.Left,
|
|
|
|
|
Width = 200,
|
|
|
|
|
IntegralHeight = false,
|
|
|
|
|
BorderStyle = BorderStyle.None,
|
|
|
|
|
};
|
|
|
|
|
foreach (var (titolo, _) in Sezioni)
|
|
|
|
|
lista.Items.Add(titolo);
|
|
|
|
|
|
|
|
|
|
var testo = new RichTextBox
|
|
|
|
|
{
|
|
|
|
|
Dock = DockStyle.Fill,
|
|
|
|
|
ReadOnly = true,
|
|
|
|
|
BorderStyle = BorderStyle.None,
|
|
|
|
|
BackColor = Color.White,
|
|
|
|
|
Font = new Font(Font.FontFamily, 10f),
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
lista.SelectedIndexChanged += (_, _) =>
|
|
|
|
|
{
|
|
|
|
|
if (lista.SelectedIndex >= 0)
|
|
|
|
|
testo.Text = Sezioni[lista.SelectedIndex].Testo.Trim();
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var btnChiudi = new Button { Text = "Chiudi", Dock = DockStyle.Bottom, Height = 34 };
|
|
|
|
|
UiStile.Secondario(btnChiudi);
|
|
|
|
|
btnChiudi.Click += (_, _) => Close();
|
|
|
|
|
|
|
|
|
|
var contenuto = new Panel { Dock = DockStyle.Fill, Padding = new Padding(16) };
|
|
|
|
|
contenuto.Controls.Add(testo);
|
|
|
|
|
Controls.Add(contenuto);
|
|
|
|
|
Controls.Add(lista);
|
|
|
|
|
Controls.Add(btnChiudi);
|
|
|
|
|
|
|
|
|
|
lista.SelectedIndex = 0;
|
|
|
|
|
}
|
|
|
|
|
}
|