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

Ricavare lunghezza pezzo da file step

Professione: Disegnatore
Software: Autocad2009
Regione: Veneto
#1
Salve a tutti. Ho un piccolo problema... rilevare la lunghezza di circa 700 diversi profili estrusi esportati in step da inventor.
C'è un sistema più veloce che aprire ogni singolo file e quotare a mano la lunghezza:eek::eek::eek:?
 

Catafratto

Utente Standard
Professione: Disegnatore/progettista
Software: Inventor 2016
Regione: Veneto
#4
Allora non so aiutarti: la mia idea era di ottenere con una macro la lunghezza del profilo dividendo il volume (calcolato da Inventor) per l'area del profilo (che inserivi tu): ma le diverse lavorazioni modificano il volume e quindi ciccia, mi spiace. Non mi viene in mente altro...
 
Professione: Disegnatore
Software: Autocad2009
Regione: Veneto
#5
Ci avevo pensato anch'io... il problema è proprio quello, già con una lavorazione più profonda rispetto ad un'altra, anche se sullo stesso pezzo, il volume cambia; per non parlare poi dei tagli inclinati....
Grazie comunque per aver cercato di aiutarmi.
 

Peppe

Utente Standard
Professione: Impiegato
Software: inventor
Regione: Emilia Romagna
#6
E se li trasformi in lamiere, generando un'ipotetico sviluppo questo ti restituisce le estensioni, ipotizzando che i file te li "sviluppi" tutti sullo stesso lato
 

Catafratto

Utente Standard
Professione: Disegnatore/progettista
Software: Inventor 2016
Regione: Veneto
#7
I profili hanno almeno uno spigolo vivo continuo dall'inizio alla fine? Per capirsi meglio, uno spiglo che se selezionato manualmente con il comando misura restituisce la misura da te desiderata? Spero di essermi spiegato...
 

cacciatorino

Moderatore SolidEdge
Staff Forum
Professione: Ingegnere meccanico
Software: SolidEdge CoCreate Salome-Meca
Regione: Porto Recanati, ma con l'appennino nel cuore
#8
ho creato un prisma estruso lungo 999 mm, e poi l'ho esportato in step. Dopo ho aperto il file step con wordpad, e trovo parecchi punti con coordinata y=999 (avevo estruso lungo l'asse Y). Prova a verificare se i tuoi file hanno uno schema ripetitivo, da cui estrapolare la lunghezza del solido.
 

Allegati

Catafratto

Utente Standard
Professione: Disegnatore/progettista
Software: Inventor 2016
Regione: Veneto
#9
Apri uno dei profili e prova questa macro. Se funziona bene anche con i tuoi file (ho provato con alcuni miei solidi e sembra a posto... Il limite che vedo subito è che il profilo deve essere più lungo della sezione, perchè piglia lo spigolo più lungo. Se ti va bene si può fare un ciclo tra gli elementi di un assieme dove dentro ci sono i tuoi profili e poi aggiungere una iproperty al modello.

' Itera tra gli spigoli di un solido
' calcola la lunghezza dello spigolo
' memorizza la lunghezza dello spigolo più lungo

Public Sub TrovaLunghezza()
'Deve essere aperta una parte
Dim oPart As PartDocument
Set oPart = ThisApplication.ActiveEditObject

Dim oEdge As Edge
Dim lungh As Double
Dim lunghTemp As Double

' Le coordinate lello spazio dello spigolo
Dim P1() As Double, P2() As Double

' Controlla tutti gli spigoli
For Each oEdge In oPart.ComponentDefinition.SurfaceBodies(1).Edges
' Estrae i punti estremi dello spigolo
Call oEdge.Evaluator.GetEndPoints(P1(), P2())

'Calcola la lunghezza dello spigolo
lunghTemp = ((P1(0) - P2(0)) ^ 2 + (P1(1) - P2(1)) ^ 2 + (P1(2) - P2(2)) ^ 2) ^ (1 / 2) * 10

' Memorizza lo spigolo pù lungo
If lunghTemp > lungh Then lungh = lunghTemp


' Debug.Print lungh, lunghTemp
Next oEdge
MsgBox ("Lunghezza max :" & lungh)
End Sub
 
Professione: Disegnatore
Software: Autocad2009
Regione: Veneto
#10
Scusate ma oggi non ho avuto tempo di provare i vostri suggerimenti. Domani provo e poi vi faccio sapere. Grazie intanto, gentilissimi, a domani
 
Professione: Disegnatore
Software: Autocad2009
Regione: Veneto
#11
Allora... ho provato i 2 metodi.

Profili.png

- Blocco note: in ancuni casi (lo stesso problema l'ho con la macro, poi vi spiegherò meglio) riesco a rilevare la lunghezza anche se non so di preciso a che riga si trova nel senso che la riga non mi sembra abbia una posizione fissa ma sale o scende a seconda della quantità di lavorazioni.

- Macro VBA: funziona nel caso io abbia un profilo dove la lunghezza massima è uguale alla faccia più lunga (vedi img. "Situazione 1"), altrimenti mi da la lunghezza della faccia più lunga (vedi img. "Situazione 1") senza calcolare che la distanza più lunga è quella che va da punta a punta della faccia trapezioidale.

Qualche suggerimento?!?
 

Catafratto

Utente Standard
Professione: Disegnatore/progettista
Software: Inventor 2016
Regione: Veneto
#12
Ritorniamo all'idea di Peppe (solo adesso ci sono arrivato!): puoi provare a trasformare manualmente (poi automatizziamo -Spero!-) qualche profilo in lamiera e vedere che ti propone: se il lato è uno lungo poi puoi far partire una macro che ho postato da poco che crea una ipropertiy e ci scrive lo sviluppo, se va... Bisogna però sperare che il lato scelto sia sempre quello che serve...
 

Catafratto

Utente Standard
Professione: Disegnatore/progettista
Software: Inventor 2016
Regione: Veneto
#17
Se si crea un modello piatto che ha come estensioni la dimensione che ti interessa (la parte non si sviluppa davvero, ma il modello piatto si crea comunque) si può far partire una macro tipo questa
http://www.cad3d.it/forum1/showthread.php?t=18354&highlight=modello+piatto&page=2
e vedere che succede. Ho fatto un paio di prove con roba mia e sembrava funzionare, ma se come faccia principale prende la sezione del profilo non va niente, ovviamente.
 
Professione: Disegnatore
Software: Autocad2009
Regione: Veneto
#18
Non so.. molto probabilmente sbaglio io ma non funziona... Con di più ci mette un po' a convertirmi lo step in sheet, con lo stesso tempo importo lo step in autocad e lo misuro li è che mi tocca farne uno alla volta...
La macro di Catafratto per estrarre la lunghezza andrebbe anche bene però sono limitato ad usarla dove non ho tagli anclinati come specificato da post precedente.
Non mi resta che munirmi di tanta pazienza e passarli uno per uno:frown::frown:
Grazie comunque a tutti per l'aiuto