Filtrare componenti in una tabella

Davimont

Utente Standard
Professione: Disegnatore meccanico Fai da te.
Software: Solid Edge ST10
Regione: Lombardia
#1
Buona giornata a tutti.
La mia idea è di poter inserire un'assieme in draft. Questo assieme ha i componenti catalogati tramite un campo.
Esempio, tutta la lamiera la classifico come lamiera, la viteria come fissaggi, i componenti da comprare come commerciali.
Ora creo una tabella e gli dico di inserirmi solo i componenti marchiati come commerciali.

Utopia? Ora sono costretto a creare le configurazioni in ASM e poi richiamare la configurazione nella tabella.
Il problema è che in fase di modifica posso aggiungere o sostituire componenti che poi mi verrebbero a mancare nelle configurazioni. Se ti dimentichi di aggiornare una configurazione poi mi manca nell'elenco e non sempre è facile accorgesene.

Avete qualche idea per mettere in atto il i piano:rolleyes:?
 

Be_on_edge

Moderatore
Staff Forum
Professione: Progettazione
Software: Solid Edge
Regione: Emilia Romagna
#2
Fai la tabella con tutti i componenti e poi nascondi le righe che non ti interessano.

E' comunque una gestione manuale
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#3
Io mostrerei tutto e aggiungerei la colonna in tabella.
Copia Contenuti - Incolla su Excell , impostata filtro, (predisposto, senza filtrare), poi i colleghi si ritrovano tutto.

Oppure abbinandosi al metodo di Be_On_Edge, aggiungi la colonna, ordini per provenienza, selezioni le righe, nascondi righe, e forse ti permetti di riordinare.

Se proprio vuoi fare tante tabelle, esite in asm e forse in draft il comando Interrogazioni. Si impostata tipo nuova interrogazione dal nome "Domanda 1", campo "Provenienza" "contiene" "Commerciale".
Non sono molto comode.

Se no ti fai una macro e ti devi ricordare di lanciarla. Non dovrebbe essere complicato.
 

Davimont

Utente Standard
Professione: Disegnatore meccanico Fai da te.
Software: Solid Edge ST10
Regione: Lombardia
#4
Grazie a tutti e due per i consigli.
Vespa mi piacerebbe un sacco iniziare a fare qualche macro ma mi sono trovato spaesato quando ho iniziato a leggere la guida dell'SDK.
Con l'inglese non vado molto daccordo e questo è un grosso problema.
Ho fatto qualcosa con visual basic qualche anno fa ma su youtube si trova molto materiale.
Avete qualche consiglio per prendere il via?
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#5
Per l'inglese è un problema.
Posso abbozzarti un po' il codice in un file vbs, quando aggiungi l'icona al nastro metti tipo di file tutti *.* invece che solo *.exe ; *.dll

Come ho detto altre volte preferisco smanettare a mano su un file di testo con notepad++ , verificando gli oggetti con "Spy for Solid Edge" piuttosto che installare Visual Studio Express per programmare e per compilare, ma dipende da cosa si sta facendo e l'obiettivo.

Presomo che le tue tabelle originali non siano altissime e suddivise in più pagine. Quindi la descrizione del comando sarà:
Per ogni Elenco Parte selezionata, applica un filtro su input dell'utente (0: tutti ; 1: Commerciali ; 2: A Produzione; ...) nascondendo le righe non corrispondenti.

La numerazione rimane come prima del filtro.

Può andare ?
 

Davimont

Utente Standard
Professione: Disegnatore meccanico Fai da te.
Software: Solid Edge ST10
Regione: Lombardia
#6
Vespa sei gentilissimo. I miei elenchi parti sono max due fogli. Ho 40 codici per foglio e fino ad ora non sono mai andato oltre i 60 codici.

Mi basterebbe capire il meccanismo e dove reperire le informazioni.
Esempio banale: la macro apri draft di Be_on_edge è stata la sua base di partenza. Volessi replicarla io, che ricerche dovrei fare per capire come impostare la macro?

Una spiegazione del tipo
La macro viene sempre inizializzata con questo codice e chiama queste librerie.
Le variabili vanno sempre dichiarate all'inizio in questo modo
.. via dicendo

