• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Leggi altro.

Programmazione con SolidEdge/ VisualBasic

Dinho_85

Utente poco attivo
Professione: Ingegnere Meccanico
Software: Autocad/Solid Edge V18
Regione: Abruzzo
#1
Buongiorno a tutti,
sono un ingegnere meccanico junior e per lo sviluppo della tesi di laurea magistrale mi trovo impegnato a svolgere un tirocinio per l'analisi e la stima preventiva dei costi di realizzazione di particolari meccanici, in fase di progettazione.
In breve, sto sviluppando un software già esistente che analizzando le feature con cui è stato realizzato il modello cad 3d, riconosce le lavorazioni di asportazione di truciolo da utilizzare per ottenere il particolare ed effettua una stima preventiva dei costi di realizzazione dello stesso, considerando sia i tempi passivi, sia i parametri di taglio.
Il cad utilizzato è Solid Edge v18 ed il software del programma di analisi dei costi è scritto in VisualBasic (vb5). Non essendo un'abile programmatore informatico ho il seguente problema: non riesco a trovare nell'help di programmazione di solid edge, un metodo che mi permetta di far analizzare e leggere al software, la quota con l'indicazione di tolleranza dimensionale delle feature del modello 3d sul file .par di solid edge. Qualcuno è in grado di aiutarmi, indicandomi una possibile via da seguire.
Grazie.
 

Be_on_edge

Moderatore
Staff Forum
Professione: Progettazione
Software: Solid Edge
Regione: Emilia Romagna
#2
Nelle proprietà dell'oggetto Dimension ci sono tutti i campi utilizzabili nelle tolleranze.

La V18 è molto vecchia ma questi metodi erano già disponibili.

Ciao
 

cacciatorino

Moderatore SolidEdge
Staff Forum
Professione: Ingegnere meccanico
Software: SolidEdge CoCreate Salome-Meca
Regione: Porto Recanati, ma con l'appennino nel cuore
#3
Il cad utilizzato è Solid Edge v18 ed il software del programma di analisi dei costi è scritto in VisualBasic (vb5). Non essendo un'abile programmatore informatico ho il seguente problema: non riesco a trovare nell'help di programmazione di solid edge, un metodo che mi permetta di far analizzare e leggere al software, la quota con l'indicazione di tolleranza dimensionale delle feature del modello 3d sul file .par di solid edge. Qualcuno è in grado di aiutarmi, indicandomi una possibile via da seguire.
Grazie.
Una premessa generale:
Solid Edge, a differenza di altri sistemi CAD, non gestisce le tolleranze in ambiente 3d in modo reale. Ossia, se tu quoti un segmento 50 mm -0.1/-0.2, lui lo creera' sempre lungo 50 mm.

Ora, quello che potresti valutare sarebbe di andare a leggere le proprieta' dell quote in ambiente 3d, ma si richiedono alcune attivita' da parte dei progettisti. Ammettendo che cio' che tu vuoi analizzare sia il file 3d e non la tavola 2d:

1) Nella modellazione, i progettisti dovrebbero simulare il flusso di lavoro che poi si fa alla macchina utensile, e quindi lavorare sempre per sottrazione successive di materiale e non per addizione (ti dico per esperienza che costringere i progettisti a lavorare cosi' sara' il metodo perfetto per farti odiare vita natural durante) :D

2) i progettisti dovrebbero quotare con le tolleranze gia' in ambiente 3d (vedi esempio nell'immagine allegata)

3) dovrebbero inserire i segni di lavorazione e tolleranza geometrica gia' nell'ambiente 3d, ma questo mi pare non sia possibile con la V18, essendo le PMi state introdotte a partire dalla V20 se non sbaglio. (vedi esempio)

Poi il metodo per recuperare queste informazioni dal modello dovresti trovarlo tu via programmazione. Insomma, hai cominciato ponendoti il problema di come estrarre dalle quote questi attributi, ma forse dovresti prima assicurarti che questi attributi ci siano!

Tutto sommato, forse potresti valutare l'utilizzo di un software cam che faccia il lavoro al posto tuo, altrimenti cosi' rischi di reinventare la ruota.
 

Allegati

Tequila

Utente Senior
Professione: teorico del paleocontatto
Software: Solid Edge ST7, scarabocchi su carta
Regione: Veneto (PD)
#4
La soluzione ideale da fare su particolari creati da tornitura e fresatura è quella di crearsi la parte semplificata così da avere nello stesso modello il volume del grezzo e del finito per poter calcolare la quantità di materiale da asportare con l'automatismo di una macro. Per definire invece la precisione della lavorazione e rugosità bisogna trovare altre strade
 

