Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

it:rhino:weighobjectsrvb [2015/09/14]
it:rhino:weighobjectsrvb [2020/08/14] (current)
Line 1: Line 1:
 +====== 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
 +
 +}@
 +
 +
 +