Pagina 4 di 8 PrimaPrima ... 23456 ... UltimaUltima
Risultati da 31 a 40 di 73
  1. #31
    Utente Standard
    Iscritto dal
    2008
    Messaggi
    692
    Professione
    mah!
    Regione
    .
    Software
    Inv + SW(purtroppo)

    Predefinito

    Citazione Originariamente Scritto da Catafratto Visualizza Messaggio
    Secondo me hai copiato la funzione IsolaNome prima della riga contenete "End Sub": la funzione deve essere copiata alla fine di tutto, fuori dal blocco "sub - end sub". Comunque ti riposto tutto:

    Codice:
    Public Sub PubblicaDXFDWGPDF()
        
        ' Obtain reference to drawing
        Dim oDoc As Document
        Set oDoc = ThisApplication.ActiveDocument
        
        
        ' DESTINATION FOLDER
        ' ---------------------------------------------------
        Dim sExportPath As String
        sExportPath = "C:\Users\Utente\Desktop\DWG-DXF-PDF\"
        ' ---------------------------------------------------
        
        If oDoc.DocumentType <> kDrawingDocumentObject Then
            MsgBox ("Deve essere aperta una tavola")
            Exit Sub
        End If
        
        ' Get the filename with no path
        Dim sFileName As String
        sFileName = sExportPath & IsolaNome(oDoc.FullFileName, True)
        
        ' Get the DWG translator Add-In.
        Dim DWGAddIn As TranslatorAddIn
        Set DWGAddIn = ThisApplication.ApplicationAddIns.ItemById("{C24E3AC2-122E-11D5-8E91-0010B541CD80}")
    
        ' Get the DXF translator Add-In.
        Dim DXFAddIn As TranslatorAddIn
        Set DXFAddIn = ThisApplication.ApplicationAddIns.ItemById("{C24E3AC4-122E-11D5-8E91-0010B541CD80}")
        
        ' Get the PDF translator Add-In.
        Dim PDFAddIn As TranslatorAddIn
        Set PDFAddIn = ThisApplication.ApplicationAddIns.ItemById("{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}")
        
        Dim strIniFile As String
        
        
        ' Common init
        ' Create a Context object
        Dim oContext As TranslationContext
        Set oContext = ThisApplication.TransientObjects.CreateTranslationContext
        oContext.Type = kFileBrowseIOMechanism
          
        ' Create a NameValueMap object
        Dim oOptions As NameValueMap
        Set oOptions = ThisApplication.TransientObjects.CreateNameValueMap
    
        ' Create a DataMedium object
        Dim oDataMedium As DataMedium
        Set oDataMedium = ThisApplication.TransientObjects.CreateDataMedium
    
        ' ---------------------------------------------------------------------------
        ' DWG
        ' -------------------------------
        
        ' Check whether the translator has 'SaveCopyAs' options
        If DWGAddIn.HasSaveCopyAsOptions(oDoc, oContext, oOptions) Then
            ' File with exportation options
            strIniFile = "C:\tempDWGOut.ini"
            ' Create the name-value that specifies the ini file to use.
            oOptions.Value("Export_Acad_IniFile") = strIniFile
        End If
    
        'Set the destination file name
        oDataMedium.filename = sFileName & ".dwg"
    
    
        'Publish document.
        Call DWGAddIn.SaveCopyAs(oDoc, oContext, oOptions, oDataMedium)
        
        ' -------------------------------
        ' FINE DWG
        ' ---------------------------------------------------------------------------
        
        
        ' ---------------------------------------------------------------------------
        ' DXF
        ' -------------------------------
        
        ' Check whether the translator has 'SaveCopyAs' options
        If DXFAddIn.HasSaveCopyAsOptions(oDoc, oContext, oOptions) Then
        
            ' File with exportation options
            strIniFile = "C:\tempDXFOut.ini"
    
            ' Create the name-value that specifies the ini file to use.
            oOptions.Value("Export_Acad_IniFile") = strIniFile
        End If
    
        'Set the destination file name
        oDataMedium.filename = sFileName & ".dxf"
    
        'Publish document.
        Call DXFAddIn.SaveCopyAs(oDoc, oContext, oOptions, oDataMedium)
        ' -------------------------------
        ' FINE DXF
        ' ---------------------------------------------------------------------------
        
        
        ' ---------------------------------------------------------------------------
        ' PDF
        ' -------------------------------
    
        ' Check whether the translator has 'SaveCopyAs' options
        If PDFAddIn.HasSaveCopyAsOptions(oDoc, oContext, oOptions) Then
    
            ' Options for drawings...
    
            oOptions.Value("All_Color_AS_Black") = 0
    
            'oOptions.Value("Remove_Line_Weights") = 0
            'oOptions.Value("Vector_Resolution") = 400
            'oOptions.Value("Sheet_Range") = kPrintAllSheets
            'oOptions.Value("Custom_Begin_Sheet") = 2
            'oOptions.Value("Custom_End_Sheet") = 4
        End If
    
        'Set the destination file name
        oDataMedium.filename = sFileName & ".pdf"
    
    
        'Publish document.
        Call PDFAddIn.SaveCopyAs(oDoc, oContext, oOptions, oDataMedium)
        ' -------------------------------
        ' FINE PDF
        ' ---------------------------------------------------------------------------
    End Sub
    
    'Funzione che restituisce il nome del file togliendo il path ed il suffisso
    Public Function IsolaNome(ByVal NomeFile As String, Optional Trunc As Boolean) As String
        
        'toglie il .ipt
        If Trunc = True Then
            NomeFile = Strings.Left(NomeFile, Len(NomeFile) - 4)
        End If
        
        Dim pos As Integer
        'Ciclo che rimuove il path: trova "\" e tiene tutto a dx
        Do
            pos = InStr(NomeFile, "\")
            NomeFile = Strings.Right(NomeFile, Len(NomeFile) - pos)
        Loop Until pos = 0
        IsolaNome = NomeFile
    End Function
    Fammi sapere!
    funziona benissimo anche a me, grazie mille Catafratto.
    Ne approfitto per chiederti una cosa : si potrebbe fare in modo che faccia il salvataggio non solo del singolo file visualizzato ma di tutti i file aperti in quel momento ? oppure di una cartella intera ?

  2. #32
    Utente Standard L'avatar di Catafratto
    Iscritto dal
    2011
    Messaggi
    809
    Professione
    Disegnatore/progettista
    Regione
    Veneto
    Software
    Inventor 2016

    Predefinito

    Sì, certo, si può fare tutto.
    Ci vuole più tempo, però

    Appena posso guardo come fare.

    Buon Lunedì a tutti!
    Spesso astuzia ed intelligenza sono molto più efficaci dell'ottusa forza bruta: ma non ho proprio tempo di cercare qualcun alltro...

  3. #33
    Utente Standard
    Iscritto dal
    2007
    Messaggi
    380
    Professione
    Tiro linee
    Regione
    Italia
    Software
    Inventor, Autocad e occasionalmente Solidworks 2016

    Predefinito

    Grazie per il tempo che hai da dedicarci!

  4. #34
    Utente Standard L'avatar di Catafratto
    Iscritto dal
    2011
    Messaggi
    809
    Professione
    Disegnatore/progettista
    Regione
    Veneto
    Software
    Inventor 2016

    Predefinito

    Citazione Originariamente Scritto da Esselle Visualizza Messaggio
    Mi intrufolo per una richiesta : se volessi salvare solo in dwg e pdf e nella stessa cartella dove sta il file idw che modifiche devo apportare alla macro? Ho provato, ma non capendoci nulla ho fatto dei tentativi infruttuosi . Premetto che già adesso uso una macro (trovata sempre tra queste pagine) per salvare nei due formati, ma attivata da pulsante personalizzato sulla barra strumenti.

    Grazie in anticipo!
    Anche questa la attiveresti così, quindi forse non ho ben capito la richiesta...
    Spesso astuzia ed intelligenza sono molto più efficaci dell'ottusa forza bruta: ma non ho proprio tempo di cercare qualcun alltro...

  5. #35
    Utente Standard
    Iscritto dal
    2007
    Messaggi
    380
    Professione
    Tiro linee
    Regione
    Italia
    Software
    Inventor, Autocad e occasionalmente Solidworks 2016

    Predefinito

    Sono io che spiego da bestia...vorrei che al salvataggio dell'IDW si creino in automatico nella stessa cartella dove sta l'IDW il pdf e il dwg!

  6. #36
    Utente Standard
    Iscritto dal
    2008
    Messaggi
    692
    Professione
    mah!
    Regione
    .
    Software
    Inv + SW(purtroppo)

    Predefinito

    prova a vedere, mi sembra di ricordare che fosse spiegato in questa discussione.
    parla di pdf ma anche di dwg
    http://www.cad3d.it/forum1/showthrea...-in-automatico

  7. #37
    Utente Standard
    Iscritto dal
    2007
    Messaggi
    380
    Professione
    Tiro linee
    Regione
    Italia
    Software
    Inventor, Autocad e occasionalmente Solidworks 2016

    Predefinito

    Questa è la discussione da cui ho preso la macro che uso attualmente pigiando i due pulsanti, ho letto e riletto non mi sembra che si possa fare in automatico al salvataggio, o mi è sfuggito qualcosa?

  8. #38
    Utente Standard L'avatar di Catafratto
    Iscritto dal
    2011
    Messaggi
    809
    Professione
    Disegnatore/progettista
    Regione
    Veneto
    Software
    Inventor 2016

    Predefinito

    Citazione Originariamente Scritto da Esselle Visualizza Messaggio
    Questa è la discussione da cui ho preso la macro che uso attualmente pigiando i due pulsanti, ho letto e riletto non mi sembra che si possa fare in automatico al salvataggio, o mi è sfuggito qualcosa?
    No, non ti sfugge nulla: le macro non si attivano più automaticamente.
    Si può:
    1) premere un tasto che ti salva nel formato Inventor e poi ti fa l'esportazione, ma non funziona nel caso di salvataggi in altro modo, come chiudendo il file;

    2) usare (l'ottimo) consiglio di erreerre a inizio discussione creando una regola ilogic (riallego il link) http://autodeskmfg.typepad.com/blog/...l-formats.html, che però puoi praticamente fare solo con i file nuovi mettendolo dentro al template. iLogic gestisce bene le attivazioni mediante trigger di evento (apri, chiudi, salva, modifica ecc. ecc.)

    Se vuoi la prima soluzione è un attimo, fammi sapere. Per la seconda vedi un po' se con il link riesci a fare, le righe di codice sono chiare...

    - - - Aggiornato - - -

    Citazione Originariamente Scritto da MauroM Visualizza Messaggio
    funziona benissimo anche a me, grazie mille Catafratto.
    Ne approfitto per chiederti una cosa : si potrebbe fare in modo che faccia il salvataggio non solo del singolo file visualizzato ma di tutti i file aperti in quel momento ? oppure di una cartella intera ?
    Non ho ancora avuto tempo, sorry
    Spesso astuzia ed intelligenza sono molto più efficaci dell'ottusa forza bruta: ma non ho proprio tempo di cercare qualcun alltro...

  9. #39
    Utente Standard
    Iscritto dal
    2007
    Messaggi
    380
    Professione
    Tiro linee
    Regione
    Italia
    Software
    Inventor, Autocad e occasionalmente Solidworks 2016

    Predefinito

    Citazione Originariamente Scritto da Catafratto Visualizza Messaggio
    No, non ti sfugge nulla: le macro non si attivano più automaticamente.
    Si può:
    1) premere un tasto che ti salva nel formato Inventor e poi ti fa l'esportazione, ma non funziona nel caso di salvataggi in altro modo, come chiudendo il file;

    2) usare (l'ottimo) consiglio di erreerre a inizio discussione creando una regola ilogic (riallego il link) http://autodeskmfg.typepad.com/blog/...l-formats.html, che però puoi praticamente fare solo con i file nuovi mettendolo dentro al template. iLogic gestisce bene le attivazioni mediante trigger di evento (apri, chiudi, salva, modifica ecc. ecc.)

    Se vuoi la prima soluzione è un attimo, fammi sapere. Per la seconda vedi un po' se con il link riesci a fare, le righe di codice sono chiare...
    Grazie mille Catafratto, opterei per la prima soluzione, dato che rispetto ad ora mi risparmia comunque "click" e vale per i file esistenti.

  10. #40
    Utente Standard L'avatar di Catafratto
    Iscritto dal
    2011
    Messaggi
    809
    Professione
    Disegnatore/progettista
    Regione
    Veneto
    Software
    Inventor 2016

    Predefinito

    Citazione Originariamente Scritto da Esselle Visualizza Messaggio
    Grazie mille Catafratto, opterei per la prima soluzione, dato che rispetto ad ora mi risparmia comunque "click" e vale per i file esistenti.
    Mi pare funzioni

    Codice:
        
        ' Obtain reference to drawing
        Dim oDoc As Document
        Set oDoc = ThisApplication.ActiveDocument
        
        If oDoc.DocumentType <> kDrawingDocumentObject Then
            MsgBox ("Deve essere aperta una tavola")
            Exit Sub
        End If
        
        ' Save the file with dependants
        oDoc.Save2
        
        Dim fn As String
        Dim DWGfn As String
        Dim PDFfn As String
        
        ' Generate the file names
        fn = oDoc.FullFileName
        DWGfn = Strings.Left(fn, Len(fn) - 4) & ".dwg"
        PDFfn = Strings.Left(fn, Len(fn) - 4) & ".pdf"
        
        
        ' Get the DWG translator Add-In.
        Dim DWGAddIn As TranslatorAddIn
        Set DWGAddIn = ThisApplication.ApplicationAddIns.ItemById("{C24E3AC2-122E-11D5-8E91-0010B541CD80}")
    
        ' Get the DXF translator Add-In.
        Dim DXFAddIn As TranslatorAddIn
        Set DXFAddIn = ThisApplication.ApplicationAddIns.ItemById("{C24E3AC4-122E-11D5-8E91-0010B541CD80}")
        
        ' Get the PDF translator Add-In.
        Dim PDFAddIn As TranslatorAddIn
        Set PDFAddIn = ThisApplication.ApplicationAddIns.ItemById("{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}")
        
        Dim strIniFile As String
        
        
        ' Common init
        ' Create a Context object
        Dim oContext As TranslationContext
        Set oContext = ThisApplication.TransientObjects.CreateTranslationContext
        oContext.Type = kFileBrowseIOMechanism
          
        ' Create a NameValueMap object
        Dim oOptions As NameValueMap
        Set oOptions = ThisApplication.TransientObjects.CreateNameValueMap
    
        ' Create a DataMedium object
        Dim oDataMedium As DataMedium
        Set oDataMedium = ThisApplication.TransientObjects.CreateDataMedium
    
        ' ---------------------------------------------------------------------------
        ' DWG
        ' -------------------------------
        
        ' Check whether the translator has 'SaveCopyAs' options
        If DWGAddIn.HasSaveCopyAsOptions(oDoc, oContext, oOptions) Then
            ' File with exportation options
            strIniFile = "C:\tempDWGOut.ini"
            ' Create the name-value that specifies the ini file to use.
            oOptions.Value("Export_Acad_IniFile") = strIniFile
        End If
    
        'Set the destination file name
        oDataMedium.filename = DWGfn
    
    
        'Publish document.
        Call DWGAddIn.SaveCopyAs(oDoc, oContext, oOptions, oDataMedium)
        
        ' -------------------------------
        ' FINE DWG
        ' ---------------------------------------------------------------------------
      
        
        ' ---------------------------------------------------------------------------
        ' PDF
        ' -------------------------------
    
        ' Check whether the translator has 'SaveCopyAs' options
        If PDFAddIn.HasSaveCopyAsOptions(oDoc, oContext, oOptions) Then
    
            ' Options for drawings...
    
            oOptions.Value("All_Color_AS_Black") = 0
    
            'oOptions.Value("Remove_Line_Weights") = 0
            'oOptions.Value("Vector_Resolution") = 400
            'oOptions.Value("Sheet_Range") = kPrintAllSheets
            'oOptions.Value("Custom_Begin_Sheet") = 2
            'oOptions.Value("Custom_End_Sheet") = 4
        End If
    
        'Set the destination file name
        oDataMedium.filename = PDFfn
    
    
        'Publish document.
        Call PDFAddIn.SaveCopyAs(oDoc, oContext, oOptions, oDataMedium)
        ' -------------------------------
        ' FINE PDF
        ' ---------------------------------------------------------------------------
    End Sub
    Spesso astuzia ed intelligenza sono molto più efficaci dell'ottusa forza bruta: ma non ho proprio tempo di cercare qualcun alltro...


  • Pagina 4 di 8 PrimaPrima ... 23456 ... UltimaUltima

    Discussioni Simili

    1. Esportazione Modello FEM da CATIA a ".nas"
      Di SeM_Mario nel forum CAE/FEM/CFD forum generale
      Risposte: 0
      Ultimo Messaggio: 05-09-2014, 15: 32
    2. Risposte: 0
      Ultimo Messaggio: 17-04-2014, 02: 38
    3. Risposte: 7
      Ultimo Messaggio: 27-03-2013, 14: 32
    4. Risposte: 7
      Ultimo Messaggio: 28-02-2013, 00: 55
    5. quotatura "automatica"
      Di spider916 nel forum CATIA V5 CATDrawing
      Risposte: 6
      Ultimo Messaggio: 23-05-2011, 10: 01

    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