Sostituzione Cartiglio

pietro2014

Utente Junior
Professione: progettista
Software: Inventor
Regione: Campania
Buongiorno a tutti ,

ho dei disegni in Inventor 2020 creati con un cartiglio DIN di default che ora vorrei sostituire con quello creato ad hoc per la mia Azienda , che ho copiato nella cartella Template.

Qual'è la procedura che mi permette di sostituire i cartigli vecchi ?

Grazie
 

Zac69

Utente Standard
Professione: Disegnatore
Software: Inventor 2022
Regione: Piemonte
In Avvio>Autodesk> trovi anche una procedura guidata di trasferimento risorse disegno. Tra le opzioni di trasferimento c'è anche il cartiglio.
 

batleo

Utente Junior
Professione: disegnatore
Software: inventor
Regione: Piemonte
Ciao se hai molti file già fatti, io uso questa regola, e se rimetto mano ad un file fatto con template vecchi , clicco e cambia. Devi avere un template con il cartiglio che vuoi mettere , e poi sostituisci i percorsi.

Codice:
Public Sub Main ()

    'Check Title in active document
    Try
        Dim odrawdoc As DrawingDocument
            odrawdoc = ThisApplication.ActiveDocument
        
        
        ' Check if drawing deferupdate state is true
        If Not odrawdoc.DrawingSettings.DeferUpdates = "False" Then
           'ShowError("Can`t change Title because drawing file is Deferupdate")
            Exit Sub   
        End If       
    
        'Sostituisco i simboli nel disegno
        Try
            deletesymbols
            'CopySymbols
        Catch
            
        End Try
        
        Dim Title="cartiglio-2019"
        Call ReplaceTitle(Title)
    
    Catch
        MsgBox("Errore durante sostituzione cartiglio")
        
    End Try

    
End Sub

Sub ReplaceTitle(ByRef Title As String )

    Dim odrawdoc As DrawingDocument
    odrawdoc = ThisApplication.ActiveDocument
    Dim Template = "C:\Impostazioni_Inventor\2018\Templates\2019 Standard.idw"   
        

    Dim oTemplate As DrawingDocument
    Dim oSourceTitleBlockDef As TitleBlockDefinition
    Dim oNewTitleBlockDef As TitleBlockDefinition
    Dim oSheet = odrawdoc.ActiveSheet

    Try   
        'Apro il template       
        oTemplate = ThisApplication.Documents.Open(Template, False)
        'Aggancio la definizione del nuovo cartiglio
         oSourceTitleBlockDef = oTemplate.TitleBlockDefinitions.Item(Title)
        'Copio la definizinoe del cartiglio nel nuovo disegno
         oNewTitleBlockDef = oSourceTitleBlockDef.CopyTo(odrawdoc, True)
        'Chiudo il template
         oTemplate.Close
    
        'MsgBox("Tentativo di inserimento cartiglio "  & Title)
          
        'Inserimento cartiglio sul disegno
        
'        Dim i As Integer
'        Dim intPrompts As Integer = 0
'        For i = 1 To oNewTitleBlockDef.Sketch.TextBoxes.Count
'            Dim oText = oNewTitleBlockDef.Sketch.TextBoxes(i)           
'            If (oText.Text = "MY_PROMPT")           
'                intPrompts = intPrompts + 1
'            End If
'        Next
        
        'MsgBox ("Trovati " & intPrompts & " messaggi prompt")
        
        Dim oPrompts(2) As String
        oPrompts(0) = ""
        oPrompts(1) = ""
        oPrompts(2) = ""
        oSheet.TitleBlock.Delete()       
           oSheet.AddTitleBlock(oNewTitleBlockDef,,oPrompts)
        
        'MsgBox("Title Block changed to " & vbCr & Title)


    Catch ex As Exception
        MsgBox("Errore: " & ex.Message)
    End Try
    
    
End Sub

Sub deletesymbols

Dim oDoc As DrawingDocument = ThisDoc.Document
Dim oSkSymDefs As SketchedSymbolDefinitions = oDoc.SketchedSymbolDefinitions
Dim oSkSymDef As SketchedSymbolDefinition

For Each oSkSymDef In oSkSymDefs
    If oSkSymDef.IsReferenced = False Then
        oSkSymDef.Delete
    End If
Next
    