cacciatorino

Moderatore SolidEdge
Staff Forum
Professione: Ingegnere meccanico
Software: SolidEdge CoCreate Salome-Meca
Regione: Porto Recanati, ma con l'appennino nel cuore
#6
Per curiosità quali CAD lo fanno ?
Di sicuro lo fa Pro/E, e' utile soprattutto negli assemblaggi per valutare come si accoppiano le parti spingendo al massimo o al minimo tutte le quote tollerate.

Non so se lo facciano anche NX e Catia, credo che nei mid-range non lo faccia nessuno pero'.
 

Dinho_85

Utente poco attivo
Professione: Ingegnere Meccanico
Software: Autocad/Solid Edge V18
Regione: Abruzzo
#7
Forse sono stato troppo generico nella descrizione del mio problema.
In pratica, per le mie esigenze, l'utilizzo della quota con tolleranza ha solamente lo scopo di far riconosce al software di analisi dei costi la particolare feature che sarà soggetta a lavorazione di rettificatura, successiva a tornitura o fresatura. A prescindere dalla realizzazione della feature, se avviene per addizione o sottrazione di materiale, il software è strutturato x essere il più possibile indipendente dalle scelte del progettista. L'unica condizione imposta è quella che il progettista indichi la quota con la tolleranza già in 3d, a prescindere se poi solid edge lo crei con il valore nominale senza tolleranza.
Il mio scopo è solamente di far riconoscere al software di analisi e preventivazione, che una feature sia soggetta in lavorazione ad certo un valore di tolleranza che determina l'uso o meno dell'operazione di rettificatura.
Spero di aver fatto un pò più di chiarezza.
 

Be_on_edge

Moderatore
Staff Forum
Professione: Progettazione
Software: Solid Edge
Regione: Emilia Romagna
#8
Di sicuro lo fa Pro/E, e' utile soprattutto negli assemblaggi per valutare come si accoppiano le parti spingendo al massimo o al minimo tutte le quote tollerate.

Non so se lo facciano anche NX e Catia, credo che nei mid-range non lo faccia nessuno pero'.
Molti anni fa esisteva un programma che faceva proprio questo, ricordo che esisteva per Solid Works e per Solid Edge, mi sfugge totalmente il nome però.

Ciao
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#9
Dinho_85, andando a memoria già qualcuno ci ha provato a fare programmi di preventivazione così (pezzo pieno con sottrazione di materiale) ma poi ha lasciato perdere per i motivi che diceva cacciatorino, quindi fai bene a non seguire quella linea.

Mettere dei valori di tolleranza nel 3D non è utile sopratutto perché non è un dato riciclabile su asm o draft, quindi addirittura può diventare forviante.

Un progettista non è un progettista se non si preoccupa innanzitutto su come ricavare il pezzo (grezzo di partenza, materiale) e tecnologie a disposizione (macchine utensili) e se guardiamo ai costi è importante valutare in fase di progetto il ciclo di lavorazione perché i tempi si impiegano soprattutto:
- per il numero di stazioni di lavoro impegnate (sega, taglio, sald., tornio, fresa, trattamenti esterni,...)
- numero prese del pezzo (fasi o sottofasi).

Se stai lavorando in una cosìdetta torneria automatica, ovvero con materiali da non trattare ricavati da barra su un tornio-fresa multi-asse, allora si riesce a fare un software di preventivazione un po' automatico.

Comunque, ti consiglio di cambiare strategia: non usare le tolleranze (per i vari motivi detti sopra) ma usa i colori sulle facce in base alla finitura/rugosità:
- Tread è già usato per i filetti.
Puoi concordare vari colori per la finitura (rugosità) del pezzo:
nel tuo caso infatti è più importante la rugosità superficiale delle tolleranze geometriche e dimensionali, puoi confrontarti su questo argomento con chi scrive i cicli di produzione, prepara le attrezzature e mette a punto la macchina utensile (settaggio utensili e posizione delle canaline per la refrigerazione, e vari accorgimenti da tenere (che incidono per il primo pezzo) per rispettare le tolleranze geometriche e dimensionali).

A proposto di attrezzature, il preventivo le considera?
 

Tequila

