Risultati da 1 a 8 di 8
  1. #1
    Utente Junior
    Iscritto dal
    2009
    Messaggi
    16
    Professione
    Disegnatore CAD, Progettista Meccanico
    Regione
    Veneto
    Software
    Solid Edge, AutoCad Mechanical, SolidWorks

    Predefinito Estrazione nome file di 10 cifre

    Salve a tutti,

    avrei una richiesta rigurado alle proprietà da inserire nel cartiglio del draft.
    In pratica avrei bisogno del nome del file (senza estensione), ma troncato solo
    nelle ultime 10 cifre, altrimenti mi compare una stringa lunghissima (perchè
    alcuni file hanno un nome lunghissimo).
    Ho cercato nei post vecchi, ma non sono riuscito a trovare niente.

    Grazie

  2. #2
    Utente Standard
    Iscritto dal
    2008
    Messaggi
    925
    Professione
    disegnatore
    Regione
    Romagna
    Software
    Solid Edge

    Predefinito

    Non mi risulta sia possibile formattare un testo tagliandolo, se hai un gestionale documenti PDM fai calcolare a lui il testo e scrivilo dentro una nuova Proprietà Personalizzata.
    I codici di formattazione non sono molti:
    https://docs.plm.automation.siemens....80274:prptxt4a

  3. #3
    Utente Junior
    Iscritto dal
    2009
    Messaggi
    16
    Professione
    Disegnatore CAD, Progettista Meccanico
    Regione
    Veneto
    Software
    Solid Edge, AutoCad Mechanical, SolidWorks

    Predefinito

    Ok,

    grazie della risposta, ho letto il link con la modifica
    delle proprietà del testo, ma non c'è quello che cerco.

    Ciao

  4. #4
    Utente Junior
    Iscritto dal
    2008
    Messaggi
    22
    Professione
    progettista
    Regione
    f.v.g.
    Software
    Solid Edge - TruTops - ActCut

    Predefinito

    Secondo me si potrebbe creare una proprietà personalizzata impostandola con una macro che giochi con la funzione "substring"...

  5. #5
    Utente Junior
    Iscritto dal
    2008
    Messaggi
    22
    Professione
    progettista
    Regione
    f.v.g.
    Software
    Solid Edge - TruTops - ActCut

    Predefinito

    Ho fatto alcune prove modificando una delle Samples che c'è nel CD di Solid Edge (SolidEdge.PropertySets)
    Prima di tutto ho aggiunto due variabili con la prima che fa riferimento al nome file del documento attivo

    Codice:
    Dim strNomeFile As String = Nothing
    Dim strNomeFileBreve As String = Nothing
    strNomeFile = CType(application.ActiveDocument.name(), String) ' ad esempio "CODParte - DescrizioneParte - 00.psm"
    poi ho valorizzato strNomeFileBreve passandola come parametro per la sub AddCustomProperties

    Codice:
    strNomeFileBreve = strNomeFile.Substring(0, 8) 'Estrae i primi otto caratteri del nome File = CODParte
    'oppure
    'strNomeFileBreve = strNomeFile.Substring(0, strNomeFile.Length - 4) 'Estrae il nome File senza estensione = CODParte - DescrizioneParte - 00
    'strNomeFileBreve = strNomeFile.Substring(11, strNomeFile.Length - 20) 'Estrae la parte centrale del nome file da pos.12 a pos.(lunghezza - 9) = DescrizioneParte
    'strNomeFileBreve = strNomeFile.Substring(strNomeFile.Length - 4 - 2, 2) 'Estrae gli ultimi due caratteri del nome file = 00
    
    ...
    
    AddCustomProperties(propertySets, strNomeFileBreve)
    Quindi ho modificato la stessa AddCustomProperties per accettare il parametro e per aggiungerlo alla lista delle proprietà

    Codice:
        Private Shared Sub AddCustomProperties(ByVal propertySets As SolidEdgeFramework.PropertySets, ByVal strNomeFileBreve As String)
            Dim properties As SolidEdgeFramework.Properties = Nothing
    
            properties = propertySets.Item("Custom")
    
            Console.WriteLine("Aggiungo le mie Prorietà Personalizzate.")
    
            properties.Add("CODParte", strNomeFileBreve)
            'properties.Add("DESParte", strNomeFileBreve(2)
            'roperties.Add("REVParte", strNomeFileBreve(3))
            'properties.Add("My Integer", 338)
            'properties.Add("My Boolean", True)
            'properties.Add("My DateTime", Date.Now)
        End Sub
    A questo punto, se il documento attivo è un dft aggiungo al cartiglio un richiamo (od un altra annotazione che supporti il testo di proprietà) che faccia riferimento alla proprietà appena aggiunta (%{CODParte/CP}), altrimenti, se il documento attivo era un 3D, al cartiglio del suo disegno l'annotazione farà riferimento alla proprietà della parte stessa (%{CODParte/CP|R1})

    Spero di essere stato chiaro ed utile

    Ciao

  6. #6
    Moderatore L'avatar di Be_on_edge
    Iscritto dal
    2007
    Messaggi
    2665
    Professione
    Progettazione
    Regione
    Emilia Romagna
    Software
    Solid Edge

    Predefinito

    Prima di procedere con le più disparate soluzioni io metterei in discussione il fatto di memorizzare nel nome file dati importanti come codice e descrizione.

    Ciao
    Francesco
    Cintura nera di solid edge

  7. #7
    Utente Junior
    Iscritto dal
    2008
    Messaggi
    22
    Professione
    progettista
    Regione
    f.v.g.
    Software
    Solid Edge - TruTops - ActCut

    Predefinito

    Citazione Originariamente Scritto da Be_on_edge Visualizza Messaggio
    Prima di procedere con le più disparate soluzioni io metterei in discussione il fatto di memorizzare nel nome file dati importanti come codice e descrizione.

    Ciao
    .. ovviamente ognuno chiama i suoi files come meglio ritiene;
    io non volevo di certo "imporre" alcunché, ma solamente proporre a telegino una soluzione "asettica"al suo quesito che, nel mio piccolo, sono riuscito ad inventare: se il suo file si chiama "abcdefghijkllmnopqrstuvwxyz-1234567890.ext" e nel cartiglio vuole visualizzare solo gli ultimi 10 caratteri (esclusa l'estensione ed il punto separatore), allora l'istruzione per fare ciò sarà

    Codice:
    strNomeFileBreve = strNomeFile.Substring(strNomeFile.Length - 4 - 10, 10)
    Ciao

  8. #8
    Moderatore L'avatar di Be_on_edge
    Iscritto dal
    2007
    Messaggi
    2665
    Professione
    Progettazione
    Regione
    Emilia Romagna
    Software
    Solid Edge

    Predefinito

    Citazione Originariamente Scritto da fiza Visualizza Messaggio
    .. ovviamente ognuno chiama i suoi files come meglio ritiene;
    io non volevo di certo "imporre" alcunché, ma solamente proporre a telegino una soluzione "asettica"al suo quesito che, nel mio piccolo, sono riuscito ad inventare: se il suo file si chiama "abcdefghijkllmnopqrstuvwxyz-1234567890.ext" e nel cartiglio vuole visualizzare solo gli ultimi 10 caratteri (esclusa l'estensione ed il punto separatore), allora l'istruzione per fare ciò sarà

    Codice:
    strNomeFileBreve = strNomeFile.Substring(strNomeFile.Length - 4 - 10, 10)
    Ciao
    Non ce l'ho contro la tua soluzione, volevo solo mettere in chiaro che è bene utilizzare il nome file per quello che è, ovvero il nome file.
    Andare a memorizzare dati importanti in tale posto è il modo migliore per incasinare un archivio non gestito.
    Prima di fare troppi danni il mio consiglio è quello di iniziare a chiamare i file con un criterio migliore, che aiuti principalmente l'archiviazione.
    Quando si lavora senza un gestionale è importante organizzare bene le cose.

    Detto questo uno è liberissimo di fare come gli pare tanto poi i danni se li tiene lui (od il malcapitato che in futuro lo sostituisce )

    Ciao
    Francesco
    Cintura nera di solid edge


  • Discussioni Simili

    1. Risposte: 2
      Ultimo Messaggio: 17-03-2016, 17: 04
    2. Automatizzare la copia di Nome Modello in Nome File
      Di Sandra_ME30 nel forum OneSpace Designer Modeling
      Risposte: 2
      Ultimo Messaggio: 27-12-2015, 00: 56
    3. Risposte: 2
      Ultimo Messaggio: 28-01-2015, 12: 21
    4. Cifre decimali
      Di miccia73 nel forum Creo Parametric - Messa in tavola
      Risposte: 7
      Ultimo Messaggio: 22-03-2011, 12: 25
    5. Estrazione proprietà file ipt in file txt
      Di windreef nel forum Inventor
      Risposte: 9
      Ultimo Messaggio: 25-06-2010, 21: 25

    Tag per Questa Discussione

    Segnalibri

    Segnalibri

    Permessi di Scrittura

    • Tu non puoi inviare nuove discussioni
    • Tu non puoi inviare risposte
    • Tu non puoi inviare allegati
    • Tu non puoi modificare i tuoi messaggi
    •  





    CAD3D.it - la community dei progettisti