End Sub

Sub CopySymbols
            
            Dim strSelectedStamp As String = "Result2"
            
            Dim strStampList As New ArrayList
            
            Dim strStampRequired As Boolean
            strStampRequired = True
            strStampList.Add("cartilgio-2019")
            'strStampList.Add("X OSSITAGLIO")
            'strStampList.Add("Test")
            strSelectedStamp = InputListBox("Please select a stamp.", strStampList, strSelectedStamp, "Stamp Selection", "Available Stamps")
            Dim strDrawDoc As Inventor.DrawingDocument = ThisApplication.ActiveDocument
            Dim SourceFile As String = "M:\_Impostazioni_Inventor\2018\Templates\2019 Standard.idw"
                    
            Dim strSourceIDW As DrawingDocument
            strSourceIDW = ThisApplication.Documents.Open(SourceFile, False)
            Dim symbolDef As SketchedSymbolDefinition
            
            Dim CopyFrom As SketchedSymbolDefinition
            

     Try
            For Each symbolDef In strSourceIDW.SketchedSymbolDefinitions
                
                    CopyFrom = (symbolDef.CopyTo(strDrawDoc, True))
                
            Next
Catch ex As Exception
MessageBox.Show(ex.Message, "Title")

End Try
            strSourceIDW.Close()
    End Sub
 

SINCOSALD

Utente poco attivo
Professione: DISEGNATORE
Software: INVENTOR e AUTOCAD
Regione: LOMBARDIA
Ciao se hai molti file già fatti, io uso questa regola, e se rimetto mano ad un file fatto con template vecchi , clicco e cambia. Devi avere un template con il cartiglio che vuoi mettere , e poi sostituisci i percorsi.

Codice:
Public Sub Main ()

    'Check Title in active document
    Try
        Dim odrawdoc As DrawingDocument
            odrawdoc = ThisApplication.ActiveDocument
       
       
        ' Check if drawing deferupdate state is true
        If Not odrawdoc.DrawingSettings.DeferUpdates = "False" Then
           'ShowError("Can`t change Title because drawing file is Deferupdate")
            Exit Sub  
        End If      
   
        'Sostituisco i simboli nel disegno
        Try
            deletesymbols
            'CopySymbols
        Catch
           
        End Try
       
        Dim Title="cartiglio-2019"
        Call ReplaceTitle(Title)
   
    Catch
        MsgBox("Errore durante sostituzione cartiglio")
       
    End Try

   
End Sub

Sub ReplaceTitle(ByRef Title As String )

    Dim odrawdoc As DrawingDocument
    odrawdoc = ThisApplication.ActiveDocument
    Dim Template = "C:\Impostazioni_Inventor\2018\Templates\2019 Standard.idw"  
       

    Dim oTemplate As DrawingDocument
    Dim oSourceTitleBlockDef As TitleBlockDefinition
    Dim oNewTitleBlockDef As TitleBlockDefinition
    Dim oSheet = odrawdoc.ActiveSheet

    Try  
        'Apro il template      
        oTemplate = ThisApplication.Documents.Open(Template, False)
        'Aggancio la definizione del nuovo cartiglio
         oSourceTitleBlockDef = oTemplate.TitleBlockDefinitions.Item(Title)
        'Copio la definizinoe del cartiglio nel nuovo disegno
         oNewTitleBlockDef = oSourceTitleBlockDef.CopyTo(odrawdoc, True)
        'Chiudo il template
         oTemplate.Close
   
        'MsgBox("Tentativo di inserimento cartiglio "  & Title)
         
        'Inserimento cartiglio sul disegno
       
'        Dim i As Integer
'        Dim intPrompts As Integer = 0
'        For i = 1 To oNewTitleBlockDef.Sketch.TextBoxes.Count
'            Dim oText = oNewTitleBlockDef.Sketch.TextBoxes(i)          
'            If (oText.Text = "MY_PROMPT")          
'                intPrompts = intPrompts + 1
'            End If
'        Next
       
        'MsgBox ("Trovati " & intPrompts & " messaggi prompt")
       
        Dim oPrompts(2) As String
        oPrompts(0) = ""
        oPrompts(1) = ""
        oPrompts(2) = ""
        oSheet.TitleBlock.Delete()      
           oSheet.AddTitleBlock(oNewTitleBlockDef,,oPrompts)
       
        'MsgBox("Title Block changed to " & vbCr & Title)


    Catch ex As Exception
        MsgBox("Errore: " & ex.Message)
    End Try
   
   
