V I S U A L I Z Z A D I S C U S S I O N E |
MaxDragonheart |
Inserito il - 28 maggio 2010 : 10:08:40 Salve, sono felice di approdare in questo bel forum. Sono uno studente di ingegneria e avrei una domanda da farvi. Il mio prof mi ha dato un esercizio su un profilo e T rovesciato in cui calcolare il baricentro, il momento di inerzia, i prodotti di inerzia l'ellisse e il nocciolo di inerzia. Fatto il disegno e i conti mi ha detto che per una rapida verifica avrei potuto usare autocad. Di autocad sono "autodidatta" mi limito però al disegno in piano e in 3d. Il prof mi ha detto che creando una regione avrei potuto ottenere quello che cercavo. La regione l'ho creata, tramite PROPMASS ho ottenuto pure le coordinate del baricentro, l'area del mio profilo, i prodotti e i momenti di inerzia ma non ho ottenuto il disegno dell'ellisse e del nocciolo. Ora 2 sono le cose: o ho capito male io che c'è un comando che mi disegna i automatico quelle 2 cose oppure questo comando o tasto da menù non l'ho saputo trovare. Qualcuno sa darmi una risposta?
PS: premetto che la stringa comandi l'ho usata solo ieri per il PROPMASS e non l'avevo mai usata prima quindi andateci piano con le spiegazioni PPS: uso autocad 2010 |
20 U L T I M E R I S P O S T E (in alto le più recenti) |
MaxDragonheart |
Inserito il - 28 maggio 2010 : 21:25:36 Purtroppo lo so, so che alla fine il mondo del lavoro è molti differente da quello universitario, alla fine quello che studi te lo porti come bagaglio personale perchè la pratica lavorativa è molto meno macchinosa di certe cose come il nocciolo di inerzia :) |
Aniello Annunziata |
Inserito il - 28 maggio 2010 : 18:58:49 Assolutamente max, bisogna conoscerlo, capirlo, e capire l'importanza nell'utilizzo "pratico", poi più avanti capirai che puoi andare uno step più avanti. |
MaxDragonheart |
Inserito il - 28 maggio 2010 : 18:37:49 Vi ringrazio per l'aiuto e anche per l'OT, se è vero che è un concetto"sorpassato" il nocciolo di inerzia è anche vero che non si può non sapere, credo che questo valga soprattutto per me che studio ingegneria. Grazie ancora :) |
Aniello Annunziata |
Inserito il - 28 maggio 2010 : 17:21:50 Beh, non dico che il nocciolo è inutile, è importantissimo proprio per la tenso-presso-flessione, ma è un "retaggio" di una vecchia concezione di progettazione, lo ritengo sorpassato oggi che i calcolatori possono permettere di tracciare l'ellisse centrale d'inerzia, e che la teoria delle tensioni ammissibili e sulla via dell'abbandono. Tutto ciò detto, è uno strumento eccezionale per fare conti veloci. |
joseph |
Inserito il - 28 maggio 2010 : 16:43:08 Citazione: Messaggio inserito da Aniello Annunziata
Chiaramente non disegna il nocciolo centrale d'inerzia, perchè è una cosa che non sta ne in cielo ne in terra... nel senso che è una semplificazione atta a ragionare su schemi piani di sollecitazione. In ogni caso non è difficile disegnarlo, basta creare una polilinea che unisce i punti in cui l'ellisse d'inerzia interseca gli assi principali d'inerzia, volendo essere pignoli la si può aggiungere facilmente, ma reputo che sia più istruttivo e significativo avere l'ellisse.
Se conosci i raggi principali d'inerzia, perchè non usare semplicemente il comando Ellisse di Autocad? Posso correre, invece, in difesa del "nocciolo centrale d'inerzia", gioia e dolore degli allievi geometri? L'ho insegnato ai miei studenti per 25 anni e penso che senza quella nozione non è facile capire come si comporta un elemento strutturale soggetto a presso- o tenso flessione e cosa sia il modulo di resistenza Wx o Wy di una sezione. Che sia una cosa che "non sta nè in cielo nè in terra" penso sia riferito al fatto che se taglio un pilastro non me lo trovo disegnato sulla sezione, ma questo avviene anche per l'ellisse centrale d'inerzia. Non sono d'accordo invece che sia sempre facile disegnarlo, se non per sezioni dotate di simmetria rispetto ai due assi; chi ha studiato qualcosa sulla relazione fra rette coniugate e punti coniugati (che sono alla base anche della costruzione dell' ellisse d'inerzia), saprà che ad ogni retta tangente alla sezione corrisponde un vertice (coniugato) del nocciolo d'inerzia, per cui, se la sezione non è dotata di doppia simmetria, il nocciolo non sarà un rombo ma una figura irregolare comvessa, al limite una curva chiusa se la sezione ha un contorno chiuso. Inoltre non è vero che i vertici principali del nocciolo si ricavino dall'intersezione degli assi principali con l'ellisse d'inerzia (questi in realtà sono i raggi principali d'inerzia). Siccome l'interlocutore è uno studente universitario, ho ritenuto opportuno puntualizzare alcuni concetti (anche se sono OT rispetto al tema Autocad), per evitare di ingenerare confusione con quello che sta studiando.
|
Aniello Annunziata |
Inserito il - 28 maggio 2010 : 14:48:46 Chiaramente non disegna il nocciolo centrale d'inerzia, perchè è una cosa che non sta ne in cielo ne in terra... nel senso che è una semplificazione atta a ragionare su schemi piani di sollecitazione. In ogni caso non è difficile disegnarlo, basta creare una polilinea che unisce i punti in cui l'ellisse d'inerzia interseca gli assi principali d'inerzia, volendo essere pignoli la si può aggiungere facilmente, ma reputo che sia più istruttivo e significativo avere l'ellisse.
|
n/a |
Inserito il - 28 maggio 2010 : 14:34:20 Ringrazia il Grande Capo, io l'ho solo taroccato per farlo andare...
|
MaxDragonheart |
Inserito il - 28 maggio 2010 : 14:26:12 Ho fatto anche io la stessa sostituzione e mi ha fatto il disegno, grazie mille :) |
n/a |
Inserito il - 28 maggio 2010 : 13:56:24 Allora, avrei risolto sostituendo tutte le occorrenze Chr(10) con vbCrLf ottenendo questo risultato:
|
MaxDragonheart |
Inserito il - 28 maggio 2010 : 13:42:09 Citazione: Messaggio inserito da antoniovinci
Sotto la 2006 non funge:
Ho il suo stesso identico problema!! Ho scaricato il vb editor dal link che m'ha dato autocad, poi o copiato il file estratto che mi hai dato nella cartella AUTOCAD2010(C:\Programmi\autocad2010), ho windows 7 può essere questo il problema o una mia procedura errata? |
Aniello Annunziata |
Inserito il - 28 maggio 2010 : 12:56:48 Ciao Antonio, mi sembra molto strano, l'ho provata ora con la 2010 e con la 2011, non vorrei che fosse un problema di linguaggio. Vedo che l'errore è sulla funzione Chr, in Polonia si usa un set di carattere ANSI non standard? In ogni caso se il problema è il Chr, esso sta per la mancata a capo, per cui eliminalo e vedi che funziona. |
n/a |
Inserito il - 28 maggio 2010 : 12:41:24 Sotto la 2006 non funge:
|
Aniello Annunziata |
Inserito il - 28 maggio 2010 : 12:08:29 Ecco il file: Estrailo, caricalo in AutoCAD e poi da AutoCAD dal menu Strumenti -> Macro -> Macro seleziona la voce MassPropRegion e poi segui le istruzioni da riga di comando.
P.S. Se hai AutoCAD 2010 o 2011 non è più presente il VBA, quindi devi scaricarlo ed installarlo da solo seguendo il link.
Scarica allegato:
ProprietaMassaEstese.zip 11,38 KB |
Aniello Annunziata |
Inserito il - 28 maggio 2010 : 11:59:20 si fa quello che cerchi. La sto solo mettendo a punto fra poco ti mando il file. |
MaxDragonheart |
Inserito il - 28 maggio 2010 : 11:55:41 Scusa la mia ignoranza ma come la uso? Questa routine mi disegna quello che cerco?
Citazione: Messaggio inserito da MaxDragonheart
PS: come si fa a ricevere l'avviso di risposta alle discussioni via mail?
|
Aniello Annunziata |
Inserito il - 28 maggio 2010 : 11:35:08 Tempo fa avevo scritto una routine VBA, ecco il listato: L'oggetto deve essere una regione.
Sub InputSezione(objRegion As Object) ' 'Acquisisce un immagine dallo schermo di AutoCAD. ' Dim SSet As Object Dim GroupCode(0 To 2) As Integer Dim DataValue(0 To 2) As Variant
On Error GoTo ErrorTrap
'Definisce un nuovo set di selezione. Set SSet = ThisDrawing.SelectionSets.Add("SSImage") 'Filtra solo le regioni. GroupCode(0) = -4 DataValue(0) = "<or" GroupCode(1) = 0 DataValue(1) = "region" GroupCode(2) = -4 DataValue(2) = "or>" SSet.SelectOnScreen GroupCode, DataValue 'Acquisisce la regione. Set objRegion = SSet.Item(0) 'Estrapola la regione dal selection set. SSet.Delete 'Cancella il set di selezione. Exit Sub
ErrorTrap: SSet.Delete 'Cancella il set di selezione. End Sub
Sub MassPropRegion() ' 'Processa una regione dallo schermo di AutoCAD, calcola le 'proprietà di massa, le mostra a finestra di dialogo 'e disegna l'ellisse d'inerzia ed il nocciolo d'inerzia. ' Dim Sezione As Object Dim Baricentro As Variant Dim DirezioniPrincipali As Variant Dim MomentiPrincipali As Variant Dim Ro As Variant Dim pointObj As AcadPoint Dim PunBaricentro(0 To 2) As Double Dim viewportObj As AcadViewport Dim AsseX(0 To 2) As Double Dim AsseY(0 To 2) As Double Dim ucsObj As AcadUCS Dim oldUCS As AcadUCS Dim ellObj As AcadEllipse Dim majAxis(0 To 2) As Double Dim radRatio As Double Dim msgText As String Dim aXObj, aYObj As AcadLine
On Error GoTo ErrorTrap2
'Calcolo dei dati della sezione Set viewportObj = ThisDrawing.ActiveViewport InputSezione Sezione 'Calcolo del Baricentro Baricentro = Sezione.Centroid PunBaricentro(0) = Baricentro(0) PunBaricentro(1) = Baricentro(1) PunBaricentro(2) = 0 'Calcolo delle direzioni principali d'inerzia DirezioniPrincipali = Sezione.PrincipalDirections 'Calcolo dei vertici delle direzioni principali d'inerzia AsseX(0) = PunBaricentro(0) + DirezioniPrincipali(0) AsseX(1) = PunBaricentro(1) + DirezioniPrincipali(1) AsseX(2) = PunBaricentro(2) AsseY(0) = PunBaricentro(0) + DirezioniPrincipali(2) AsseY(1) = PunBaricentro(1) + DirezioniPrincipali(3) AsseY(2) = PunBaricentro(2) ThisDrawing.SetVariable "PDMODE", 2 'Disegno del baricentro Set pointObj = ThisDrawing.ModelSpace.AddPoint(PunBaricentro) pointObj.Color = acCyan 'Spostamento dell'UCS Set ucsObj = ThisDrawing.UserCoordinateSystems.Add(PunBaricentr o, AsseX, AsseY, "UCS2") Set oldUCS = ThisDrawing.ActiveUCS ThisDrawing.ActiveUCS = ucsObj 'Calcolo dei momenti principali d'inerzia baricentrici e del raggio d'inerzia MomentiPrincipali = Sezione.PrincipalMoments Ro = Sezione.RadiiOfGyration 'Calcolo dei vertici degli assi cartesiani principali AsseX(0) = PunBaricentro(0) + DirezioniPrincipali(0) * Ro(1) * 1.5 AsseX(1) = PunBaricentro(1) + DirezioniPrincipali(1) * Ro(1) * 1.5 AsseX(2) = PunBaricentro(2) AsseY(0) = PunBaricentro(0) + DirezioniPrincipali(2) * Ro(1) * 1.5 AsseY(1) = PunBaricentro(1) + DirezioniPrincipali(3) * Ro(1) * 1.5 AsseY(2) = PunBaricentro(2) 'Calcolo di un estremo dell'ellisse d'inerzia e del rapporto tra i diametri majAxis(0) = Ro(1) * DirezioniPrincipali(0) majAxis(1) = Ro(1) * DirezioniPrincipali(1) majAxis(2) = 0 radRatio = Ro(0) / Ro(1) 'Disegno dell'ellisse d'inerzia Set ellObj = ThisDrawing.ModelSpace.AddEllipse(PunBaricentro, majAxis, radRatio) ellObj.Color = acYellow 'Disegno degli assi coordinati principali Set aXObj = ThisDrawing.ModelSpace.AddLine(PunBaricentro, AsseX) aXObj.Color = acBlue Set aYObj = ThisDrawing.ModelSpace.AddLine(PunBaricentro, AsseY) aYObj.Color = acBlue 'Torna alle coordinate WCS ThisDrawing.ActiveUCS = oldUCS 'Mostra i dati della sezione msgText = "Baricentro della sezione: " & Chr(10) & PunBaricentro(0) & ";" & PunBaricentro(1) & "," & PunBaricentro(2) msgText = msgText & Chr(10) & Chr(10) msgText = msgText & "Raggi d'inerzia: " & Chr(10) & Ro(0) & ";" & Ro(1) msgText = msgText & Chr(10) & Chr(10) msgText = msgText & "Momenti principali d'inerzia: " & Chr(10) msgText = msgText & "Ix: " & MomentiPrincipali(0) & Chr(10) msgText = msgText & "Iy: " & MomentiPrincipali(1) MsgBox msgText, , "Proprietà della sezione"
ErrorTrap2: End Sub
|
Jotar |
Inserito il - 28 maggio 2010 : 11:32:07 Intanto vedi questa discussione su come caricare un lisp.
Ti tornerà utile in futuro.
http://www.cadlandia.com/forum/topic.asp?TOPIC_ID=10257 |
MaxDragonheart |
Inserito il - 28 maggio 2010 : 11:22:26 Grazie, mi sei stato molto utile ed hai confermato il fatto che ho capito male io, non c'è un comando diretto che permette il disegno automatico diciamo così. Per quanto riguarda i lisp, intuisco che sono una specie di script ma siccome non so usare fino a questo punto autocad farò i calcoli a mano e confronterò poi dopo i risultati dopodichè sfrutterò il link che mi hai consigliato per disegnare manualmente l'ellisse. :)
PS: come si fa a ricevere l'avviso di risposta alle discussioni via mail? |
Jotar |
Inserito il - 28 maggio 2010 : 10:28:56 Qui se ne parla un po'.
http://www.hilpers.it/513159-autocad-e-momenti-dinerzia |
Jotar |
Inserito il - 28 maggio 2010 : 10:24:07 AutoCAD, per quanto ne so, non disegna direttamente l'ellisse. Quella te la puoi ricavare, disegnandola tu, con i valori dei raggi di inerzia.
Poi forse in giro ci sarà pure qualche autolisp che faccia anche questo lavoro. |