Indietro: Torna alla pagina Rhino 3 - Scripts - Analisi e Misure
Note: Lo script è stato fatto per calcolare il peso di un singolo o più oggetti moltiplicando il volume totale per il peso specifico. Fare attenzione all'unità di misura del disegno e del peso specifico (quello di default è pari ad un mm cubo di Ferro)
Istruzioni: lanciare lo script, inserire o confermare il peso specifico, selezionare le polisuperfici/superfici chiuse e confermare la selezione.
{@
Sub Volumx
Dim VolNum, Pspec, Pesospec, x, Peso, PesoTot
Dim ArrObjects(), strobject, selobject, ArrVol
Pesospec=Rhino.GetDocumentData("RMApspec","pespec") If (VarType(Pesospec))=vbNull Then Pesospec=0.00785 Pspec = Rhino.GetReal("Peso specifico <" & Pesospec & "> enter per confermare") If (VarType(Pspec))=vbNull Then Pspec=Pesospec
i=0 selobject = Rhino.GetObject("Selezionare le polisuperfici o superfici chiuse da pesare", 8+16) While VarType(selobject) = vbstring
If Rhino.IsObjectSolid (selobject) Then
ReDim Preserve ArrObjects(i) Arrobjects(i) = selobject Rhino.LockObject selobject i=i+1 selobject = Rhino.GetObject("Selezionare le polisuperfici o superfici chiuse da pesare", 8+16)
Else
Rhino.MessageBeep 2 Rhino.Print "La Polisuperficie o superficie non è chiusa" selobject = Rhino.GetObject("Selezionare le polisuperfici o superfici chiuse da pesare", 8+16)
End If
Wend
Pesotot=0
If IsArray(Arrobjects) Then Rhino.Command("_SetredrawOff") For Each strobject In arrobjects Rhino.Command("_Selnone") Rhino.UnlockObject Strobject ArrVol=Rhino.SurfaceVolume(Strobject) VolNum=Cstr(ArrVol(0)) Volnum=Replace(Volnum, , )
' Disabilitare la riga successiva anteponendo un apostrofo per impostazioni inglesi
Volnum=Replace(Volnum, ".", ",") Peso=(Volnum*Pspec)/1000 Peso=FormatNumber(Peso, 3, -1, 0, 0) PesoTot=Pesotot+Peso Next
' Modifica la sezione seguente per le scritte che appaiono nell'ultima finestra
x=Rhino.MessageBox("Peso = " & Cstr(PesoTot) & " Kg",0,"Peso Teorico")
'*
Rhino.Command("_SelNone") Rhino.Command("_SetredrawOn")
Else
ExitSub
End If
End Sub
Volumx
}@