End Sub

Sub deletesymbols

Dim oDoc As DrawingDocument = ThisDoc.Document
Dim oSkSymDefs As SketchedSymbolDefinitions = oDoc.SketchedSymbolDefinitions
Dim oSkSymDef As SketchedSymbolDefinition

For Each oSkSymDef In oSkSymDefs
    If oSkSymDef.IsReferenced = False Then
        oSkSymDef.Delete
    End If
Next
   
End Sub

Sub CopySymbols
           
            Dim strSelectedStamp As String = "Result2"
           
            Dim strStampList As New ArrayList
           
            Dim strStampRequired As Boolean
            strStampRequired = True
            strStampList.Add("cartilgio-2019")
            'strStampList.Add("X OSSITAGLIO")
            'strStampList.Add("Test")
            strSelectedStamp = InputListBox("Please select a stamp.", strStampList, strSelectedStamp, "Stamp Selection", "Available Stamps")
            Dim strDrawDoc As Inventor.DrawingDocument = ThisApplication.ActiveDocument
            Dim SourceFile As String = "M:\_Impostazioni_Inventor\2018\Templates\2019 Standard.idw"
                   
            Dim strSourceIDW As DrawingDocument
            strSourceIDW = ThisApplication.Documents.Open(SourceFile, False)
            Dim symbolDef As SketchedSymbolDefinition
           
            Dim CopyFrom As SketchedSymbolDefinition
           

     Try
            For Each symbolDef In strSourceIDW.SketchedSymbolDefinitions
               
                    CopyFrom = (symbolDef.CopyTo(strDrawDoc, True))
               
            Next
Catch ex As Exception
MessageBox.Show(ex.Message, "Title")

End Try
            strSourceIDW.Close()
    End Sub

Buongiorno,
ho creato una nuova regola e inserito il codice,….potete indicarmi nello specifico quali sono i percorsi che devo cambiare?? Non ho mai utilizzato Ilogic, ma questa funzione mi tornerebbe utile. Grazie.
 

Andrea Scarnecchia

Autodesk CAD & PDM expert, SymbioTech founder
Professione: Esperto CAD e PDM Autodesk, Founder della SymbioTech
Software: Autodesk Inventor, AutoCAD, Autodesk Vault, ST-Publisher, ST-Boosters
Regione: Piemonte
Ciao a tutti, come anticipato da Zac69, il tool Autodesk per farlo esiste già e si installa automaticamente insieme ad Inventor:
1603362554671.png
Permette di scegliere il disegno contenente i dati (cartigli, bordi, simboli...) che si vuole trasferire e poi di selezionare i disegni di destinazione anche massivamente.
I file di destinazione devono essere nella versione di Inventor corrispondente a quella dell'applicazione e non protetti da scrittura (quindi se usate Vault devono essere estratti).
 

SINCOSALD

Utente poco attivo
Professione: DISEGNATORE
Software: INVENTOR e AUTOCAD
Regione: LOMBARDIA
Buongiorno,
l'utilizzo di Procedura guidata trasferimento risorse disegno è un metodo valido e che gia' sfrutto. La regola Ilogic riportata da Batleo mi sembra piu' veloce e immediata a livello di operativita' .
Questo è il motivo della mia richiesta….Grazie.
 

aomaxi

Guest
Ciao a tutti, come anticipato da Zac69, il tool Autodesk per farlo esiste già e si installa automaticamente insieme ad Inventor:
Visualizza allegato 59677
Permette di scegliere il disegno contenente i dati (cartigli, bordi, simboli...) che si vuole trasferire e poi di selezionare i disegni di destinazione anche massivamente.
I file di destinazione devono essere nella versione di Inventor corrispondente a quella dell'applicazione e non protetti da scrittura (quindi se usate Vault devono essere estratti).
Ciao, e per aggiornare disegni fatti con la Versione precedente come si fa? Poter aggiornare solo quelli della versione corrente mi risulta abbastanza inutile.
Grazie
 

aomaxi

