@tig said: Try adjusted_normal=face.normal.transform!(group.transformation) where 'group' is the container of the circle-'face' on the end? Sorry for digging up an old topic, but will this work with nested groups/component instances? normal = entity.normal i = 0 path_to_entity.each {|entity| i +=1 break if i >= path_to_entity.length normal = normal.transform! (entity.transformation) } Or does transform represent a transformation from the models axes? (ie, just require normal = normal.transform! (entity.transformation) Just for background, I'm trying to get a model based vector of the face normal as in peterjohnson84's example