Risultati da 1 a 5 di 5
  1. #1
    Utente Standard
    Iscritto dal
    2008
    Messaggi
    860
    Professione
    disegnatore
    Regione
    Romagna
    Software
    Solid Edge

    Icon3 Guida: Programmare per Solid Edge

    In questo Thread si intende raccogliere una piccola guida per chi indente iniziare a programmare per SolidEdge, più diretta che informale.

    Lezione 1 - by @vespa_83
    Per sviluppare un programma che interagisca con solidEdge, che di solito chiamiamo "macro", hai bisogno, a scelta di una di queste strade:
    - Un IDE (=ambiente di sviluppo), cioè un programma che ti compila sottoforma di file "exe" il tuo codice sorgente.
    Questa scelta è obbligata quando è necessaria una interazione con il Mouse, finestre e bottoni (GUI=Graphical User Interface) oppure si utilizzano funzioni (vecchie) di SolidEdge per spostare cose...
    Difficoltà alta, adatta a chi ha già una esperienza di programmazione, o chi è fortemente interessato a diventarlo, forte impatto sul sistema operativo.
    Gli IDE gratuiti più usati sono Visual Studio Express di Microsoft oppure io ho provato con qualche difficoltà SharpDevelopment.
    Il linguaggio di programmazione può essere il nuovo VB.NET (linguaggio simile a vb) o C# (linguaggio a metà strada tra il javascript e il vb.net)

    Oppure:
    - file.vbs. Con un editor di testo si scrive un file vbs (visual basic script file) o una sua variante più complessa "wsf" (windows script file), stesso lessico. Doppio click per eseguirlo oppure aggiungerlo al nastro di solidedge.
    Questa scelta è idonea per programmi "corti", senza GUI, infatti al massimo è supportato MsgBox per messaggi di conferma e InputBox per inserire una riga di testo.
    Non sono presenti le "facilitazioni" di autocompilazione, di Debug, non funziona l'assegnazione degli oggetti ("Dim miavariabile As String" restituisce un errore, quindi io di solito commento con un apostrofo dall' "as" compreso: "Dim miavariabile 'As String").
    Difficoltà medio-alta, è difficile trovarli ma su internet sono presente esempi per funzioni generiche per interagire con il sistema operativo, i file su disco eccetera.
    Visto che non è da compilare le modifiche sono più rapide, il codice finale può soffrire di forte disordine.

    Oppure:
    - VBA per Excel. E' una soluzione a metà strada. Non si compila, ma per eseguire è necessario aprire Excel, può risultare molto scomodo.
    E' quindi suggerito quando serve la interoperabilità tra una tabella di Excel e SolidEdge.
    Difficoltà media.
    Si apre Excel, Alt+F11 per aprire l'ambiente di sviluppo integrato in Excel, Strumenti / Riferimenti selezionare tutte le voci che cominciano con "SolidEdge". Sono presenti: autocompletamento, debug , ma vanno (correttamente!) assegnati gli oggetti (es.: "Dim objDoc As SolidEdgeDraft.DraftDocument").
    Su questo forum è presente un mio allegato preimpostato e con le mie prime macro. Vai al thread

    Scegliere uno di questi metodi e specificarlo nelle discussioni (aprire nuovi thread).
    Il linguaggio VB è simile, ma si potrebbe dire che ognuno è un proprio dialetto, con proprie regole specifiche, per questo anche quando si copiano gli esempi dalla guida SDK di SolidEdge si incontrano problemi: alcuni sono in vb per il vecchio IDE "VB6", potrebbero funzionare in VBA per Excel ma senza certezza, ma la maggior parte degli esempi viene riscritta per VB.NET e C# (i più moderni) dai programmatori di SoliEdge.


    Lezione 2 - by @vespa_83

    Oltre quanto detto e a una discreta conoscenza dell'inglese (o di un buon traduttore), serve:
    1. Procurarsi il file di guida SDK (acronimo di sviluppo) presente sul DVD, in alcune versioni è installato assieme al programma, c'è anche la versione online
    2. Installare Spy (non necessario ma altamente consigliato). http://solidedgespy.codeplex.com
    3. Procurarsi degli esempi: il copia-incolla è la via più breve.

    Lezione 3 - by @vespa_83
    Un altro inutile "HelloWorld".
    Il tuo primo programma sarà scrive con Notepad un file dal nome ed estensione "Ciao.vbs" con dentro scritto:
    Codice:
    MsgBox("Ciao a tutti!")
    salva, poi doppio click sul file per eseguirlo. Facile no?

    Lezione 4 - by @vespa_83
    Facciamo un altro esempio con file vbs perché non serve installare nulla, nè serve Excel.

    Mi connetto all'applicazione SolidEdge e visualizzo il nome completo del file attivo.
    fullname.vbs
    Codice:
    ' Il testo che segue l'apostrofo è un commento
    
    ' Dichiaro (con l'istruzione "Dim")
    ' che avrò alcune variabili con nomi scelti da me
    ' per assegnare oggetti o valori
    
    Dim objApp
    Dim objDoc
    
    ' "Set" : Assegnazione di objApp .
    ' Connettiti all'istanza aperta di SolidEdge [ funzione GetObject di VB ],
    ' assegna objApp ad esso
    ' ovvero da ora objApp diventa il mio oggetto
    ' per interagire con SolidEdge, salvo errori
    
    Set objApp = GetObject(, "SolidEdge.Application")
    
    ' Assegna objDoc in modo che diventi l'oggetto riferito al Documento Attivo
    ' per raggiungere i membri di un'oggetto digito un punto "."
    
    Set objDoc = objApp.ActiveDocument
    
    ' con Spy ho spulciato e ho scoperto dove risiede la proprietà che cerco
    
    MsgBox( objDoc.FullName )
    
    
    ' Prima di terminare
    ' Rilascio gli oggetti per liberare la memoria
    ' non ho mai capito se serve davvero, ma è una buona prassi
    
    Set objApp = Nothing
    Set objDoc = Nothing
    Capito questo, nelle prossime lezioni vedremo come rendere il mio programma più fruibile evitando gli errori che si presentano se SolidEdge è chiuso.
    Ultima modifica di cacciatorino; 19-07-2016 alle 13: 27 Motivo: richiesta vespa 83

  2. I seguenti 3 utenti hanno ringraziato vespa_83 per questo post

    Be_on_edge (21-07-2016), Davimont (19-07-2016), Leso (19-07-2016)

  3. #2
    Utente Standard L'avatar di Davimont
    Iscritto dal
    2007
    Messaggi
    446
    Professione
    Disegnatore meccanico Fai da te.
    Regione
    Lombardia
    Software
    Solid Edge ST8

    Predefinito

    Fantastico! Grazie a te e a chiunque contribuirà a questa guida.
    Imparare è un'esperienza; tutto il resto è solo informazione. A. Einstein

  4. #3
    Utente Standard
    Iscritto dal
    2008
    Messaggi
    860
    Professione
    disegnatore
    Regione
    Romagna
    Software
    Solid Edge

    Predefinito VBS_Lancher.exe e WSF_Launcher.exe

    Quando si creano file vbscript (vbs), ma anzichè lanciarli da windows o File/Esegui Macro, si intende aggiungerli alla Barra a Nastro, ma tra le varie versioni si incontrano problemi di inserimento e personalizzazione dell'icona, per non smanettare nei file di configurazione xml, ...
    Allora (ri-)pubblico un semplice file exe che avevo fatto.

    Questo eseguibile esegue il file .vbs con il suo stesso nome, ovvero per sfruttarlo, puoi creare delle copie di esso lo posizioni nella stessa cartella del tuo file vbs e lo rinomini con lo stesso nome del vbs esempio:
    miamacro.vbs
    miamacro.exe

    note: exe compilati con FreeBasic.
    I file vbs/wsf e exe devono essere nella stessa cartella e non deve essere un percorso di rete.
    File Allegati File Allegati

  5. Il seguente utente ha ringraziato vespa_83 per questo post

    Davimont (27-10-2016)

  6. #4
    Utente Junior
    Iscritto dal
    2008
    Messaggi
    39
    Professione
    disegnatore
    Regione
    Lombardia
    Software
    Solid EDGE ST9

    Predefinito

    restituisce questo errore:

    Allegato 45267

    Contenuto riga 123
    If Not fso.FolderExists(FullPath) Then

  7. #5
    Utente Standard L'avatar di Davimont
    Iscritto dal
    2007
    Messaggi
    446
    Professione
    Disegnatore meccanico Fai da te.
    Regione
    Lombardia
    Software
    Solid Edge ST8

    Predefinito

    Sbronzo se ti riferisci all'ultima macro postata da Vespa, io l'ho provata su una macro in vbs e funziona.
    Altrimenti dai qualche dato in più.
    Imparare è un'esperienza; tutto il resto è solo informazione. A. Einstein


  • Discussioni Simili

    1. Programmare App per Inventor
      Di GianniM nel forum Inventor
      Risposte: 12
      Ultimo Messaggio: 01-02-2016, 13: 01
    2. Programmare da VBA a VB.NET
      Di Emo nel forum .NET per Autocad
      Risposte: 3
      Ultimo Messaggio: 24-10-2011, 12: 19
    3. Software house di SoliEdge?
      Di GiGa nel forum Solid Edge
      Risposte: 7
      Ultimo Messaggio: 17-04-2009, 10: 00
    4. Programmare DWGEditor
      Di cubalibre00 nel forum Solidworks
      Risposte: 0
      Ultimo Messaggio: 24-03-2009, 16: 45
    5. programmare proe
      Di atonucci nel forum Creo Parametric - Configurazione
      Risposte: 1
      Ultimo Messaggio: 08-08-2008, 10: 00

    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