mi sarebbe molto comoda. Ovvio che anche io posso studiarmi l'argomento nei ritagli di tempo perchè al capo, che io mi tiri fuori una macro che mi semplifica la vita non gliene può fregar di meno.

Intanto grazie per l'aiuto.
 

Davimont

Utente Standard
Professione: Disegnatore meccanico Fai da te.
Software: Solid Edge ST10
Regione: Lombardia
#7
Scusate la domanda
Ho usato in passato visual studio e mi ricordo che quando digitavo l'inizio di un comando mi uscivano i suggerimenti.
Se dopo un comando digitavo il punto lui mi elencava tutti i sottocomandi richiamabili.
Sto cercando di usare notepad++ e noto che questo non accade. Non è previsto dal programma o devo settare qualche cosa nel programma?
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#8
Esatto. In Visual Studio dichiari che l'oggetto - ad esempio objDoc - non è un oggetto qualunque ma è un " As SolidEdge.PartDocument" quindi il programma va a vedere per te quali membri possiede (proprietà e funzioni).

Personalmente, per piccoli/corti programmi ritengo molto più veloce scrivere in Notepad++, creando file vbscript, perché non serve compilare, non serve assegnare gli oggetti (anzi è vietato), i riferimenti alle Librerie dll e tutte le dovute noiose conversioni tra i numeri.
Controllo i membri disponibili con Spy e la guida SDK di Solidedge (sesdk.chm) , so cosa sto facendo, mentre in Visual Studio sono portato a pensare che se mi propone una funzione deve funzionare, mentre invece potrei non aver messo un "Set" al posto giusto.

Posto qui il codice che ti ho passato i giorni scorsi che stai provando.
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#9
Allego la macro che qualche giorno ha ho preparato per Davimont che, come si legge in questo thread, aveva una esigenza particolare.
Con un po' di copia-incolla ho messo insieme alcune funzioni di altre macro, poi ho adattato il compito principale "Sub Main()".
Iter:

Per ogni oggetto selezionato
se è un Elenco Parti (PartList) allora chiedi che filtro applicare (inputbox).
per ogni riga, trova il 3d (ModelNode)
leggi la Proprietà (es.: Provenienza dalla scheda Personalizzate)
se la proprità è uguale al filtro allora Mostra altrimenti Nascondi​

Le parti che vanno personalizzate sono indicate con "DA ADATTARE".

Pensavo che si potrebbero mettere i progetti condivisibili su GitHub, Be_on_Edge, tu cosa ne pensi?
 

Allegati

Ultima modifica:

Be_on_edge

Moderatore
Staff Forum
Professione: Progettazione
Software: Solid Edge
Regione: Emilia Romagna
#10
Allego la macro che qualche giorno ha ho preparato per Davimont che, come si legge in questo thread, aveva una esigenza particolare.
Con un po' di copia-incolla ho messo insieme alcune funzioni di altre macro, poi ho adattato il compito principale "Sub Main()".
Iter:

Per ogni oggetto selezionato
se è un Elenco Parti (PartList) allora chiedi che filtro applicare (inputbox).
per ogni riga, trova il 3d (ModelNode)
leggi la Proprietà (es.: Provenienza dalla scheda Personalizzate)
se la proprità è uguale al filtro allora Mostra altrimenti Nascondi​

Le parti che vanno personalizzate sono indicate con "DA ADATTARE".

Pensavo che si potrebbero mettere i progetti condivisibili su GitHub, Be_on_Edge, tu cosa ne pensi?
L'idea mi piace ma la mia esperienza con GitHub è pari a zero, tu lo conosci ?
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#11
ho un account, ma mi sono perso con i comandi da console.
In pratica, parlo in gergo PDM, fai un check-out, modifici in locale, poi fai una richiesta al proprietario di accettare la modifica. Per creare una copia fai un fork.
In pratica non so fare e non ci ho mai provato.
Mi sono un po' informato su siti tipo https://codeanywhere.com che possono interagire con Github e Google Drive , ma penso sia più adatto a chi progetta web server tipo php con collaboratori.