Utente Senior
Professione: teorico del paleocontatto
Software: Solid Edge ST7, scarabocchi su carta
Regione: Veneto (PD)
#10
Molti anni fa esisteva un programma che faceva proprio questo, ricordo che esisteva per Solid Works e per Solid Edge, mi sfugge totalmente il nome però.

Ciao
A memoria ricordo che la CCS Team aveva fatto una applicazione del genere anni fa per solid edge, però non ricordo come si chiama.
Sicuramente l'utente Delki ne sa qualcosa di più al riguardo
 

Dinho_85

Utente poco attivo
Professione: Ingegnere Meccanico
Software: Autocad/Solid Edge V18
Regione: Abruzzo
#11
Vespa_83, no le attrezzature non sono considerate o meglio, nell'analisi dei tempi per la stima dei costi di realizzazione vengono considerati i tempi passivi impegati per l'attrezzaggio della macchina utensile. Questo perchè il software è destinato alla preventivazione di prototipi e non alla produzione in serie di particolari, dove ovviamente diminuiscono i costi di attrezzaggio. Inoltre come ho scritto nel primo post, il software che sto sviluppando e cercando di migliorare, già esisteva e si trova in una fase iniziale di sviluppo, quindi ho cercato di seguire la strada già per un certo verso segnata. La mia intenzione è quella di completare l'analisi delle lavorazioni principali (tornitura, fresatura, rettificatura, foratura), includere i trattamenti termici e superficiali, cercando di evolvere verso un più consono sistema CAPP che possa riuscire, a generare il ciclo di lavorazione del pezzo in esame. Di conseguenza il ciclo ottimizzato inciderà decisamente sul costo finale del pezzo.
 

cacciatorino

Moderatore SolidEdge
Staff Forum
Professione: Ingegnere meccanico
Software: SolidEdge CoCreate Salome-Meca
Regione: Porto Recanati, ma con l'appennino nel cuore
#12
Forse sono stato troppo generico nella descrizione del mio problema.
In pratica, per le mie esigenze, l'utilizzo della quota con tolleranza ha solamente lo scopo di far riconosce al software di analisi dei costi la particolare feature che sarà soggetta a lavorazione di rettificatura, successiva a tornitura o fresatura.
Mhhh, non so se e' l'approccio giusto vincolare la necessita' di rettifica solamente al valore di tolleranza IT. Per esempio, potresti dover rettificare un pezzo non perche' ti serva un diametro IT5 ma solo perche' durante il precedente tattamento termico si e' deformato.

Forse e' buona l'idea di vespa_83, ossia assegnare un attributo grafico univoco alle superfici che il progettista vuole che vengano rettificate, anche se a volte succede che la necessita' di rettifica viene fuori in sede di trattativa fra l'ufficio acquisti e l'officina che fara' il pezzo, mentre invece magari il progettista non se ne era preoccupato.

Oppure semplicemente prendi il draft e se ci trovi il simbolino Ra=0.8 lo metti nella casellina dei pezzi da rettificare e lo vai a costificare con piu' attenzione.
Ma come pensi di legare il valore della tolleranza al costo della rettifica? un tot euro/cm^2 di superficie da rettificare?
 

cacciatorino

Moderatore SolidEdge
Staff Forum
Professione: Ingegnere meccanico
Software: SolidEdge CoCreate Salome-Meca
Regione: Porto Recanati, ma con l'appennino nel cuore
#13
Mettere dei valori di tolleranza nel 3D non è utile sopratutto perché non è un dato riciclabile su asm o draft, quindi addirittura può diventare forviante.
in realta' se metti una toll. sul 3d e poi usi lo strumento "recupera quote", te la ritrovi sul draft. E' una cosa utile se modellatore 3d e dettagliante 2d non sono la stessa persona, concetto oggi molto esteso con le PMI, che in realta' servono soprattutto per il CAM.
 

Allegati

Dinho_85

Utente poco attivo
Professione: Ingegnere Meccanico
Software: Autocad/Solid Edge V18
Regione: Abruzzo
#14
Ma come pensi di legare il valore della tolleranza al costo della rettifica? un tot euro/cm^2 di superficie da rettificare?
Essendo lo scopo di questo software quello di stimare in fase di progettazione il costo, e non quello di ottenere il costo esatto della lavorazione, una relazione esatta tra valore della tolleranza e costo di rettificatura non esiste. Il valore della tolleranza deve essere un riferimento per il software per capire se quella precisione dimensionale presente in una particolare feature, può essere ottenuta o meno in tornitura, fresatura.
Per esempio, feature con tolleranza assente o con valore maggiore di +/- 0,1...no rettifica!
Tolleranza <= di +/-0,1 si rettifica e parte l'analisi costo per tale operazione.
Invece se il pezzo è trattato termicamente e necessita della rettifica perchè deformato, basta leggere tra le proprietà del file 3d e verificare la presenza o meno del trattamento.
L'idea di fondo è quella di calcolare il tempo necessario per lavorare con la rettifica una determinata feature e, una volta noto il costo orario della rettificatrice, ottenere il costo stimato per quell'operazione considerando i tempi passivi di attrezzaggio.
La relazione tot euro/cm^2 è indirettamente utilizzata nella mia analisi. Infatti per calcolare il tempo di rettificatura devo necessariamente conoscere sia la lunghezza del tratto in esame, ricavabile leggendo tra le proprietà della feature, sia lo spessore del sovrametallo da asportare per ottenere il pezzo finito. Tale sovrametallo è noto in letteratura e varia in funzione del diametro nominale dell'albero o dello spessore del pezzo prismatico. Inoltre sono presenti anche relazioni che determinano il numero delle passate, onde evitare di bruciare pezzo e mola durante la lavorazione.
Quindi credo di avere tutti gli strumenti per poter effettuare tale "stima dei costi". Devo far solamente leggere il valore della tolleranza tra le proprietà della feature o eventualmente un colore che la distingua.
Forse leggere la tolleranza rappresenta una soluzione più ortodossa per un ingegnere di processo.
 

vespa_83

Utente Standard
Professione: disegnatore
Software: Solid Edge
Regione: Romagna
#15
Se le PMI si recuperano sul draft, buono da sapere... ero rimasto indietro.

Allego qualche riga di codice che ho scritto per i draft per prender spunto, suppongo che sul part sia uguale.
le quote di un profilo di una feature suppongo sai già trovarle: il percorso è tipo:
ActiveDocument.Models(1).Features(index).Profile.Dimensions
ovvero
objPar.Models(1).Features.Profile.Dimensions

Codice:
' Tolleranze dimensionali: da "." a ","
set objList = objDoc.ActiveSheet.Dimensions
For Each objItem In objList
    Dim oldtxt, newtxt
    oldtxt = objItem.PrimaryUpperTolerance ' superiore
	newtxt = oldtxt
	newtxt = replace(newtxt, "." , "," )   'sostituisco i punti con le vergole
	if oldtxt<>newtxt then
		objItem.PrimaryUpperTolerance = newtxt
	end if
	
    oldtxt = objItem.PrimaryLowerTolerance 
	newtxt = replace(oldtxt, "." , "," )
	if oldtxt<>newtxt then
		objItem.PrimaryLowerTolerance = newtxt ' inferiore
	end if
Next

' Tolleranze geometriche: da "." a ","
set objList = objDoc.ActiveSheet.FeatureControlFrames
For Each objItem In objList
    'oldtxt, newtxt
    oldtxt = objItem.PrimaryFrame
	newtxt = oldtxt
	newtxt = replace(newtxt, "." , "," )
	
    oldtxt2 = objItem.SecondaryFrame
	newtxt2 = oldtxt2
	newtxt2 = replace(newtxt2, "." , "," )
	
    oldtxt3 = objItem.ProjectedToleranceFrame
	newtxt3 = oldtxt3
	newtxt3 = replace(newtxt3, "." , "," )
	
	if oldtxt<>newtxt or oldtxt2<>newtxt2 or oldtxt3<>newtxt3 then
		'se cambia il primo si cancellano tutti gli altri
		objItem.PrimaryFrame = newtxt
		objItem.SecondaryFrame = newtxt2
		objItem.ProjectedToleranceFrame = newtxt3
	end if
Next
spero sia di aiuto
 

cacciatorino

Moderatore SolidEdge
Staff Forum
Professione: Ingegnere meccanico
Software: SolidEdge CoCreate Salome-Meca
Regione: Porto Recanati, ma con l'appennino nel cuore
#16
Se le PMI si recuperano sul draft, buono da sapere... ero rimasto indietro.
Non solo le PMI, anche le quote normali. Infatti l'immagine che ti avevo postato e' fatta con la V18 dove di PMi non ce ne sono....
 

Dinho_85

Utente poco attivo
Professione: Ingegnere Meccanico
Software: Autocad/Solid Edge V18
Regione: Abruzzo
#17
Vi ringrazio per i consigli e cercherò di farne buon uso per lo svolgimento del mio lavoro di tesi. Grazie