====== Weight Objects ====== > **Indietro:** //Torna alla pagina [[rhino:rhinoautov3scriptsanalysis|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 }@