Joining more objects breaks fill I'm new to Blender, and am building a flat surface to be extruded later (submarine deck).

I've designed an outline as a Bézier curve which I then converted to mesh. After that, I iteratively created the slots in the deck in the same manner. For convenience, I have placed the slots into groups, as you see, tagged with suffix numbers from 0 going left to right (stern to bow). Groups 0, 1, and 4 have been successfully integrated.

I join a group of slots to the outline, go to edit mode, and apply fill, and it works fine, as you see:


However, I seem to hit a brick wall at this point. When I try to add new slots (in this example, group numbered with suffix 2), the fill seems to break. I've tried different groups and even just tried to add single slots, to see whether one of them is somehow improperly designed, but I can't get past this point:


Is it likely something about the individual slot construction? They were all built from the same template, just adjusted in length....

Note: not sure whether it matters (like in fonts) but the outside outline was a clockwise curve, the two hatches (not joined here) are counterclockwise, and the slots were created using the circle curve feature and not altered.

EDIT: following suggestions below, I was able to achieve near-complete success (all but four slots of several hundred), as follows:


Build a clean main object.


extrude my outline to deeper than needed.
create a 'plank' from a cube, making it longer and wider than needed, but correct height.
select plank and apply boolean modifier 'intersection' using the outline.


For a given group of slots, create and apply a boolean 'difference' modifier in a similar fashion.



in a few cases, some fiddling about was required such as making groups smaller, doing them in a different order, or using 'face' rather than 'fill' before extruding the modifiers (though in most cases it made no difference).

End result:



note: after each application of a difference modifier group, I checked carefully for quirks in solid mode then examined the mesh in detail in wireframe mode; if I saw anything out of the ordinary I backed up and tried something else.

Ultimately, I was able to produce what I wanted and a clean (as far as I can see) topography, except for 4 slots where the boolean differences failed no matter what I did. I understand that these can be fussy, and I tried every trick I could find on the internet with no luck. But I think the last four can be done perhaps at the wireframe level (?) and can open another topic for that.
Here are several ways to do a series of slots on a surface:

Beginning with the grid:


Create a plane, subdivide it:





Extrude its border, round it with an AltShiftS (or give the outer shape you want).





Select the faces you want and extrude down.





Continue to work on the shape.




Knife Project:


Create your surface object.





Create a plane, subdivide itd.





Delete the faces only.





Put your grid object above the surface object. Select the grid then shift select the surface object, then go in Edit mode. Then in the header menu choose Mesh > Knife Project.





The operation has cut the grid on the surface. As you can see and as I explained, if you cut a shape within a shape, you necessarily have an edge connecting the inner shape with the outer border.





Bring some correction so that your surface has a proper topology, i.e. edges that connect to the border edge and quads rather than tris or ngons if possible. Use the join tool (J) to join vertices. Create vertices on the border edge if necessary.





select the faces you want and extrude down.





Continue to work your object.




Arrays and Boolean:


Create an array of cubes with 2 Array modifiers.





Apply the Array modifiers. Delete the cube you want.





Bring your submarine object, give it a Boolean modifier with the cubes object as Object.





Apply the Boolean modifier, bring some corrections to have a clean topology.