Pagina 5 di 9 PrimaPrima ... 34567 ... UltimaUltima
Risultati da 41 a 50 di 81
  1. #41
    Utente Junior
    Iscritto dal
    2013
    Messaggi
    59
    Professione
    Ingegnere Meccanico
    Regione
    Emilia Romagna
    Software
    SolidWorks, Solid Edge, Inventor, Autocad

    Predefinito

    Mi è venuta in mente un'idea (che probabilmente sarà una cavolata, ma te la espongo comunque): ho notato che SW ha un comando chiamato "Entità di divisione (Split entities)" che può suddividere una generica curva in tanti "pezzetti". Questi "pezzetti" sono delimitati ognuno da due punti (come ogni segmento): se io impostassi una funzione che interpellasse il comando "Split entities" e gli facessi capire in quante entità suddividere la mia curva (e quindi di conseguenza, in quanti punti) avrei risolto il mio problema.
    Secondo te è una cosa fattibile?

    Ciao e buone feste

  2. #42
    Utente Junior
    Iscritto dal
    2013
    Messaggi
    59
    Professione
    Ingegnere Meccanico
    Regione
    Emilia Romagna
    Software
    SolidWorks, Solid Edge, Inventor, Autocad

    Predefinito

    Intanto che ci sono ti chiedo un parere su un'altra soluzione che mi è venuta in mente: partendo dalla macro che hai creato, dopo che essa ha identificato i vari tratti della curva, è possibile "unire" le varie entità in modo da crearne una unica e suddividerla in un certo numero di reference points tramite l'istruzione "swFeatMgr.InsertReferencePoint"?

    Sarebbe per me una soluzione ottima e ti spiego il motivo: per il lavoro che devo fare sarebbe molto più comodo suddividere l'intera curva in un certo numero di punti, e non i singoli tratti, dal momento che vorrei dei punti equamente distribuiti lungo tutta la curva e non solo relativamente al singolo tratto (infatti se un tratto è lungo 10 mm e un altro è lungo 100 mm i punti non saranno alla stessa distanza fra loro lungo i due tratti, e questo è un grosso problema).


    Grazie

  3. #43
    Utente Standard L'avatar di jenuary
    Iscritto dal
    2007
    Messaggi
    385
    Professione
    Progettista e Programmatore VB.Net
    Regione
    Veneto
    Software
    Solidworks

    Icon7

    Da quanto capisco, a te serve suddividere una spline\poliline in parti uguali, non ricavare i punti di un profilo per passarlo ad un programma cam.
    A questo punto buttiamo via tutto e ripartiamo, e per questo ti ho scritto una nuova macro sfruttando i RefPoint.

    I prerequisiti sono:
    - file di parte aperto con uno schizzo, lo schizzo non deve essere in modifica
    - Lo schizzo si deve chiamare "Schizzo2", questo solo per il momento, perchè poi l'eventuale l'evoluzione della macro ci permettera di fare quello che vogliamo e selezionare uno dei tanti schizzi presenti nella nostra parte.
    - lo schizzo2 deve contenere una spline (non piu di una mi raccomando, altrimenti bisogna inserire il controllo dell'errore)

    Il risultato sarà:
    - creazione di n punti di riferimento definiti dall'utente
    - estrapolazione in Excel dei punti
    - ripulitura del Feature Manager, cancellando i punti di riferimento.

    L'evoluzione della macro a questo punto potra:
    - scansionare lo schizzo e verificare se ci sono piu di un profilo aperto
    - se il profilo è uno solo, ma non è una spline, trasforma il profilo in spline, cancellando le entità che l'anno generta.
    - estrapolare i punti richiesti
    - crearli fisicamente in un altro schizzo
    - ecc.ecc.

    Buon lavoro
    File Allegati File Allegati

  4. #44
    Utente Junior
    Iscritto dal
    2013
    Messaggi
    59
    Professione
    Ingegnere Meccanico
    Regione
    Emilia Romagna
    Software
    SolidWorks, Solid Edge, Inventor, Autocad

    Predefinito

    In effetti ciò che mi serve è una via di mezzo fra le due cose che hai descritto tu. A me serve una macro che, data una curva definita a tratti (un tratto di spline, uno di retta, uno di circonferenza, etc...) mi divida tutto il profilo in un certo numero di ref points. A questo punto le coordinate di questi ref points dovrei passare dentro un file txt.
    Il file txt non finirà in un programma CAM, ma semplicemente verrà inviato al microcontrollore della fresa il quale penserà a convertire quei numeri in un linguaggio comprensibile dai motori.

    Quindi la macro che mi hai appena scritto va bene (a parte che preferirei salvare in txt, ma questo non è un problema), ma funziona solo per una spline, invece io vorrei che funzionasse su una curva definita a tratti. Quindi secondo me ci vorrebbe una fusione delle due macro che mi hai scritto in questi giorni, in modo tale da:
    - scansionare tutte le entità presenti nello schizzo e riconoscerle (retta, spline, arco, ...)
    - dividere l'intera curva in un certo numero di ref points
    - scriverne le coordinate in txt
    - cancellare i punti

    Dici che si possa fare una cosa del genere?


    Ciao e grazie

  5. #45
    Utente Junior
    Iscritto dal
    2013
    Messaggi
    59
    Professione
    Ingegnere Meccanico
    Regione
    Emilia Romagna
    Software
    SolidWorks, Solid Edge, Inventor, Autocad

    Predefinito

    Per farti capire meglio ti allego un'immagine di una curva di cui io vorrei ricavare le coordinate. E' costituita da 3 tratti: due tratti rettilinei e un tratto di spline.
    Ciò che vorrei io è: dividere l'intera curva (non i singoli tratti) in un certo numero di ref points e calcolare le coordinate di questi punti. Una volta calcolate copiarle in un file txt. Infine cancellare i ref points.

    Immagine.png

  6. #46
    Utente Junior
    Iscritto dal
    2013
    Messaggi
    59
    Professione
    Ingegnere Meccanico
    Regione
    Emilia Romagna
    Software
    SolidWorks, Solid Edge, Inventor, Autocad

    Predefinito

    Ho trovato un comando che farebbe proprio al caso mio: "FIT SPLINE" (In italiano "Ottimizza Spline"). Praticamente questo comando, se si ha una curva definita a tratti, unisce tutte le entità creandone una unica sotto forma di una spline.
    Il problema che non riesco a trovare nell' API il comando per richiamare l'istruzione fit spline. Se si riuscisse a fare funzionare questo comando da dentro la macro, a questo punto la macro che mi hai scritto qualche giorno fa andrebbe benissimo (ci sarebbe solo da salvare in txt e non in xls, ma penso non sia un problema).
    Tu sai quale sia il codice per chiamare il comando "fit spline"?

    Grazie

  7. #47
    Utente Standard L'avatar di jenuary
    Iscritto dal
    2007
    Messaggi
    385
    Professione
    Progettista e Programmatore VB.Net
    Regione
    Veneto
    Software
    Solidworks

    Predefinito

    Rieccomi...
    Il problema principale è creare una polilinea dalle entità del tuo schizzo, ma è fattibile.
    Ho fuso le due macro che ti avevo scritto, dove alla fine della scansione delle entità, creo una spline con tolleranza +-0.001, che successivamente vado a riselezionare dopo avere chiuso lo schizzo.
    Il risultato è credo quello che ti serve...i punti per ora sono scritti in Excel, ma passarli al limite in txt non è un problema, l'abbiamo già fatto nelle prime bozze della macro.

    Requisiti:
    - File di parte con schizzo aperto, contente un solo profilo.

    Risultato:
    - estrapolazione dei punti della spline risultante, secondo la richiesta dell'utente.

    A fine macro, se entri nel tuo schizzo e cancelli la spline, trovi sotto le tue curve originali in linea di costruzione.

    Fammi sapere se ci siamo.

    Ciao
    File Allegati File Allegati

  8. #48
    Utente Junior
    Iscritto dal
    2013
    Messaggi
    59
    Professione
    Ingegnere Meccanico
    Regione
    Emilia Romagna
    Software
    SolidWorks, Solid Edge, Inventor, Autocad

    Predefinito

    Innanzitutto grazie mille!!Ormai direi proprio che ci siamo.
    Ho solo alcune curiosità da chiederti:

    - la macro lavora anche con schizzi 3D? Perchè ho provato ma mi da alcuni errori
    - quindi in pratica prima di avviare la macro io devo sempre crearmi una spline unica attraverso il comando "ottimizza spline"? Oppure posso semplicemente disegnare le mie entità e poi fare il run della macro senza dover ottimizzare la spline?


    Ciao e grazie

  9. #49
    Utente Junior
    Iscritto dal
    2013
    Messaggi
    59
    Professione
    Ingegnere Meccanico
    Regione
    Emilia Romagna
    Software
    SolidWorks, Solid Edge, Inventor, Autocad

    Predefinito

    Per la seconda domanda che ti ho scritto (quella relativa all'ottimizzazione della spline) mi sono già risposto da solo: non avevo notato che è la macro stessa a creare la spline partendo dalle varie entità!!:)
    Mi rimane solo il dubbio del funzionamento o meno con schizzi 3D. Se funziona anche con quelli allora ci siamo, basta solo far si che salvi in txt e il gioco è fatto!

    ciao

  10. #50
    Utente Standard L'avatar di jenuary
    Iscritto dal
    2007
    Messaggi
    385
    Professione
    Progettista e Programmatore VB.Net
    Regione
    Veneto
    Software
    Solidworks

    Predefinito

    In effetti non lavorava negli schizzi 3D, tutto dipendeva dalla stringa

    Set Sketch = myPart.GetActiveSketch

    la cui chiamata era obsoleta, ora l'ho cambiata in

    Set Sketch = myPart.GetActiveSketch2

    e gira bene anche con schizzi 3D, basta ora esportare in txt e sie a posto.

    L'esportazione in txt è il caso che te la scriva tu, solo per il fatto che l'ordine di scrittura, gli spazi ecc., devono essere impostati secondo le tue esigenze, al limite se hai problemi fammi sapere.

    Ciao e Buon Anno a tutti
    File Allegati File Allegati


  • Pagina 5 di 9 PrimaPrima ... 34567 ... UltimaUltima

    Discussioni Simili

    1. Calcolare il volume
      Di fapalti27 nel forum Altri CAD per la Meccanica
      Risposte: 5
      Ultimo Messaggio: 18-09-2017, 19: 31
    2. Macro coordinate punti
      Di erf nel forum Solidworks
      Risposte: 21
      Ultimo Messaggio: 02-11-2011, 17: 54
    3. Calcolare il peso
      Di ciccino nel forum AutoCAD
      Risposte: 3
      Ultimo Messaggio: 05-11-2010, 21: 20
    4. Risposte: 14
      Ultimo Messaggio: 13-09-2010, 15: 33
    5. Calcolare un'espressione
      Di Shaba nel forum OneSpace Designer Modeling
      Risposte: 26
      Ultimo Messaggio: 14-01-2008, 09: 45

    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