Pagina 3 di 7 PrimaPrima 12345 ... UltimaUltima
Risultati da 21 a 30 di 69
  1. #21
    Utente Standard
    Iscritto dal
    2011
    Messaggi
    100
    Professione
    Studente
    Regione
    Lombardia
    Software
    Solid Edge ST

    Predefinito

    Grazie mille per il suggerimento, ma giusto per capire di cosa si tratta? Ho visto che quel sito comunque mi è già stato suggerito più volte quindi lo terrò in considerazione. Grazie ancora.

  2. #22
    Utente Standard
    Iscritto dal
    2011
    Messaggi
    100
    Professione
    Studente
    Regione
    Lombardia
    Software
    Solid Edge ST

    Predefinito

    Seguendo il consiglio di Be_On_Edge, ma era una cosa che avevo già pensato di fare per semplificare il lavoro, ho scritto un elenco di operazioni che la mia macro dovrebbe svolgere (vedi allegato); vorrei sottoporvela in modo che chiunque possa avere un'idea più chiara di ciò che devo fare ed eventualmente consigliarmi dove pensa che possa aver sbagliato.
    Penso di aver ridotto all'osso ogni singola operazione, proprio per semplificare la programmazione, ma se qualcuno crede che si possa ulteriormente suddividere in operazioni più semplici lo dica pure.
    Ora comincerò a scrivere qualcosa almeno per quanto riguarda le operazioni più semplici.
    Grazie per i consigli che mi state dando.
    File Allegati File Allegati

  3. #23
    Utente Standard
    Iscritto dal
    2011
    Messaggi
    100
    Professione
    Studente
    Regione
    Lombardia
    Software
    Solid Edge ST

    Predefinito

    Dunque, ho iniziato a muovere i primi passi, ma sorgono i primi dubbi... Ho cominciato con l'aprire il file Assieme.asm semplicemente con un codice di questo tipo:
    Codice:
    Imports System.Runtime.InteropServices
    Imports System.Diagnostics.Process
    Module Module1
        Sub Main()
            Try
                Start("C:\Users\Guido\Desktop\Tirocinio\Assiemi\Assieme.asm")
            Catch
            End Try
        End Sub
    End Module
    Il tutto funziona correttamente, ora ho 2 domande:
    - E' possibile aprire il file in una determinata variante semplicemente dandogli l'indirizzo del file e a questo "aggiungere" in qualche modo il nome della variante? Ho provato con qualcosa del tipo "C:\Users\Guido\Desktop\Tirocinio\Assiemi\Assieme. asm!3R80FLEX03" dove 3R80FLEX03 è il nome di una della verianti, am senza successo; ho pensato a questa modo di scrivere il nome della variante perchè è come si presenta in solid edge ma visual basic nel debug mi da errore.
    - Se è possibile fare come ho chiesto al punto precedente, come posso "aggiungere" alla parte fissa dell'indirizzo ("C:\Users\Guido\Desktop\Tirocinio\Assiemi\Assieme .asm") la parte variabile (!3R80FLEX03)? Io pensavo di utilizzare una variabile a cui associare l'indirizzo e poi aggiungergli, tramite una seconda variabile, la parte di indirizzo che varia appunto, ma non trovo trovo come scriverglielo. Qualcuno saprebbe come fare?
    Grazie!!!

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

    Predefinito

    Citazione Originariamente Scritto da guido.bonalumi Visualizza Messaggio
    - E' possibile aprire il file in una determinata variante semplicemente dandogli l'indirizzo del file e a questo "aggiungere" in qualche modo il nome della variante? Ho provato con qualcosa del tipo "C:\Users\Guido\Desktop\Tirocinio\Assiemi\Assieme. asm!3R80FLEX03" dove 3R80FLEX03 è il nome di una della verianti, am senza successo; ho pensato a questa modo di scrivere il nome della variante perchè è come si presenta in solid edge ma visual basic nel debug mi da errore.
    - Se è possibile fare come ho chiesto al punto precedente, come posso "aggiungere" alla parte fissa dell'indirizzo ("C:\Users\Guido\Desktop\Tirocinio\Assiemi\Assieme .asm") la parte variabile (!3R80FLEX03)? Io pensavo di utilizzare una variabile a cui associare l'indirizzo e poi aggiungergli, tramite una seconda variabile, la parte di indirizzo che varia appunto, ma non trovo trovo come scriverglielo. Qualcuno saprebbe come fare?
    Grazie!!!
    Con questo codice apri semplicemente un file come se facessi doppio click, e poi da programmazione non puoi fare più niente.
    In più non puoi aprire la variante passando nel nome del file il nome variante in quanto perdi l'estensione e il doppio click di conseguenza non funziona.


    Per aprire un file come oggetto devi fare qualcosa del tipo.

    Codice:
    Dim objApp As SolidEdgeFramework.Application
    Dim objAsm As SolidEdgeAssembly.AssemblyDocument
    
    Set objApp = CreateObject("SolidEdge.Application")
    Set objAsm = objApp.Documents.Open("nome_assieme_da_aprire.asm!nome_variante")
    StrAsm = "C:\Users\Guido\Desktop\Tirocinio\Assiemi\Assieme. asm"
    StrVar = "3R80FLEX03"

    Nome = StrAsm + "!"+ StrVar

    Ciao
    Francesco
    Cintura nera di solid edge

  5. #25
    Utente Standard
    Iscritto dal
    2011
    Messaggi
    100
    Professione
    Studente
    Regione
    Lombardia
    Software
    Solid Edge ST

    Predefinito

    Ho provato con qualcosa di simile:
    Codice:
    Imports System.Runtime.InteropServices
    Module Module1
        Dim objApp As SolidEdgeFramework.Application
        Dim objAsm As SolidEdgeAssembly.AssemblyDocument
        Dim StrAsm As String = "C:\Users\Guido\Desktop\Tirocinio\Assiemi\Assieme.asm"
        Dim StrVar As String = "3R80FLEX03"
        Dim Nome As String = StrAsm + "!" + StrVar
        Sub Main()
            objApp = CreateObject("SolidEdge.Application")
            objApp.Visible = True
            objApp.DisplayAlerts = False
            objAsm = objApp.Documents.Open(Nome)
            objApp.DisplayAlerts = True
        End Sub
    End Module
    Effettivamente funziona, apre il file nella variante corretta; il problema è che lo apre in sola lettura, il che genera un errore in solid edge il quale non riesce ad importare tutti i file necessari. Inoltre non posso aprirlo in sola lettura perchè poi dovrò eseguire delle modifiche ai vari file.
    Da cosa può dipendere il problema?

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

    Predefinito

    Citazione Originariamente Scritto da guido.bonalumi Visualizza Messaggio
    Ho provato con qualcosa di simile:
    Codice:
    Imports System.Runtime.InteropServices
    Module Module1
        Dim objApp As SolidEdgeFramework.Application
        Dim objAsm As SolidEdgeAssembly.AssemblyDocument
        Dim StrAsm As String = "C:\Users\Guido\Desktop\Tirocinio\Assiemi\Assieme.asm"
        Dim StrVar As String = "3R80FLEX03"
        Dim Nome As String = StrAsm + "!" + StrVar
        Sub Main()
            objApp = CreateObject("SolidEdge.Application")
            objApp.Visible = True
            objApp.DisplayAlerts = False
            objAsm = objApp.Documents.Open(Nome)
            objApp.DisplayAlerts = True
        End Sub
    End Module
    Effettivamente funziona, apre il file nella variante corretta; il problema è che lo apre in sola lettura, il che genera un errore in solid edge il quale non riesce ad importare tutti i file necessari. Inoltre non posso aprirlo in sola lettura perchè poi dovrò eseguire delle modifiche ai vari file.
    Da cosa può dipendere il problema?
    Secondo me hai un bel pò di SolidEdge aperti.
    Controlla con il Task Manager.

    Prima di interrompere il programma dovresti per lo meno fare un:

    Codice:
    objAsm.close (false)
    set objApp = Nothing

    Ciao
    Francesco
    Cintura nera di solid edge

  7. #27
    Utente Standard
    Iscritto dal
    2011
    Messaggi
    100
    Professione
    Studente
    Regione
    Lombardia
    Software
    Solid Edge ST

    Predefinito

    X Be_On_Edge:
    Effettivamente hai ragione, nonostante la finestra fosse chiusa l'applicazione edge.exe rimaneva aperta, non so come mai. Ora funziona!
    Ma la parte di codice che mi hai suggerito a cosa serve? Cosa fa esattamente?
    Mi riferisco a:
    Codice:
    objAsm.close (false)
    set objApp = Nothing

  8. #28
    Utente Standard
    Iscritto dal
    2011
    Messaggi
    100
    Professione
    Studente
    Regione
    Lombardia
    Software
    Solid Edge ST

    Predefinito

    Con un pò di fatica sto riuscendo a scrivere qualcosa! Ora però ho bisogno di sapere una cosa un pò tecnica...
    Come ho già detto tra i file che sto utilizzando ci sono dei .par che contengono una o più curve per tabella e queste, benchè siano state create a partire da un foglio excel esterno, non salvano le coordinate su questo foglio, ma ne hanno uno proprio (normalmente chiamato Foglio di lavoro in nomedelfilepar.xls); poichè la modifica della curva passa per la modifica del foglio, excel mi chiedevo se fosse possibile, senza dover aprire il file .par in solid edge, "estrarre" il file excel in questione, aprendo solo questo in excel senza passare prima per il .par, modificarlo, salvarlo e poi aprire il .par solo per confermare le modifiche effettuate e salvarlo a sua volta.
    Tutto ciò sarebbe molto comodo perchè mi permetterebbe di evitare di dover scrivere una macro con molti comandi specifici di solid edge, poichè se non fosse possibile fare come chiedo dovrei passare per tutta una serie di operazioni che al momento non saprei proprio come eseguire tramite linea di codice.

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

    Predefinito

    Citazione Originariamente Scritto da guido.bonalumi Visualizza Messaggio
    X Be_On_Edge:
    Effettivamente hai ragione, nonostante la finestra fosse chiusa l'applicazione edge.exe rimaneva aperta, non so come mai. Ora funziona!
    Ma la parte di codice che mi hai suggerito a cosa serve? Cosa fa esattamente?
    Mi riferisco a:
    Codice:
    objAsm.close (false)
    set objApp = Nothing
    objAsm è l'oggetto che colleghi ad un file assieme di Solid Edge.
    objApp è l'oggetto che colleghi all'applicazione Solid Edge.

    Se interrompi l'esecuzione del tuo programma senza chiudere questi oggetti va da se che rimangono aperti. Di fatto tu crei un'istanza di Solid Edge ed apri un file. Se non gli dici che si devono chiudere questi rimangono aperti.

    I due comandi servono per chiudere l'assieme e poi chiudere solid edge.

    Ciao
    Francesco
    Cintura nera di solid edge

  10. #30
    Utente Junior L'avatar di morgan65
    Iscritto dal
    2008
    Messaggi
    97
    Professione
    Progettista Cad
    Regione
    Piacenza
    Software
    Solid Edge

    Predefinito

    Citazione Originariamente Scritto da Be_on_edge Visualizza Messaggio
    Io sto ancora programmando in VB6 e fino ad oggi non ho trovato limiti se non per le cose che le API di solid edge non ti permettono di fare.

    Quindi inizia con qualcosa di semplice per imparare come funziona il tutto e poi se hai problemi fai domande specifiche.

    Ciao
    Ben volendo programmare con VB6 da dove consigli
    iniziare?
    Manuale o libro hai qualche consiglio?
    grazie


  • Pagina 3 di 7 PrimaPrima 12345 ... UltimaUltima

    Discussioni Simili

    1. MACRO-TUTORIAL-ESEMPI per Solid Edge
      Di cacciatorino nel forum Solid Edge
      Risposte: 5
      Ultimo Messaggio: 19-07-2017, 12: 45
    2. MACRO per Solid Edge
      Di cacciatorino nel forum Solid Edge
      Risposte: 126
      Ultimo Messaggio: 17-01-2017, 12: 47
    3. Macro SOLID EDGE salvataggio dxf
      Di marcomexx nel forum Altri software di CAD generico
      Risposte: 2
      Ultimo Messaggio: 21-05-2011, 14: 16
    4. Aiuto con Solid Edge
      Di amstrod nel forum Solid Edge
      Risposte: 17
      Ultimo Messaggio: 17-09-2010, 09: 32
    5. Sviluppo macro in .NET per Solid Edge ST
      Di checco03 nel forum Solid Edge
      Risposte: 4
      Ultimo Messaggio: 19-09-2008, 14: 51

    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