Background
Over the last month, I have tried to answer my own question and just can't. What I could really use help with is directions or resources to fix the issue that exists.
The Problem
I have a complex geometry where many (approximately 300) odd shaped pores exist inside of 10mm circle and outside of a smaller circle of 3.5mm. My goal is to fill the whole area inside of the circle and then delete the faces inside those odd shapes. So far, all I can figure out is...
*select using a polygon which looks like,
selection=Selection.Create(Curve26,Curve...,
I think then I would merge faces with the outside circle and those faces already filled and use select and facets to delete? Please see my example code for a far simpler example where I do just this.
The issue I run into with this is, because it is really complex and filled with tons of shapes, it is hard to merge everything well.
I feel like the easiest way would be to sequentially create faces, merge them, and then delete only the relevant ones.
If anyone could help, that would be awesome. I really need to scale a solution to this larger problem.
Example Code
# Sketch Circle
origin = Point2D.Create(MM(0), MM(0))
result = SketchCircle.Create(origin, MM(5.3851648071345))
baseSel = SelectionPoint.Create(CurvePoint35)
targetSel = SelectionPoint.Create(DatumLine2)
result = Constraint.CreateCoincident(baseSel, targetSel)
baseSel = SelectionPoint.Create(CurvePoint35)
targetSel = SelectionPoint.Create(DatumLine3)
result = Constraint.CreateCoincident(baseSel, targetSel)
# EndBlock
# Sketch Circle
origin = Point2D.Create(MM(0), MM(0))
result = SketchCircle.Create(origin, MM(20.6155281280883))
baseSel = SelectionPoint.Create(CurvePoint36)
targetSel = SelectionPoint.Create(DatumPoint2)
result = Constraint.CreateCoincident(baseSel, targetSel)
baseSel = Curve19
targetSel = Curve20
result = Constraint.CreateConcentric(baseSel, targetSel)
# EndBlock
# Sketch Line
start = Point2D.Create(MM(-13), MM(11))
end = Point2D.Create(MM(-13), MM(7))
result = SketchLine.Create(start, end)
curveSelList = Curve21
result = Constraint.CreateVertical(curveSelList)
# EndBlock
# Sketch Line
start = Point2D.Create(MM(-13), MM(7))
end = Point2D.Create(MM(-5), MM(7))
result = SketchLine.Create(start, end)
baseSel = SelectionPoint.Create(CurvePoint37)
targetSel = SelectionPoint.Create(CurvePoint38)
result = Constraint.CreateCoincident(baseSel, targetSel)
# EndBlock
# Sketch Line
start = Point2D.Create(MM(-5), MM(7))
end = Point2D.Create(MM(-4), MM(10.7320508075689))
result = SketchLine.Create(start, end)
baseSel = SelectionPoint.Create(CurvePoint39)
targetSel = SelectionPoint.Create(CurvePoint40)
result = Constraint.CreateCoincident(baseSel, targetSel)
# EndBlock
# Sketch Line
start = Point2D.Create(MM(-4), MM(10.7320508075689))
end = Point2D.Create(MM(-13), MM(11))
result = SketchLine.Create(start, end)
baseSel = SelectionPoint.Create(CurvePoint41)
targetSel = SelectionPoint.Create(CurvePoint42)
result = Constraint.CreateCoincident(baseSel, targetSel)
baseSel = SelectionPoint.Create(CurvePoint43)
targetSel = SelectionPoint.Create(CurvePoint44)
result = Constraint.CreateCoincident(baseSel, targetSel)
# EndBlock
# Sketch Line
start = Point2D.Create(MM(10), MM(11))
end = Point2D.Create(MM(6.53589838486224), MM(5))
result = SketchLine.Create(start, end)
# EndBlock
# Sketch Line
start = Point2D.Create(MM(6.53589838486224), MM(5))
end = Point2D.Create(MM(14), MM(3))
result = SketchLine.Create(start, end)
baseSel = SelectionPoint.Create(CurvePoint45)
targetSel = SelectionPoint.Create(CurvePoint46)
result = Constraint.CreateCoincident(baseSel, targetSel)
# EndBlock
# Sketch Line
start = Point2D.Create(MM(14), MM(3))
end = Point2D.Create(MM(14), MM(8))
result = SketchLine.Create(start, end)
baseSel = SelectionPoint.Create(CurvePoint47)
targetSel = SelectionPoint.Create(CurvePoint48)
result = Constraint.CreateCoincident(baseSel, targetSel)
# EndBlock
# Sketch Line
start = Point2D.Create(MM(14), MM(8))
end = Point2D.Create(MM(10), MM(11))
result = SketchLine.Create(start, end)
baseSel = SelectionPoint.Create(CurvePoint49)
targetSel = SelectionPoint.Create(CurvePoint50)
result = Constraint.CreateCoincident(baseSel, targetSel)
baseSel = SelectionPoint.Create(CurvePoint51)
targetSel = SelectionPoint.Create(CurvePoint52)
result = Constraint.CreateCoincident(baseSel, targetSel)
# EndBlock
# Sketch Line
start = Point2D.Create(MM(9), MM(-4))
end = Point2D.Create(MM(6), MM(-11))
result = SketchLine.Create(start, end)
# EndBlock
# Sketch Line
start = Point2D.Create(MM(6), MM(-11))
end = Point2D.Create(MM(15), MM(-9))
result = SketchLine.Create(start, end)
baseSel = SelectionPoint.Create(CurvePoint53)
targetSel = SelectionPoint.Create(CurvePoint54)
result = Constraint.CreateCoincident(baseSel, targetSel)
# EndBlock
# Sketch Line
start = Point2D.Create(MM(15), MM(-9))
end = Point2D.Create(MM(16.2589844124411), MM(-5))
result = SketchLine.Create(start, end)
baseSel = SelectionPoint.Create(CurvePoint55)
targetSel = SelectionPoint.Create(CurvePoint56)
result = Constraint.CreateCoincident(baseSel, targetSel)
# EndBlock
# Sketch Line
start = Point2D.Create(MM(16.2589844124411), MM(-5))
end = Point2D.Create(MM(9), MM(-4))
result = SketchLine.Create(start, end)
baseSel = SelectionPoint.Create(CurvePoint57)
targetSel = SelectionPoint.Create(CurvePoint58)
result = Constraint.CreateCoincident(baseSel, targetSel)
baseSel = SelectionPoint.Create(CurvePoint59)
targetSel = SelectionPoint.Create(CurvePoint60)
result = Constraint.CreateCoincident(baseSel, targetSel)
# EndBlock
# Sketch Line
start = Point2D.Create(MM(-11), MM(-3))
end = Point2D.Create(MM(-12), MM(-9))
result = SketchLine.Create(start, end)
# EndBlock
# Sketch Line
start = Point2D.Create(MM(-12), MM(-9))
end = Point2D.Create(MM(-5), MM(-12.1845262184354))
result = SketchLine.Create(start, end)
baseSel = SelectionPoint.Create(CurvePoint61)
targetSel = SelectionPoint.Create(CurvePoint62)
result = Constraint.CreateCoincident(baseSel, targetSel)
# EndBlock
# Sketch Line
start = Point2D.Create(MM(-5), MM(-12.1845262184354))
end = Point2D.Create(MM(-5), MM(-5))
result = SketchLine.Create(start, end)
baseSel = SelectionPoint.Create(CurvePoint63)
targetSel = SelectionPoint.Create(CurvePoint64)
result = Constraint.CreateCoincident(baseSel, targetSel)
# EndBlock
# Sketch Line
start = Point2D.Create(MM(-5), MM(-5))
end = Point2D.Create(MM(-11), MM(-3))
result = SketchLine.Create(start, end)
baseSel = SelectionPoint.Create(CurvePoint65)
targetSel = SelectionPoint.Create(CurvePoint66)
result = Constraint.CreateCoincident(baseSel, targetSel)
baseSel = SelectionPoint.Create(CurvePoint67)
targetSel = SelectionPoint.Create(CurvePoint68)
result = Constraint.CreateCoincident(baseSel, targetSel)
# EndBlock
# Fill
selection = Curve20
secondarySelection = Selection.Empty()
options = FillOptions()
result = Fill.Execute(selection, secondarySelection, options, FillMode.Layout, Info10)
# EndBlock
# Fill
selection = Selection.Create(Curve21, Curve22, Curve23, Curve24, Curve25, Curve26, Curve27, Curve28, Curve29, Curve30, Curve31, Curve32, Curve33, Curve34, Curve35, Curve36)
secondarySelection = Selection.Empty()
options = FillOptions()
result = Fill.Execute(selection, secondarySelection, options, FillMode.Layout, Info11)
# EndBlock
# Fill
selection = Curve19
secondarySelection = Selection.Empty()
options = FillOptions()
result = Fill.Execute(selection, secondarySelection, options, FillMode.Layout, Info12)
# EndBlock
# Solidify Sketch
mode = InteractionMode.Solid
result = ViewHelper.SetViewMode(mode, Info13)
# EndBlock
# Create New Face
selection = Face1
result = ReplaceFacesWithFace.Execute(selection)
# EndBlock
# Delete Selection
selection = Face3
result = Delete.Execute(selection)
# EndBlock
# Delete Selection
selection = Face4
result = Delete.Execute(selection)
# EndBlock
# Delete Selection
selection = Face5
result = Delete.Execute(selection)
# EndBlock
# Delete Selection
selection = Face2
result = Delete.Execute(selection)
# EndBlock
# Set Sketch Plane
sectionPlane = Plane.PlaneXY
result = ViewHelper.SetSketchPlane(sectionPlane, Info14)
# EndBlock