Client graphics are at a very low level in the system. At the lowest level all they understand is lines, triangles, and textures. At this level, to create what looks like a filled circles you'll need to create a set of triangles that fills the area of the circle and approximates the outer smooth shape. That's what Inventor is doing internally.
Client graphics does support one level of abstraction that makes it a little bit easier than working with triangles and lines call CurveGraphics. The sample code shown previously that draws a circle demonstrates this. In this case the circle geometry is being provided to client graphics and then it's internally converting it to a series of lines for the display. It approximates it with enough lines based on the current size of the circle on the screen so that it always appears smooth. There currently isn't the concept of filling curves in client graphics. However, you can effectively do the same thing by providing a surface instead. This is called SurfaceGraphics and you can provide a solid or surfaces and it will create the appropriate triangles for the display. In this case we want a surface that is a plane trimmed by a circle. The API supports to the ability to create transient surfaces, but I'll be honest and tell you it is one of the more advanced areas of the API. Here's some sample code that demonstrates creating what looks like a filled circle.
Public Sub FilledCircle()
Dim partDoc As PartDocument
Set partDoc = ThisApplication.ActiveDocument
Dim cg As ClientGraphics
On Error Resume Next
Set cg = partDoc.ComponentDefinition.ClientGraphicsCollection.Item("Fill Test")
If Err.Number = 0 Then
' Client graphics already exist, so delete them.
cg.Delete
ThisApplication.ActiveView.Update
Exit Sub
End If
Dim tg As TransientGeometry
Set tg = ThisApplication.TransientGeometry
Dim tBRep As TransientBRep
Set tBRep = ThisApplication.TransientBRep
Dim bodyDef As SurfaceBodyDefinition
Set bodyDef = tBRep.CreateSurfaceBodyDefinition
Dim lumpDef As LumpDefinition
Set lumpDef = bodyDef.LumpDefinitions.Add
Dim shellDef As FaceShellDefinition
Set shellDef = lumpDef.FaceShellDefinitions.Add
Dim pl As Plane
Set pl = tg.CreatePlane(tg.CreatePoint(0, 0, 0), tg.CreateVector(0, 0, 1))
Dim faceDef As FaceDefinition
Set faceDef = shellDef.FaceDefinitions.Add(pl, False)
Dim circ As Inventor.Circle
Set circ = tg.CreateCircle(tg.CreatePoint(0, 0, 0), tg.CreateUnitVector(0, 0, 1), 3)
Dim vert1 As VertexDefinition
Set vert1 = bodyDef.VertexDefinitions.Add(tg.CreatePoint(3, 0, 0))
Dim vert2 As VertexDefinition
Set vert2 = bodyDef.VertexDefinitions.Add(tg.CreatePoint(3, 0, 0))
Dim edgeDef As EdgeDefinition
Set edgeDef = bodyDef.EdgeDefinitions.Add(vert1, vert2, circ)
Dim loopDef As EdgeLoopDefinition
Set loopDef = faceDef.EdgeLoopDefinitions.Add
Call loopDef.EdgeUseDefinitions.Add(edgeDef, False)
Dim body As SurfaceBody
Dim errors As NameValueMap
Set body = bodyDef.CreateTransientSurfaceBody(errors)
Set cg = partDoc.ComponentDefinition.ClientGraphicsCollection.Add("Fill Test")
Dim node As GraphicsNode
Set node = cg.AddNode(1)
Dim surfGraphics As SurfaceGraphics
Set surfGraphics = node.AddSurfaceGraphics(body)
surfGraphics.Color = ThisApplication.TransientObjects.CreateColor(255, 0, 0, 1)
ThisApplication.ActiveView.Update
End Sub