Etichetta di blocco su DFT con formule

Papao

Utente Junior
Professione: Progettista
Software: Autocad - Solid Edge
Regione: Marche
#1
Buongiorno a tutti,
è da un po di tempo che non mi do pace per poter risolvere un problema (forse) banale nell'ambiente draft di SE;
Vorrei assegnare ad una etichetta di blocco gli ultimi due valori contenuti nella variabile "%{Nome file (nessuna estensione)}".
Ho provato con il vba di Excel ma mi sono fermato dopo l'estrazione del valore perchè non so come fare ad assegnare al cartiglio.
Ho identificato l'etichetta da compilare (di nome ETP_RIF) e la variabile "SolidEdgeDraft.BlockLabel" ma ora che si fa?

Mi appello a voi, se qualcuno conosce una strada alternativa (magari inserendo una formula che estragga le ultime due cifre della variabile) o come fare per completare l'assegnazione dell'attributo di blocco.
Grazie a tutti.
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#2
Non ho capito niente. Fai un esempio concreto, ad esempio: ho "abcde 01 23" , devo estrarre "01" e "23"...
Per le Etichette di Blocco, in Proprietà, c'è una una tabella compilabile di volta in volta: questo di solito è sufficiente nel 99% dei casi, provalo.
 

Papao

Utente Junior
Professione: Progettista
Software: Autocad - Solid Edge
Regione: Marche
#3
Cominciamo bene...
Intanto grazie per l'interessamento, poi provo ad essere più chiaro procedendo prima per la strada più semplice da fare:
Mi trovo in ambiente draft, vorrei estrarre dalla variabile %{Nome file (nessuna estensione)} solo le ultime due cifre del suo valore e assegnarlo ad una nuova variabile.
Esempio:
variabile "Nome file" = 1025.02.44 (voglio estrarre da questo codice, solo il valore 44 assegnandolo ad una nuova variabile)
Non ho trovato spiegazioni per come inserire delle formule di estrazione stringa all'interno delle etichette di blocco.
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#4
Non penso ci siano metodi automatizzabili per fare quello che chiedi, forse è meglio cambiare strada per arrivare a una soluzione efficiente.
Ti sconsiglio l'uso di crearti una tua macro visto che, se questo ti dovrebbe dare una sicurezza, forse è più facile dimenticarsi di lanciare la macro, fare in modo che sia lanciata 'BeforeSafe' non è così facile.

Forse colorare è più semplice. Quando metto mano ai bordi di una vista o quote, o linee e scritte che dovrebbero essere richiami, utilizzo un mio Stile "a mano" di colore azzuro o blu, così risalta all'occhio.
Inoltre come detto sopra, verificherei le possibilità "normali" offerte da Etichette di Blocco
 

Papao

Utente Junior
Professione: Progettista
Software: Autocad - Solid Edge
Regione: Marche
#5
Proviamo un'altra strada;
Si può assegnare ad una variabile di SE il valore contenuto in una cella di Excel?
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#6
non credo.
il nome file = 1025.02.44 quando lo componi? inserire un campo, una proprietà dove inserisci (ripeti) "44" è un problema?
 

Papao

Utente Junior
Professione: Progettista
Software: Autocad - Solid Edge
Regione: Marche
#7
Viene composto al salvataggio del file (è il num. di disegno ed è progressivo, il primo libero) scriverlo manualmente su un secondo campo vanifica il lavoro automatico. Tanto vale scriverlo direttamente nel cartiglio.
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#8
Il programma che ti crea il progressivo e ti suggerisce il nome file per il salvataggio lo hai scritto tu?
se sì, puoi mettere lì la funzione per aggiungere una custom-property "progr=44" così non perdi l'automatismo.
Codice:
Dim nomeFile = "c:\file.dft"
Dim propName = "progr"
Dim propValue = "44"

Dim objProps As Object
Dim objProp As Object

Set objProps = CreateObject("SolidEdge.FileProperties")
Call objProps.Open(nomeFile)
Set objProp = objProps("Custom") ' Proprietà della scheda Personalizza

Call objProp.Add(propName, propValue)


Call objProps.Close
Set objProps = Nothing
Set objProp = Nothing
 

Papao

Utente Junior
Professione: Progettista
Software: Autocad - Solid Edge
Regione: Marche
#9
Vespa_83 sei fantastico, purtroppo però la nomina del file avviene in modo totalmente manuale: File>salva>aggiungo nome file a mano e poi salvo.
Però mi sembra comunque interessante la tua soluzione, che completa la mia parte di programmazione già postata all'inizio.
Spero che facendo un "taglia e cuci" riesco a venirne a capo.
Va da se che la macro va sempre lanciata manualmente... lasciando invariati i problemi di cui tu esponi.