View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000936 | PartDesign | Bug | public | 2013-01-01 07:41 | 2014-03-02 11:42 |
| Reporter | ghia | Assigned To | |||
| Priority | normal | Severity | major | Reproducibility | have not tried |
| Status | closed | Resolution | no change required | ||
| Product Version | 0.12 | ||||
| Fixed in Version | 0.14 | ||||
| Summary | 0000936: Fillet and chamfer destroys faces etc | ||||
| Description | Make a banjo-like shape. (see file in addendum) The end of the rectangle is thickend at the end with an additional pad, sketched on top surface. Make a union of the two shapes. Now select the top round edge (fusion.edge14) and the two side edges (fusion.edge13 and 15) and click fillet. Result is that Face7 disappears. Chamfering has the same effect/defect. (In fact it is only fusion.edge13 that fails, no need to select the others) | ||||
| Additional Information | Other observations: -It surprises me that after the union, you still see the two composing pads. It would seem more logical that edge8, 10 and 12 would be no longer there. - Also filleting with the icon from the Part workbench has the same defect. - I wonder why the user interface is different for fillet from 'part design', while fillet from 'part' and chamfer from 'part design' has the same. - When edges are selected before fillet from 'part' and chamfer from 'part design' are activated, the selection is not assigned to the checkboxes. - Making a Fillet (part design) to union.edge9 or to 18 extends the fillet to the other. (applies also to fillet from 'part' and chamfer from 'part design') - Weird is also that the fillet from part links in at the top in tree view, while chamfer en fillet from part design links in at the end. - Using a different radius in fillet from part eg 1 to 2 mm or 0 to 1 mm gives various failures and/or face deletions and/or unexpected forms of the roundings. (several (or all) edges) - Annoying is that in data you can not see, to which face a sketch is made or assigned to with the menu 'part design - map sketch to face' - Annoying is that the pocket insists on a face. Problem is when I try to make the same shape by having only Pad (and not Pad1) with the double tickness and then cutting away the volume (empty space now above Face6) by a rectangle in the yz plane, I can not place it at the side of the cylinder. It insists on having it on eg Face7. The cut leaves then a segment of the circle standing to the right. - Annoying is also that a sketch is mirrored around the axis, when applied to an opposite face. Suppose I want a round hole in the middle of the circle part of 2 mm deep (not trough) If I draw it on eg Face7 and then decide to have it on the bottom Face11 and use menu 'part design - map sketch to face' to assign it to, then the circle of the sketch is mirrored and negative measures are needed to make the hole go in the shape again. A sketch should stay in its quadrant and only be displaced by the distance between the two planes. It is weird that the measurement taken from a point to the axis must have a different sign while still pointing in the same direction of that axis depending on the face selected. eg when you have a cube (file new; part box) and make sketch with a circle on eg face2 for having a pocket, it's beyond me, that when you select another face from the origin as face1 or face5, that suddenly the circle of the sketch is outside the cube. | ||||
| Tags | No tags attached. | ||||
| FreeCAD Information | |||||
|
2013-01-01 07:41
|
|
|
|
Other observation is that filleting extends to non-selected edges. This can be seen by a new box ('part-box) and set it to axometric view. Now select edge2 (top left of top face) and fillet from part design. Select the ooposite parallel side of the top face (fillet.edge15) and fillet from part design again. So far, so good. You have now a cube with 2 paarallel sides rounded. Now select the front connecting side on the top face fillet001.edge1. Make again a fillet from part design for this edge. Result is that you don't get 1 additional edge filletted but 5!!! The operation is extended, not only to the already in the other dimension rounded corners, which is understandble, but also to the 2 vertical edges of the left front face1 (fillet001.edge4 and 5). The same happens when you select an edge of a round corner (fillet001.edge2 or 3) or if you select 1 of the front vertical edges (fillet001.edge4 or 5). I believe this overzealous extension of the selection is probably the reason why the filleting gets in the troubles described above. Altough it is advantougeous that the selection extends to the rounded corners, it limits the design possibilities and I should see more in a requirment for the user to select also the rounded edges (fillet001.edge2 or 3) or that the task interface (where the radius is input) includes a checkbox to do or not the extension. But in anyway this extension should be limited to the rounded corners and not go beyond to edges of corners in other directions. In a way through the cascading, the resulting edges are 'inherited' from each other (fillet001.edge1 => fillet.edge5 => box.edge10) When a selection has to be extended, it would be nice that these ancestors, could be used to explain and select in the user interface, which kind of extension is needed. Another way to view it would be that the bare surface resulting from the unextended selected edge (which in fact is fillet002.face5) should be extended in the direction of its edge (up to the bounding box?) and then intersected with the existing roundings (fillet001.face3 and 4), giving the required result. Selecting the 3 edges at once in the beginning on the bare box (box.edge2, 6 and 10) gives the desired result of 3 filletted edges. When the filleting of the 3 edges is cascaded, this should lead to the same result when extend is selected, but to a fillet (fillet002.face5) between 2 unaltered rounded faces (fillet001.face3 and 4) when not. The resulting shape may look unfinished, but can be used as such, should a designer like to have it like that for some purpose. If not, it can be corrected by a new fillet on the rounded edges (fillet001.edge2 or 3). When you have the bare box and nothing selected, you can still press fillet. A popup error message comes and say 'Select an edge, face or body. Only one body is allowed'. That is OK. The problem start when you try to fillet on a body (box) or a face (box.face6). You get a Fillet object in error (with red excamation point) and no longer a display of the object and a message in the status and report view that say 'No edges specified' Altough the previous error messages lets assume that the fillet function is clever enough to use an entire face or shape and round all belonging edges, it will insist that the user has to select all the necessary edges of a face or shape. A useless Fillet object is created, that then has to be cancelled or deleted, since it can not be corrected. A popup error message, like in the case of no selection, and no fillet object created (or automatically removed after confirmation) would be a better way to go. The same happens when you select a perfect filleted edge (eg fillet002.edge16) and try to fillet it again. Then also a useless fillet object (fillet003) is created and the shape display vanishes. The error message is 'There are no suitable edges for chamfer or fillet'. Should also be a popup. Sometimes I observe a discrepancy between the selections in the shape display and in the selection view. Eg cancelling the last operation removes the edge fillet002.edge16 from the selection view, but it stays highlighted in green in the shape view. It is unselected, because you can not retry the fillet operation, which than says that nothing is selected. The same discrepancy happens when a fillet in the cascade is deleted as eg fillet001. The target edge (fillet.edge15) lights then up in the shape view, but not in the selection view. I have seen in a certain operation that also an object was selected (altough not in selection view) and could be used in a following operation, but don't remember the exact circumstances to reproduce. Also once that after some operation the object was selected in selection view, but not to see in shape view (no highlighting). If you undo the delete of the second fillet object fillet001, the object is added at the end and not in its former place between fillet and fillet002. Even with the deletion of fillet001, the last fillet object looks still the same as if there were all 3 fillets done. When doing refresh you get an error message of 'No object linked' but that is all, the shape stays like it was with all 3 edges filleted. It stays usable for further operations, just as the deletion of fillet001 never took place, apart from the red exclamation mark and the error message in status and report view. But the intended operation of deleting the fillet on the second edge (fillet.edge15) is not undone. I suppose that the fillet002 is in trouble because the edge (fillet001.edge1) where it was created on, belonged to the deleted fillet001. A true cascade should then fall back to the ancestor of this edge in the previous object fillet (from fillet001.edge1 to fillet.edge15). Else a repair function could be offered by letting the user do a selection of a suitable edge(s) to link on for replacing the deleted starting object. As it is now, all subsequent operations in a cascade must be deleted an executed again. In this case it is only fillet002, but one can imagine that a lot more things could followed in the cascade, which then result in a total redo of all operations of the design. Should one try to eliminate the second rounding (fillet001) by setting its radius to 0, you can not. It results in an error 'BRep_API: command not done' Even the slightest possible input (=0,01?) gives an terrible result on the corner. |
|
|
A bug report is for reporting bugs, or asking for a new functionality. Not for writing general comments about the software! And 99.9% of your comments don't even relate to the actual bug!!! The way you modeled your "banjo" just shows you don't understand how the Part Design workflow works. You should *not* have fused Pad and Pad001. Pad and Pad001 are not two separate objects, Pad001 represents the same solid in a new state. Fusing both is why your fillet fails. There is no problem if you only apply the fillet on Pad001 as you should. For the rest of your comments, please use the forum. http://forum.freecadweb.org/viewforum.php?f=3 |
|
|
Using OCC 6.6 the filleting now works. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2013-01-01 07:41 | ghia | New Issue | |
| 2013-01-01 07:41 | ghia | File Added: banjo.FCStd | |
| 2013-01-03 18:44 | ghia | Note Added: 0002791 | |
| 2013-01-06 16:42 | normandc | Note Added: 0002811 | |
| 2014-03-02 11:42 | wmayer | Note Added: 0004348 | |
| 2014-03-02 11:42 | wmayer | Status | new => closed |
| 2014-03-02 11:42 | wmayer | Resolution | open => no change required |
| 2014-03-02 11:42 | wmayer | Fixed in Version | => 0.14 |
FreeCAD