is there any way for dynamic subtract in solidworks?
Would this work?
Create your parts as you have done. In this case green is the one we want to keep. Red is the one we want to rotate and remove.
Use a Curve Driven Pattern to create duplicates of the red part. In this case I've only added five, but adding more much be done.
The part I'm not sure of is the red part is in the same orientation, and it is more like the green part is rotating around the red one.
Does it matter if red orbits green, or if green orbits red? I think the same result is obtained.
Here are 360 patterns
It is like a giant poppy flower
Subtract 360 bodies from the green body
I have no idea why it turned grey instead of staying green, but here is the result.
A section view through the model shows this as the result.
Give it a try and see if the results look good in your example.
I don't think there is a limit on the number of patterns you can do. if I type in 3600, it just tells me that it may take a long time to create them.