LastCreatedObjects RhinoScript trouble

Hi,

I am trying to generate some curves in a “For” loop, then select them all and add them to a group, but it seems that Rhino.LastCreatedObjects does not work in the same script. I took the example from Help and added a for loop to generate same curves after the circles and yet the 3rd circle is being selected.

Thank you very much!
Cristina

Call Main()
Sub Main()
	Dim arrObjects, strObject, arrCrv(5), i

	Rhino.Command "_-Circle 0,0,0 10"

	Rhino.Command "_-Circle 10,0,0 10"

	Rhino.Command "_-Circle 20,0,0 10"
	
	For i=0 To 2
		arrCrv(i) = Rhino.AddLine(Array(0, i, 0), Array(10, i, 0))
	Next
	
	arrObjects = Rhino.LastCreatedObjects

	If IsArray(arrObjects) Then

		Rhino.SelectObjects arrObjects

	End If 
End Sub

Hi @cristina.b,

the method Rhino.LastCreatedObjects will only get the objects created using Rhino.Command and should be run right after using it.

You might select all the objects easier if you apply them to variables like below:

Option Explicit

Call Main()
Sub Main()
    Dim i, arrLines(2), arrPlane, arrCircles(2)

    For i = 0 To 2
        arrLines(i) = Rhino.AddLine(Array(0, i, 0), Array(10, i, 0))
    Next

    arrPlane = Rhino.WorldXYPlane()
    arrCircles(0) = Rhino.AddCircle(arrPlane, 10)

    arrPlane = Rhino.MovePlane(arrPlane, Array(10, 0, 0))
    arrCircles(1) = Rhino.AddCircle(arrPlane, 10)

    arrPlane = Rhino.MovePlane(arrPlane, Array(20, 0, 0))
    arrCircles(2) = Rhino.AddCircle(arrPlane, 10)

    Rhino.SelectObjects arrLines
    Rhino.SelectObjects arrCircles

End Sub

to get lines and circles into a single variable, you could use Rhino.JoinArrays like this:

    Dim arrObjects
    arrObjects = Rhino.JoinArrays(arrLines, arrCircles)
    Rhino.SelectObjects arrObjects

c.

It works! Thank you very much! :slight_smile: