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
}@