We can definitely write code that will apply centermarks to pretty much anything in every drawing view that is capable of getting a centermark placed on it. However, if you only want certain specific things to get them, and not others, that is where the complication comes in. We simply need a way to identify the specific geometry that you want to get centermarks, and a way to identify the specific geometry that would normally also get a centermark, but you do not want them to get centermarks, such as the circular pattern of holes in that part. The code we write must be extremely specific or it will not work, so without extremely specific information (from you or a sample drawing), that can be nearly impossible to write the code for.
In the earlier example that used 'Capture Current State', that uses powerful iLogic functionality (that we users do not have the source code for) to actually assign a generic name to the geometry in the model that the selected view geometry represents. Then we can use that name later in the code, to help identify that specific piece of geometry, for things like GeometryIntent, which is used for attaching annotations to view geometry. However, what most folks do who want to automate their drawings is, prepare their models ahead of time, by assigning specific names to all the pieces of geometry that they will want to attach drawing dimensions and / or other drawing annotations to in the drawing later. Then when in the drawing later, they can find those specific pieces of geometry within their views using the names that they assigned to them in the model. In the examples above, we do not know if you have assigned any names to any of that geometry in your model, so we just assumed that you had not done that yet. But that would make situations like this much easier to manage. It gives you more control over being able to find and use specific view geometry for attaching dimensions and annotations to them in your drawing. Without that we are 'flying blind' so to speak. I hope you understand what I mean with all of this.
In a part, you can select a Face, Edge, or Vertex, then right-click, and within the right-click menu will be an option named 'Assign Name...'. That is where you assign names to geometry, so you can easily find it again later by code. We can also assign names to stuff by code, using Attributes, which is what that system uses behind the scenes. But assigning names to geometry should be done by someone who is extremely familiar with what that geometry is, so that the names are most meaningful to them, so they know which ones are which later.
Wesley Crihfield

(Not an Autodesk Employee)