VBScript if else

Option Explicit
'Script written by 
'Script copyrighted by 
'Script version martes, 11 de agosto de 2009 9:37:31

' Procedimiento que imprime los dos puntos introducidos por el usuario
' por orden de mas cercano al origen.
Sub Main()
	Dim punto1, punto2, d1, d2
	
	punto1 = Rhino.GetPoint("Punto 1: ")
	punto2 = Rhino.GetPoint("Punto 2: ")
	
	d1 = (punto1(0)^2 + punto1(1)^2 + punto1(2)^2)^0.5
	d2 = (punto2(0)^2 + punto2(1)^2 + punto2(2)^2)^0.5
	
	If d1 > d2 Then
		Rhino.Print punto2(0) & ", " & punto2(1) & ", " & punto2(2)
		Rhino.Print punto1(0) & ", " & punto1(1) & ", " & punto1(2)
	Else
		Rhino.Print punto1(0) & ", " & punto1(1) & ", " & punto1(2)
		Rhino.Print punto2(0) & ", " & punto2(1) & ", " & punto2(2)
	End If
End Sub

' Lo mismo con el anterior pero con las funciones de la libreria.
Sub Main2()
	Dim punto1, punto2, d1, d2, puntoOrigen
	
	punto1 = Rhino.GetPoint("Punto 1: ")
	punto2 = Rhino.GetPoint("Punto 2: ")
	puntoOrigen = Array(0, 0, 0)
	
	d1 = Rhino.Distance(puntoOrigen, punto1)
	d2 = Rhino.Distance(puntoOrigen, punto2)
	
	If d1 > d2 Then
		Rhino.Print Rhino.Pt2Str(punto2)
		Rhino.Print Rhino.Pt2Str(punto1)
	Else
		Rhino.Print Rhino.Pt2Str(punto1)
		Rhino.Print Rhino.Pt2Str(punto2)
	End If
	
End Sub

' Lo mismo que el anterior pero con 3 puntos.
' Además añade una polilinea que empezando en el origen pasa por
' los 3 puntos.

Sub Main3()
	Dim punto1, punto2, punto3, auxPunto, d1, d2, d3, auxD, po
	
	
	punto1 = Rhino.GetPoint("Punto 1: ")
	punto2 = Rhino.GetPoint("Punto 2: ")
	punto3 = Rhino.GetPoint("Punto 3: ")
	po = Array(0, 0, 0)
	
	d1 = Rhino.Distance(po, punto1)
	d2 = Rhino.Distance(po, punto2)
	d3 = Rhino.Distance(po, punto3)
	
	
	If d3 < d2 Then
		' Intercambiamos las distancias
		auxD = d3
		d3 = d2
		d2 = auxD
		' Intercambiamos los puntos correspondientes
		auxPunto = punto3
		punto3 = punto2
		punto2 = auxPunto
	End If
		
	If d2 < d1 Then
		auxD = d2
		d2 = d1
		d1 = auxD
		auxPunto = punto2
		punto2 = punto1
		punto1 = auxPunto
	End If
	
	If d3 < d2 Then
		' Intercambiamos las distancias
		auxD = d3
		d3 = d2
		d2 = auxD
		' Intercambiamos los puntos correspondientes
		auxPunto = punto3
		punto3 = punto2
		punto2 = auxPunto
	End If
	
	Rhino.Print Rhino.pt2str(punto1)
	Rhino.Print Rhino.Pt2Str(punto2)
	Rhino.print Rhino.Pt2Str(punto3)
	
	Rhino.AddLine po, punto1
	Rhino.AddLine punto1, punto2 
	Rhino.AddLine punto2, punto3
	
End Sub

Mas ejemplos de if - else. Taras siento el retraso, la próxima vez los colgaré al acabar la clase.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *