@zoltan wrote:
Hey all, I'm banging my head on a very frustrating bug that I can't figure out. I have a simple script that I use to vertically move objects down (or up) to the world-xy plane. I'm slicing objects to then be CNC'd. The script works great for single objects, but once it's a group of objects I can't get it to work. Here's what I have:
import rhinoscriptsyntax as rs objectIds = rs.GetObjects("Select objects to move") def moveObjects( objectsList ): bbox = rs.BoundingBox(objectsList, view_or_plane=None, in_world_coords=True) objectsMoved = 0 if bbox: bottomPoint = bbox[0] zHeight = bottomPoint[2] rs.MessageBox( 'SendToXYPlane: zheight %f' % zHeight ) idsMoved = rs.MoveObjects(objectsList, [0,0,-zHeight]) objectsMoved += len( idsMoved ) return objectsMoved if objectIds: objectsMoved = 0 groupsMoved = 0 groupsToMove = [] for objectId in objectIds: objectGroups = rs.ObjectGroups( objectId ) if objectGroups: for group in objectGroups: if group not in groupsToMove: groupsToMove.append( group ) else: objectsMoved += moveObjects( [objectId] ) for group in groupsToMove: groupsMoved += 1 objectsMoved += moveObjects( rs.ObjectsByGroup( group ) ) rs.MessageBox( 'SendToXYPlane: Moved %i object(s) in %i group(s) to WorldXY plane' % (objectsMoved, groupsMoved) ) else: rs.MessageBox( 'SendToXYPlane: Error, no objects moved' )
The problem seems to be that the rs.MoveObjects command fails if the objects are in a group. I've retooled the script so it tries to move all the objects in the group at once, but it still fails. I can't find any info on how I should move groups otherwise, but is there some other command to do this?
I'm running 5.2.1 on a Mac
Posts: 3
Participants: 2