Guest
Se usi veramente la rel. 2012, non puoi pretendere che un tool recente possa applicarsi a 9 versioni precedenti.
Ho l'ultima versione e non mi aggiorna i cartigli della versione 2020...chi ha detto che uso la 2012? Bo e cmq anche se fosse si tratta di modificare un cartiglio non è che siano stati fatti grandi passi avanti negli ultimi 20 anni...
 

stefanobruno

Moderatore
Staff Forum
Professione: Progettazione caotica e notturna
Software: Inventor 2023 - Autocad ( read only ) - Rhino un pochino
Regione: Piemonte,Torino
chi ha detto che uso la 2012? Bo
Visto che siamo a fine anno e che, nella mia posizione, dovrei moderare, ora mi adeguo alla risposta che hai dato.
All'appunto che ti ho fatto, io mi sarei chiesto : " perché mi scrive che sto usando la 2012? ".
Avrei perso 30 secondi e capito che nel profilo ho scritto 2012, magari invertendo le ultime due cifre.
Dopo di che, avrei risposto dichiarando questa situazione, chiedendo scusa ed eventualmente proseguendo il discorso.
Evidentemente non si usa più, ma a me piacerebbe che si tornasse ad assumersi le proprie responsabilità, invece che saltare subito sul cavallo pazzo, anche per delle piccolezze.
Prometto che il prossimo anno sarò più buono.
 

batleo

Utente Junior
Professione: disegnatore
Software: inventor
Regione: Piemonte
Ciao se hai molti file già fatti, io uso questa regola, e se rimetto mano ad un file fatto con template vecchi , clicco e cambia. Devi avere un template con il cartiglio che vuoi mettere , e poi sostituisci i percorsi.

Codice:
Public Sub Main ()

    'Check Title in active document
    Try
        Dim odrawdoc As DrawingDocument
            odrawdoc = ThisApplication.ActiveDocument
       
       
        ' Check if drawing deferupdate state is true
        If Not odrawdoc.DrawingSettings.DeferUpdates = "False" Then
           'ShowError("Can`t change Title because drawing file is Deferupdate")
            Exit Sub  
        End If      
   
        'Sostituisco i simboli nel disegno
        Try
            deletesymbols
            'CopySymbols
        Catch
           
        End Try
       
        Dim Title="cartiglio-2019"
        Call ReplaceTitle(Title)
   
    Catch
        MsgBox("Errore durante sostituzione cartiglio")
       
    End Try

   
End Sub

Sub ReplaceTitle(ByRef Title As String )

    Dim odrawdoc As DrawingDocument
    odrawdoc = ThisApplication.ActiveDocument
    Dim Template = "C:\Impostazioni_Inventor\2018\Templates\2019 Standard.idw"  
                                ' inserisci il percorso del tuo nuovo template

    Dim oTemplate As DrawingDocument
    Dim oSourceTitleBlockDef As TitleBlockDefinition
    Dim oNewTitleBlockDef As TitleBlockDefinition
    Dim oSheet = odrawdoc.ActiveSheet

    Try  
        'Apro il template      
        oTemplate = ThisApplication.Documents.Open(Template, False)
        'Aggancio la definizione del nuovo cartiglio
         oSourceTitleBlockDef = oTemplate.TitleBlockDefinitions.Item(Title)
        'Copio la definizinoe del cartiglio nel nuovo disegno
         oNewTitleBlockDef = oSourceTitleBlockDef.CopyTo(odrawdoc, True)
        'Chiudo il template
         oTemplate.Close
   
        'MsgBox("Tentativo di inserimento cartiglio "  & Title)
         
        'Inserimento cartiglio sul disegno
       
'        Dim i As Integer
'        Dim intPrompts As Integer = 0
'        For i = 1 To oNewTitleBlockDef.Sketch.TextBoxes.Count
'            Dim oText = oNewTitleBlockDef.Sketch.TextBoxes(i)          
'            If (oText.Text = "MY_PROMPT")          
'                intPrompts = intPrompts + 1
'            End If
'        Next
       
        'MsgBox ("Trovati " & intPrompts & " messaggi prompt")
       
        Dim oPrompts(2) As String
        oPrompts(0) = ""
        oPrompts(1) = ""
        oPrompts(2) = ""
        oSheet.TitleBlock.Delete()      
           oSheet.AddTitleBlock(oNewTitleBlockDef,,oPrompts)
       
        'MsgBox("Title Block changed to " & vbCr & Title)


    Catch ex As Exception
        MsgBox("Errore: " & ex.Message)
    End Try
   
   
