Pagina 2 di 4 PrimaPrima 1234 UltimaUltima
Risultati da 11 a 20 di 33
  1. #11
    Utente Junior
    Iscritto dal
    2009
    Messaggi
    49
    Professione
    utensiliere??
    Regione
    piemonte
    Software
    CAD affilatrici

    Predefinito

    Citazione Originariamente Scritto da Onda Visualizza Messaggio
    Per quanto riguarda i delimitatori, per rispondere al post di bagaroz, dipende da come si impostano le impostazioni internazionali di windows.
    Le standard italiane utilizzano la "," per il decimale e quindi occorre utilizzare il "." per separare i campi. Io e credo anche la maggior parte delle persone che utilizzano spesso files di testo, output da FEM e cose di questo tipo, imposto come separatore decimale il punto "." al pari della convenzione inglese. Questo per poter importare in excel e in altri programmi output direttamente creati da Nastran. Ve lo consiglio caldamente, perchè vi interfacciate meglio con tutti quei programmi stranieri che utilizzano questa convenzione.

    Onda
    grazie, non ero a conoscenza che si potesse variare la convenzione e che a quel punto i software la utilizzassero. Io ho sempre esportato in blocco note e poi usato la funzione sostituisci.....

  2. #12
    Utente poco attivo
    Iscritto dal
    2010
    Messaggi
    9
    Professione
    Studente universitario Ing.Aerospaziale
    Regione
    Veneto
    Software
    SolidWorks

    Predefinito

    Salve a tutti, rispolvero questo thread per evitare di aprirne uno nuovo troppo simile.
    Per la mia tesi mi trovo a dover fare un lavoro del tutto simile a quello di Jhonny123. Leggendo qui ho trovato come importare i miei dati matlab in SolidWorks e di questo ringrazio tutti coloro che hanno risposto, essendo però per ora abbastanza ingnorante riguardo a questo software mi chiedo se esista una scorciatoia per importare molte curve da altrettanti files in un sol colpo, senza dover eseguire l'operazione una per volta.
    Ho provato a selezionare più files dallo strumento di importazione ma sembra non funzionare, infatti è possibile aprire un file per volta.
    Se qualcuno ha una soluzione alternativa e fosse così gentile da spiegarla nel dettaglio gli sare molto grato

  3. #13
    Moderatore L'avatar di Onda
    Iscritto dal
    2009
    Messaggi
    1035
    Professione
    Ingegnere Meccanico settore Navale
    Regione
    Italia
    Software
    SolidWorks 2015, Rhino v5, Autocad 2008, Patran 2014, Nastran 2014

    Predefinito

    Puoi creare una macro di solidworks che importa i file.
    se chiami i file ad esempio xxx1.txt; xxx2.txt xxx3.txt ecc e poi fai una macro con un ciclo da 1 a n che importa i file ti risparmi lavoro.
    Purtroppo non ti posso aiutare nella creazione della macro perché non ne ho mai fatte in solid works però non dovrebbe essere molto diverse dal farle in excel. ti consiglio di registrare la macro e fare una importazione di un file, poi la vai ad editare e ci infili un ciclo di for -next.

  4. #14
    Utente poco attivo
    Iscritto dal
    2010
    Messaggi
    9
    Professione
    Studente universitario Ing.Aerospaziale
    Regione
    Veneto
    Software
    SolidWorks

    Predefinito

    Citazione Originariamente Scritto da Onda Visualizza Messaggio
    Puoi creare una macro di solidworks che importa i file.
    se chiami i file ad esempio xxx1.txt; xxx2.txt xxx3.txt ecc e poi fai una macro con un ciclo da 1 a n che importa i file ti risparmi lavoro.
    Purtroppo non ti posso aiutare nella creazione della macro perché non ne ho mai fatte in solid works però non dovrebbe essere molto diverse dal farle in excel. ti consiglio di registrare la macro e fare una importazione di un file, poi la vai ad editare e ci infili un ciclo di for -next.
    Grazie per la tempestiva risposta, proverò a capire come funzionano le macro in SolidWorks

  5. #15
    Utente poco attivo
    Iscritto dal
    2010
    Messaggi
    9
    Professione
    Studente universitario Ing.Aerospaziale
    Regione
    Veneto
    Software
    SolidWorks

    Predefinito

    Ho provato a registrare la macro, ma purtroppo all'interno del codice poi compaiono già le coordinate e non la procedura per la loro importazione (spero che si capisca cosa intendo) qualcuno saprebbe aiutarmi nella creazione di questa macro o magari indicandomi dove reperire le informazioni necessarie

  6. #16
    Moderatore L'avatar di Onda
    Iscritto dal
    2009
    Messaggi
    1035
    Professione
    Ingegnere Meccanico settore Navale
    Regione
    Italia
    Software
    SolidWorks 2015, Rhino v5, Autocad 2008, Patran 2014, Nastran 2014

    Predefinito

    Devi far leggere i file alla macro, assegnare ogni valore ad una variabile e poi far scrivere il punto, es:

    ' ************************************************** ****************************
    ' R:\TEMP\swx7900\Macro1.swb - macro recorded on 03/05/10 by user
    ' ************************************************** ****************************
    Dim swApp As Object

    Dim Part As Object
    Dim boolstatus As Boolean
    Dim x As Single
    Dim y As Single
    Dim z As Single
    Dim longstatus As Long, longwarnings As Long

    Sub main()

    Set swApp = Application.SldWorks

    Set Part = swApp.ActiveDoc
    Dim myModelView As Object
    Set myModelView = Part.ActiveView
    myModelView.FrameState = swWindowState_e.swWindowMaximized
    Part.InsertCurveFileBegin
    Open "c:\txt.txt" For Input As #1 ' Apre il file per l'input.
    Do While Not EOF(1) ' Ripete fino alla fine del file.
    Input #1, x, y, z ' Legge i dati nelle variabili.
    boolstatus = Part.InsertCurveFilePoint(x, y, z)
    Loop
    Close #1 ' Chiude il file.
    boolstatus = Part.InsertCurveFileEnd()

    End Sub
    ' Fine della macro!!!!


    questa macro legge un file che si chiama txt.txt composto da valori espressi in metri separati da una virgola.
    se fa un loop sopra il loop per il numero di file che ti serve sei a posto

  7. #17
    Moderatore L'avatar di Onda
    Iscritto dal
    2009
    Messaggi
    1035
    Professione
    Ingegnere Meccanico settore Navale
    Regione
    Italia
    Software
    SolidWorks 2015, Rhino v5, Autocad 2008, Patran 2014, Nastran 2014

    Predefinito

    ' ************************************************** ****************************
    ' R:\TEMP\swx7900\Macro1.swb - macro recorded on 03/05/10 by user
    ' ************************************************** ****************************
    Dim swApp As Object
    Dim Part As Object
    Dim boolstatus As Boolean
    Dim x As Double
    Dim y As Double
    Dim z As Double
    Dim n As Integer
    Dim N_file As Integer ' numero di file da importare
    Dim Nome As String ' nome del file da combinare col numero
    Dim NomeFile As String ' nome del file combinato
    Dim longstatus As Long
    Dim longwarnings As Long

    Sub main()

    Set swApp = Application.SldWorks
    Set Part = swApp.ActiveDoc
    Dim myModelView As Object
    Set myModelView = Part.ActiveView
    myModelView.FrameState = swWindowState_e.swWindowMaximized
    '
    '
    N_file = 5 ' Numero di file da importare da modificare per importarne + o -
    Nome = "c:\punti" ' Nome iniziale completo di percorso del file da importare
    ' qui faccio gli sketch 3d
    For n = 1 To N_file
    NomeFile = Nome & " (" & n & ").txt" ' il nome del file finale appare come "c:\punti (1).txt"
    '
    Open NomeFile For Input As #1 ' Apre il file per l'input.
    '
    Part.SketchManager.Insert3DSketch True
    Dim skPoint As Object
    Do While Not EOF(1) ' Ripete fino alla fine del file.
    Input #1, x, y, z ' Legge i dati nelle variabili.
    Set skPoint = Part.SketchManager.CreatePoint(x, y, z)
    Part.SketchAddConstraints "sgFIXED"
    Loop
    Part.ClearSelection2 True
    Part.SketchManager.InsertSketch True
    boolstatus = Part.Extension.SelectByID2("Point1@Origine", "EXTSKETCHPOINT", 0, 0, 0, False, 0, Nothing, 0)
    Close #1 ' Chiude il file.
    Next n
    '
    ' Ora creo le curve
    For n = 1 To N_file
    NomeFile = Nome & " (" & n & ").txt" ' modificare questa riga per cambiare il nome dei file da importare
    '
    Part.InsertCurveFileBegin
    Open NomeFile For Input As #1 ' Apre il file per l'input.
    Do While Not EOF(1) ' Ripete fino alla fine del file.
    Input #1, x, y, z ' Legge i dati nelle variabili.
    boolstatus = Part.InsertCurveFilePoint(x, y, z)
    Loop
    Close #1 ' Chiude il file.
    boolstatus = Part.InsertCurveFileEnd()
    Next n
    End Sub


    L'ho un poco modificata per le tue esigenze. (in verità faceva comodo anche a me e ci ho perso un po di tempo).
    Ora legge un certo numero di file a seconda del valore immesso alla variabile 'N_file'
    i file si devono chiamare 'Punti (1).txt'; 'Punti (2).txt'
    Li ho chiamati in questo modo perchè se selezioni tutti i tuoi file e li rinomini tutti assieme windows li rinomina in questa maniera.
    La macro crea degli schizzi3D con all'interno i punti e poi crea le curve.
    Le curve e gli schizzi 3D sono completamente slegati tra loro, alla fine dell'esecuzione se non ti serve di vedere dove sono i punti puoi buttare gli schizzi 3d.
    In verità si potrebbero anche fare le curve attraverso gli schizzi 3d, però non sono così a fondo nelle macro di SolidWorks e faccio più fatica a farle.
    Ciao

    Onda

  8. #18
    Utente poco attivo
    Iscritto dal
    2010
    Messaggi
    9
    Professione
    Studente universitario Ing.Aerospaziale
    Regione
    Veneto
    Software
    SolidWorks

    Predefinito

    Ti ringrazio moltissimo Onda, davvero gentile. Ho un unico problema eseguendo il tuo script, modificando opportunamente i percorsi file inizia ad importare i punti, ma ad un certo punto da Errore di Run-Time '62' (input oltre la fine del file) ed eseguendo il debug mi evidenzia questa riga -> Input #1, x, y, z ' Legge i dati nelle variabili.
    Credo che il problema sia nel formato in cui sono scritte le coordinate nel file di testo. Andando ad aprirlo con il text editor e non con matlab mi accorgo che le coordinate di ogni punto non hanno spaziatori tra di loro (aprendo il file in matlab ogni punto stava in una riga a se).
    Volevo fare un copia incolla di uno dei files qui, ma come per magia se lo faccio i punti tornano ad essere ognuno sulla sua riga, quindi allego il file. Hai per caso idea se possa essere questo il problema? in caso potresti allegare un esempio di file di testo nel corretto formato così provo a modificare l'output del mio programma matlab?
    Ti ringrazio ancora e spero di non risultare inopportuno o fastidioso
    File Allegati File Allegati

  9. #19
    Moderatore L'avatar di Onda
    Iscritto dal
    2009
    Messaggi
    1035
    Professione
    Ingegnere Meccanico settore Navale
    Regione
    Italia
    Software
    SolidWorks 2015, Rhino v5, Autocad 2008, Patran 2014, Nastran 2014

    Predefinito

    Dipende dal fatto che il tuo file non presenta il fine riga nel modo corretto.
    Normalmente per effettuare un fine riga si devono inserire due caratteri invisibili che sono il Carriage return (codice ascii 13) e il line feed (codice ascii 10).
    Se apri il tuo documento con notepad, mancando il carriage return, il programma non comprende il fine riga e mette un quadratino per al posto del line feed, segnando tutti i valori di seguito.
    Allo stesso modo, il mio codice cerca dopo ogni set di coordinate la coppia di caratteri ASCII 13,10; Trovando soltanto il carattere ASCII 10 non funziona e da l'errore.
    Detto questo non ti so dire perchè da Matlab salvi le coordinate in questo modo, devi vedere che tipo di codifica utilizzi per il file di testo, oppure scrivere una routine in VB o in altro per inserire un codice ASCII 13 antecedente ad ogni codice ASCII 10.
    Per visualizzare il problema ti consiglio di aprire il file con Notepad++ (programma gratuito scaricabile da Internet) e attivare l'opzione sotto visualizza : mostra fine riga.
    Onda

  10. #20
    Moderatore L'avatar di Onda
    Iscritto dal
    2009
    Messaggi
    1035
    Professione
    Ingegnere Meccanico settore Navale
    Regione
    Italia
    Software
    SolidWorks 2015, Rhino v5, Autocad 2008, Patran 2014, Nastran 2014

    Predefinito

    Il tuo file è in formato unix e va convertito in formato windows.
    Notepad++ può fare questo (se non riesci a salvare da Matlab nel formato corretto).

    Sotto modifica> converti carattere fine linea>Formato windows

    in questo modo ti trasforma tutti i file con i dovuti caratteri finali.

    Ciao

    Onda


  • Pagina 2 di 4 PrimaPrima 1234 UltimaUltima

    Discussioni Simili

    1. convertire file solidwork in mesh
      Di cocos84 nel forum Solidworks
      Risposte: 1
      Ultimo Messaggio: 24-02-2010, 02: 01
    2. aprire file di solidwork con modo luxology
      Di cocos84 nel forum Solidworks
      Risposte: 1
      Ultimo Messaggio: 23-02-2010, 16: 55
    3. importazione file
      Di sernic nel forum CATIA V5 CATProduct
      Risposte: 4
      Ultimo Messaggio: 19-01-2010, 16: 39
    4. Importazione file
      Di Max0106 nel forum Creo Parametric (ex Pro/E)
      Risposte: 1
      Ultimo Messaggio: 11-03-2009, 19: 47
    5. Importazione File
      Di Liotro nel forum Solid Edge
      Risposte: 4
      Ultimo Messaggio: 21-02-2008, 14: 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