Fillet Problem All  1-20

 From: Sun 9 Mar 2011  (1 of 20)
 I have an object and some edges seem to fillet fine, but others just refuse to do anything when I apply a fillet to them. These edges will fillet But these won't. Anyone have an idea how to make it work, or am I just out of luck? Thanks. Attachments:

 From: Michael Gibson 9 Mar 2011  (2 of 20)
 4096.2 In reply to 4096.1 Hi Sun, there are some little slivery surfaces in the side walls of those holes, like here: Having little slivery fragments like that is not good for filleting - it makes for little fragmented fillet pieces trying to be constructed, and it's particularly difficult for it if the little fragmented pieces are not smooth with one another because corner patch pieces are created by the fillter where 2 fillet pieces meet at a crease. That's particularly bad if the crease is only very shallow like 5 or 10 degrees tangent deviation because it makes for a tiny corner piece as well. So probably those holes will need to be remodeled to be a cleaner more simple surface structure that is just made up of one surface instead of being fragmented into numerous slivers like that. If you can post your model I can demonstrate what I mean by that. - Michael Attachments:

 From: Sun 9 Mar 2011  (3 of 20)
 4096.3 In reply to 4096.2 The file is pretty big, but I'll try and clean it out a bit and attach it... Couldn't do it without compressing it so I left extra things in the file that will give some idea of how it was constructed. Attachments:

 From: Michael Gibson 9 Mar 2011  (4 of 20)
 4096.4 In reply to 4096.3 Hi Sun, so it looks like the holes that won't fillet are formed from lofts between sets of these 2 curves like this? The problem is that those curves are made up of several segments, if you select one of them and run Edit > Separate, you can then select the various segment pieces like this: How were these curves created, did they come from 2 surfaces being intersected with each other? If so then the surface intersector did not do a great job with that and it needs some cleanup on it before using it for construction. The easiest way to clean it up is to run the Rebuild command on it: http://moi3d.com/2.0/docs/moi_command_reference10.htm#rebuild Running rebuild on those curves using a tolerance of 0.001 (and check "Delete input objects") will make a new version of them that is all one single segment instead of made up of multiple sub segments. Those will then correspondingly create just a single surface from the loft instead of multiple surface fragments, and that should help a lot with filleting. You probably want to do that with the other ones that were actually filleting as well since having those hole side walls just as single surfaces will make for a cleaner and lighter model overall. - Michael Attachments:

 From: Michael Gibson 9 Mar 2011  (5 of 20)
 4096.5 In reply to 4096.3 Hi Sun, here are some cutting surfaces that have been simplified as described above. I have not had a chance yet to test cutting your main piece with these and doing the filleting, but it should have a much better chance of working with these as the side wall cuts instead of the other previous ones. You should hopefully be able to select these cutting pieces, then do a Transform > Array > Circular to replicate them, then select your base ring solid (when it was plain without any cuts in it yet), and also these pieces and do a Boolean Merge operation to do all the cutting. - Michael Attachments:

 From: Sun 9 Mar 2011  (6 of 20)
 4096.6 In reply to 4096.4 Yes, the basis for those curves was originally a surface intersection. The surface intersection curve was then scaled to create two other curves (a bigger one outside the ring and one smaller one inside the ring) and then those two curves where used to create the loft which was then used to boolean out the holes. I'll experiment with the 'rebuild' as you've suggested and see what I can do. Thanks! *edit* Oh wow, I just saw your 2nd post with the file attached. Thanks again!

 From: Michael Gibson 9 Mar 2011  (7 of 20)
 4096.7 In reply to 4096.6 Hi Sun, so Transform > Array > Circular with 24 items should work to replicate those surfaces into the pattern you want - it's easier to replicate the surfaces that way than to have a whole lot of separate curves created that you then need to loft in pairs. So then take your main uncut ring base object and select it and also select all the cutting surface objects too and run Construct > Boolean > Merge - that will maybe crunch away for a minute or two and slice up everything. Then you can select the main body piece you want to keep, and do a Select > Invert to flip the selection and delete all the little pieces. That's how I got the attached 3DM model version. By the way, it's handy to put invert selection on a keyboard shortcut for I so you can just hit I to flip the selection, to do that go to Options > Shortcut keys and add in a new entry, put in I for the key and for the command part paste in the following: script:moi.geometryDatabase.invertSelection(); So with this simplified surface structure it does seem to fillet much better, like this: So the tricky part is that the surface intersection command produced some curves that were kind of a bit messy to be used directly for creating new surfaces off of since they were made up of several segments. I think that in the future I'm going to automatically run the results of the intersection through that Rebuild process but for now you'll need to run them through Rebuild as an extra manual step in order to get a more simple curve structure that will then create some more simple surface structure when you build with them. Hope this helps! - Michael Attachments:

 From: Sun 10 Mar 2011  (8 of 20)
 4096.8 In reply to 4096.7 I'll try as you recommend, except I want to keep all the little pieces too. Thanks for all the additional tips too. I didn't know about boolean 'merge' so I was previously using multiple operations to cut the holes and generate the intersection pieces. Maybe one of these days I'll learn to RTFM instead of just diving right in. lol.

 From: Michael Gibson 10 Mar 2011  (9 of 20)
 4096.9 In reply to 4096.8 Hi Sun, yeah boolean merge is convenient if you want to slice a solid up into multiple pieces and keep all the pieces, you just select everything all at once before running it. So just skip the part in the above steps about doing the invert selection and the delete to keep all the pieces around, let me know if you have any problems getting that. - Michael

 From: Sun 10 Mar 2011  (10 of 20)
 4096.10 In reply to 4096.9 I tried it and it certainly cleaned up the curves and resultant surfaces, but some of the edges still won't fillet. Attachments:

 From: Michael Gibson 10 Mar 2011  (11 of 20)
 4096.11 In reply to 4096.10 Hi Sun, what fillet radius are you trying to use? Since this piece has rotational symmetry, it should be possible to replicate one successfully filleted piece around and trim it into place, if you can let me know what fillet radius you want I can get it on the model that way. One other thing that you may be running into is also related to short fillet segments - when you have 2 curved surfaces meeting each other instead of having one curved and one straight, then it is actually not so great to have edges between them that come to a single common point like this: When each side of an edge like that is a curved surface, the fillets will actually get constructed in some separate segments in a case like that, see this previous post for an illustration: http://moi3d.com/forum/index.php?webtag=MOI&msg=4023.10 That's because fillet surfaces are created at an offset of the current existing surfaces, and when you've got curved surfaces on either side it means that the fillet pieces on either side of that point where the edges touch each other in the original surfaces will be offset slightly, leaving a kind of small gap to be filled. Small gap situations do tend to be a complex area to handle where the filleter can get confused more easily than when it deals with larger fillet sections. If those side pieces had a "seam edge" that was not in exactly the same spot as the edge on the outer ring surface, that would actually be easier to fillet. That can be done by dragging the seam point markers that show up in the Loft command when creating the loft initially - when you're in the loft command inside the viewport there will be 2 points that show up that you can drag around to control the starting connection point between 2 closed loft profiles. But I think it should be possible to replicate any one successful fillet piece around to finish off your piece instead of doing any changes to it, if you can let me know what fillet radius you want I can make that for you. - Michael Attachments:

 From: Michael Gibson 10 Mar 2011  (12 of 20)
 4096.12 In reply to 4096.10 Hi Sun, so another note - if you can eliminate these edges completely: That would be another simplification and cleaning step for the model, and would also simplify the fillet calculations quite a bit as well since there would be fewer edges colliding with one another throughout the model. It looks like that edge is a juncture between 2 revolved pieces: But this shape could be more simply and cleanly formed as just one larger revolved surface there instead of 2 identical ones joined together. You can get that simpler shape there by deleting the existing surfaces there, drawing in a vertical line segment, doing a revolve (turn end caps off), and then joining the revolved surface into the other pieces, that's what I did to get the base shape in the attached 3DM file. Having that as the base model will reduce quite a lot of edge junctures and small fillet pieces that the fillter would otherwise have to deal with. As you've seen, filleting tends to be a rather sensitive area - filleting has a sequence of several complex operations that it has to do in a row, like offsetting surfaces, intersecting those offsets, building fillet pieces and potentially extending them and intersecting the extended pieces with each other, building corner patches between areas with kinks, ... it can run into problems if there is difficulty in any one of those steps. So the more simple structure (generally meaning the fewest edges and faces that are necessary) that you give it to work with, the better. - Michael

 From: Sun 10 Mar 2011  (13 of 20)
 4096.13 In reply to 4096.12 Wow, I can see now that I need to consider my construction methods a bit more carefully. I'll do some rebuilding and see how it works out. Oh, I was trying to apply a 0.05 fillet. But I'm not sure if that will be the final or what. My intent is to try and export into modo and sub-d it so I'll probably have to do a few experiments to find a combination of settings that works.

 From: Michael Gibson 10 Mar 2011  (14 of 20)
 4096.14 In reply to 4096.13 Hi Sun, I've attached a new "fully cleaned" 3DM file version that seems to be able to fillet everything ok at radius = 0.05, giving this: I've attached the base unfilleted version so you will be able to apply other fillet values if you want. Here's a tip on building the selection for the fillet more easily - start by zooming in a bit and selecting just one of the side-wall faces of the model like this one: With that one face selected it will make window selection target faces also, and with just a couple of strategic window selects you can get all the other side wall faces. Do one window select like this: And another window select like this: And then that will end up with all the side wall pieces selected like this: You can now run fillet directly after that last selection - when you give fillet a face selection all the edges belonging to those faces will be targeted for selection. In some cases like this it can be more convenient to select faces for the input to fillet rather than edges, since there are kind of fewer face pieces than edges to wrangle with. Note that on the window selection steps you want to start the window on the let and drag it towards the right. By dragging in the left-to-right direction, only things completely contained inside the window will be targeted for selection. If you start on the right-hand side and drag towards the left you will get what is called a "crossing" window (the outline box will show as dashed instead of solid in crossing mode) which grabs anything that intersects the window even just partially. That crossing mode can be useful in other situations but for this one you want to do 2 non-crossing window selections because that then avoids the wider faces at the top and bottom from being selected. When you then do the fillet it will crunch away for possibly a few minutes but then seems to get everything done ok this time. Hope this helps! - Michael

 From: SteveMacc (STEVEH) 10 Mar 2011  (15 of 20)
 4096.15 In reply to 4096.13 Don't try and apply sub-d in Modo. There is no need and it won't work properly.

 From: Sun 11 Mar 2011  (16 of 20)
 4096.16 In reply to 4096.14 Thank you for all the help and great tips Michael. That looks great now.

 From: Sun 11 Mar 2011  (17 of 20)
 4096.17 In reply to 4096.15 SteveMacc, Yeah, getting a meshed model that can be sub-d is tricky. The problem with leaving it as plain polygons is that while the vertex normals will smooth the look of the surfaces, you can see the polygonal shape on the edges sometimes if you view them from the right angle. Right now I'm experimenting with getting meshes from MOI into MODO. Hopefully if I build the model right in MOI I can avoid having to sub-d, but I'm not sure that will always be possible. Right now this model looks good when I render it whether I sub-d it or not, so I'm inclined not to.