End Sub

Sub deletesymbols

Dim oDoc As DrawingDocument = ThisDoc.Document
Dim oSkSymDefs As SketchedSymbolDefinitions = oDoc.SketchedSymbolDefinitions
Dim oSkSymDef As SketchedSymbolDefinition

For Each oSkSymDef In oSkSymDefs
    If oSkSymDef.IsReferenced = False Then
        oSkSymDef.Delete
    End If
Next
   
End Sub

Sub CopySymbols
           
            Dim strSelectedStamp As String = "Result2"
           
            Dim strStampList As New ArrayList
           
            Dim strStampRequired As Boolean
            strStampRequired = True
            strStampList.Add("cartilgio-2019") 'nome nuovo cartiglio
            'strStampList.Add("X OSSITAGLIO") ' opzionale se ne hai più di 1
            'strStampList.Add("Test")
            strSelectedStamp = InputListBox("Please select a stamp.", strStampList, strSelectedStamp, "Stamp Selection", "Available Stamps")
            Dim strDrawDoc As Inventor.DrawingDocument = ThisApplication.ActiveDocument
            Dim SourceFile As String = "M:\_Impostazioni_Inventor\2018\Templates\2019 Standard.idw"
                   
            Dim strSourceIDW As DrawingDocument
            strSourceIDW = ThisApplication.Documents.Open(SourceFile, False)
            Dim symbolDef As SketchedSymbolDefinition
           
            Dim CopyFrom As SketchedSymbolDefinition
           

     Try
            For Each symbolDef In strSourceIDW.SketchedSymbolDefinitions
               
                    CopyFrom = (symbolDef.CopyTo(strDrawDoc, True))
               
            Next
Catch ex As Exception
MessageBox.Show(ex.Message, "Title")

End Try
            strSourceIDW.Close()
    End Sub
 

batleo

Utente Junior
Professione: disegnatore
Software: inventor
Regione: Piemonte
ops dimenticavo
cerca
' inserisci il percorso del tuo nuovo template
'nome nuovo cartiglio
così sai dove e cosa andare a sostituire.
poi se ti crei il modulo con la tasto per regola fai tutto con un clic.
 

SINCOSALD

Utente poco attivo
Professione: DISEGNATORE
Software: INVENTOR e AUTOCAD
Regione: LOMBARDIA
Buongiorno a tutti,
ho creato la regola inserendo il percorso del nuovo template e il nome del nuovo cartiglio….eseguendo la regola il cartiglio sparisce e compare il seguente messaggioImmagine 2021-01-22 083119.jpg
clicco su annulla e compare il cartiglio aggiornato. Dove sta l'inghippo??
Altra questione...come faccio ad avere la regola di cui sopra disponibile in ogni disegno che apro senza crearla ogni volta??
Scusate per la banalita' delle domande, ma non ho esperienza in ambito Ilogic.

Grazie
 

batleo

Utente Junior
Professione: disegnatore
Software: inventor
Regione: Piemonte
Ciao scusa il ritardo se posti la regola con i percorsi cambiati provo a dargli un occhiata, a volte è solo questione di sintassi .
 

SINCOSALD

Utente poco attivo
Professione: DISEGNATORE
Software: INVENTOR e AUTOCAD
Regione: LOMBARDIA
Codice:
Public Sub Main ()

    'Check Title in active document
    Try
        Dim odrawdoc As DrawingDocument
            odrawdoc = ThisApplication.ActiveDocument
       
       
        ' Check if drawing deferupdate state is true
        If Not odrawdoc.DrawingSettings.DeferUpdates = "False" Then
           'ShowError("Can`t change Title because drawing file is Deferupdate")
            Exit Sub  
        End If      
   
        'Sostituisco i simboli nel disegno
        Try
            deletesymbols
            'CopySymbols
        Catch
           
        End Try
       
        Dim Title="SincoCartiglio"
        Call ReplaceTitle(Title)
   
    Catch
        MsgBox("Errore durante sostituzione cartiglio")
       
    End Try

   
End Sub

