View Issue Details

IDProjectCategoryView StatusLast Update
0002157PartDesignBugpublic2017-05-30 21:47
Reporterdrei Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
PlatformGNU/LinuxOSArch LinuxOS Version64 bit
Fixed in Version0.17 
Summary0002157: Pad results in a triangle instead of a trapezoid
DescriptionIn the sttached file there are two sketches, the hidden sketch contains the profile of a trapezoid with a redundant constraint. Extruding the aforementioned sketch before or after rmeoving the redundant constraint results in a triangle instead of the desired shape.

gdb, Python console and Report View fail to report any problem.
Steps To ReproduceMode 1:

Open the file.
Select the hidden Sketch and toggle its visibility.
Observe the trapezoid shape.
Pad it an arbitrary distance.

Mode 2:
Open the file.
Select the hidden Sketch and toggle its visibility.
Edit the sketch to remove the redundant constraint and exit it.
Observe the trapezoid shape.
Pad it an arbitrary distance.
Additional InformationRelate issue: 0002156
TagsNo tags attached.
FreeCAD Information

Relationships

related to 0002156 closedabdullah Sketcher Visualization fails to represent sketch properly 

Activities

drei

2015-06-13 19:55

reporter  

bugs_Basic_Part_01.FCStd (25,565 bytes)

Kunda1

2017-04-28 02:09

administrator   ~0008788

@NormandC wrote:
The sketch contains one line too many. This is shown in the Elements list widget, which may not have existed back in 2015. Delete the 5th line and the pad works correctly.

Therefore I'm not sure this is a valid bug. I don't know if it's realistic for the PartDesign tools to check for redundant geometry in the sketch before executing the 3D feature. If that was, the report would need to be rewritten.

Kunda1

2017-04-28 02:10

administrator   ~0008789

@wmayer can you weigh on this ticket?

abdullah

2017-05-30 21:38

manager   ~0009199

@kunda1

As per current design, when in the recompute chain there is a "problem" in one object, control is returned to the recompute loop. Depending on the type of "problem" it may happen that the recompute is stop right away, or that it continues with the next feature. In any case the object where the recompute was interrupted remains "not fully recomputed". Generally a error is shown in the tree.

In the specific case of the sketcher, redundant and conflicting constraints are a reason to return control see:


    if (lastDoF < 0) { // over-constrained sketch
        std::string msg="Over-constrained sketch\n";
        appendConflictMsg(lastConflicting, msg);
        return new App::DocumentObjectExecReturn(msg.c_str(),this);
    }
    if (lastHasConflict) { // conflicting constraints
        std::string msg="Sketch with conflicting constraints\n";
        appendConflictMsg(lastConflicting, msg);
        return new App::DocumentObjectExecReturn(msg.c_str(),this);
    }
    if (lastHasRedundancies) { // redundant constraints
        std::string msg="Sketch with redundant constraints\n";
        appendRedundantMsg(lastRedundant, msg);
        return new App::DocumentObjectExecReturn(msg.c_str(),this);
    }

So up to here, I would say that the shown behavior is intended.

However, because unrecomputed sketches due to redundant constraints are a problem in other contexts (hidden newly added geometry after redundant constraints), there is a P.R. in the pipeline, https://github.com/FreeCAD/FreeCAD/pull/783, that, if accepted, may change this behaviour in the specific case of the Sketcher back to match the expectations of the reporter.

In any case, whatever may or may not happen, it is not related to this ticket. I think it is best that this ticket should be closed as resolved.

Kunda1

2017-05-30 21:47

administrator   ~0009200

Intended behavior. Thanks Abdullah. Closing.

Issue History

Date Modified Username Field Change
2015-06-13 19:55 drei New Issue
2015-06-13 19:55 drei File Added: bugs_Basic_Part_01.FCStd
2017-01-14 01:36 Kunda1 Additional Information Updated
2017-01-14 01:36 Kunda1 Relationship added related to 0002156
2017-04-28 02:09 Kunda1 Note Added: 0008788
2017-04-28 02:10 Kunda1 Note Added: 0008789
2017-05-30 21:38 abdullah Note Added: 0009199
2017-05-30 21:47 Kunda1 Status new => closed
2017-05-30 21:47 Kunda1 Resolution open => fixed
2017-05-30 21:47 Kunda1 Fixed in Version => 0.17
2017-05-30 21:47 Kunda1 Note Added: 0009200