How to offset rotation by X degrees on the Z-axis

I was making a thing where I rotated random parts that spawned into the baseplate to spin around me on my root part’s X and Y axes. They work, but I want them also rotated at an X angle off the Z axis. I want to switch the rotation of some parts in the y-axis to rotate, let’s say, 45 degrees off the Z-axis, too.

For visual people:

Multiply by another rotation cframe?
123123

What do you mean by this?

.12312312312312312321321321321321312321312

it would be something like

Part.CFrame *= CFrame.Angles(0,0,math.rad(angle))

if i remember correctly cframe.angles takes parameters as x,y,z in radians so you need to convert it.

This rotates the part and doesn’t change its angle of rotation

Sorry, you need to do it in one shot like this

Part.CFrame = 
	CFrame.fromAxisAngle(Vector3.xAxis, angleA) * 
	CFrame.fromAxisAngle(Vector3.zAxis, xyAngle) *
	CFrame.new(0, 0, offsetDistance)

Where offsetDistance is the radius you’ve shown and xyAngle is the angle you are using to draw the circle. angleA is the extra angle which should now control the angle of the rotation plane.