Sub ReplaceTitle(ByRef Title As String )

    Dim odrawdoc As DrawingDocument
    odrawdoc = ThisApplication.ActiveDocument
    Dim Template = "G:\Ufficio Tecnico\Impostazioni Inventor\2018\Templates\Standard New.idw"  
       

    Dim oTemplate As DrawingDocument
    Dim oSourceTitleBlockDef As TitleBlockDefinition
    Dim oNewTitleBlockDef As TitleBlockDefinition
    Dim oSheet = odrawdoc.ActiveSheet

    Try  
        'Apro il template      
        oTemplate = ThisApplication.Documents.Open(Template, False)
        'Aggancio la definizione del nuovo cartiglio
         oSourceTitleBlockDef = oTemplate.TitleBlockDefinitions.Item(Title)
        'Copio la definizinoe del cartiglio nel nuovo disegno
         oNewTitleBlockDef = oSourceTitleBlockDef.CopyTo(odrawdoc, True)
        'Chiudo il template
         oTemplate.Close
   
        'MsgBox("Tentativo di inserimento cartiglio "  & Title)
         
        'Inserimento cartiglio sul disegno
       
'        Dim i As Integer
'        Dim intPrompts As Integer = 0
'        For i = 1 To oNewTitleBlockDef.Sketch.TextBoxes.Count
'            Dim oText = oNewTitleBlockDef.Sketch.TextBoxes(i)          
'            If (oText.Text = "MY_PROMPT")          
'                intPrompts = intPrompts + 1
'            End If
'        Next
       
        'MsgBox ("Trovati " & intPrompts & " messaggi prompt")
       
        Dim oPrompts(2) As String
        oPrompts(0) = ""
        oPrompts(1) = ""
        oPrompts(2) = ""
        oSheet.TitleBlock.Delete()      
           oSheet.AddTitleBlock(oNewTitleBlockDef,,oPrompts)
       
        'MsgBox("Title Block changed to " & vbCr & Title)


    Catch ex As Exception
        MsgBox("Errore: " & ex.Message)
    End Try
   
   
End Sub

Sub deletesymbols

Dim oDoc As DrawingDocument = ThisDoc.Document
Dim oSkSymDefs As SketchedSymbolDefinitions = oDoc.SketchedSymbolDefinitions
Dim oSkSymDef As SketchedSymbolDefinition

For Each oSkSymDef In oSkSymDefs
    If oSkSymDef.IsReferenced = False Then
        oSkSymDef.Delete
    End If
Next
   
End Sub

Sub CopySymbols
           
            Dim strSelectedStamp As String = "Result2"
           
            Dim strStampList As New ArrayList
           
            Dim strStampRequired As Boolean
            strStampRequired = True
            strStampList.Add("SincoCartiglio")
            strSelectedStamp = InputListBox("Please select a stamp.", strStampList, strSelectedStamp, "Stamp Selection", "Available Stamps")
            Dim strDrawDoc As Inventor.DrawingDocument = ThisApplication.ActiveDocument
            Dim SourceFile As String = "G:\Ufficio Tecnico\Impostazioni Inventor\2018\Templates\Standard New.idw"
                   
            Dim strSourceIDW As DrawingDocument
            strSourceIDW = ThisApplication.Documents.Open(SourceFile, False)
            Dim symbolDef As SketchedSymbolDefinition
           
            Dim CopyFrom As SketchedSymbolDefinition
           

     Try
            For Each symbolDef In strSourceIDW.SketchedSymbolDefinitions
               
                    CopyFrom = (symbolDef.CopyTo(strDrawDoc, True))
               
            Next
Catch ex As Exception
MessageBox.Show(ex.Message, "Title")

End Try
            strSourceIDW.Close()
    End Sub
 

windreef

Utente Junior
Professione: Progettista meccanico
Software: Inventor 2023
Regione: Toscana
Sinceramente, la procedura di trasferimento automatico di risorse del disegno è semplice ed intuitiva. e lo fa in automatico su una selezione di più file. Poi con Ilogic sicuramente può essere personalizzato ulteriormente il processo, ma per una semplice sostituzione di cartigli non vedo la necessità di scomodare Ilogic, opinione mia s'intende.
 

Statistiche forum

Discussioni
56,403
Messaggi
481,032
Utenti registrati
97,888
Ultimo utente registrato
langella53

Staff online

Utenti online


Top