View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0002753 | Path | Bug | public | 2016-10-28 05:38 | 2016-11-14 18:58 |
| Reporter | mlampert | Assigned To | sliptonic | ||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Platform | all | OS | all | OS Version | all |
| Product Version | 0.17 | ||||
| Summary | 0002753: Profiling operation produces wrong path | ||||
| Description | Given a part where the base is not constructed of a single face the Profile operation can generate wrong paths (see attached example). | ||||
| Steps To Reproduce | Create a base body, attach "limbs" to it, create a job with the part as Base and generate a profile for it. | ||||
| Tags | No tags attached. | ||||
| FreeCAD Information | |||||
|
|
|
|
|
The contour operation uses a helper function in Pathutils called silhouette() which in turn calls TechDraw.findOuterWire() It seems to be that function that isn't returning the correct shape. |
|
|
Verified sliptonic's assertion, for the attached example the returned wire has the following edges: (30.00, -30.00, 0.00) -> (-30.00, -30.00, 0.00) (30.00, 30.00, 0.00) -> (30.00, -30.00, 0.00) (10.00, 30.00, 0.00) -> (30.00, 30.00, 0.00) (10.00, 30.00, 0.00) -> (10.00, 30.00, 5.00) (10.00, 30.00, 5.00) -> (-10.00, 30.00, 5.00) (-10.00, 30.00, 5.00) -> (-10.00, 30.00, 0.00) (-30.00, 30.00, 0.00) -> (-10.00, 30.00, 0.00) (-30.00, 10.00, 0.00) -> (-30.00, 30.00, 0.00) (-30.00, -10.00, 0.00) -> (-30.00, 10.00, 0.00) (-30.00, -30.00, 0.00) -> (-30.00, -10.00, 0.00) |
|
|
What is passed to EdgeWalker, please? If it is the whole 3D shape your results will be suspect due to the number of alternate paths. Is it a projection of the 3D shape to get a planar figure? If so, we may need to add the logic from TechDraw that finds all the missing edge intersections in a projection. In a projection, your ears do not have intersections with the side lines. |
|
|
PathContour is passing the whole 3D shape. The silhouette helper in PathUtils is just turning around and calling the findOuterWire() but it should be changed to do the projection and pass it. However, I tested by hand, creating a Shape2DView and passing it to silhouette and got the same results. That is, it gives the top square and ignores the ears. sounds like we need the extra logic. |
|
|
I've been trying to use Draft.makeShape2DView() to create the projecton but this automatically adds the projection to the document. I don't want this since it causes a refresh which triggers the execute of the operation and throws me into a loop. I don't know how to create a 2D projection without adding it to the document. I'm sure TechDraw can do that. Need to dig a bit. Ideas welcome. |
|
|
Yes we do it behind the scenes. Let me look into making a version of "project and find missing intersections" that is more friendly. We'll need a shape (Part::Feature, TopoShape, or ??), a scale (likely 1:1 for you?) and a ProjectionDirection (FreeCAD.Vector) as input. |
|
|
Hey Wanderfan, With all the TechDraw changes lately, I wanted to make sure I didn't miss this. No hurry, but please update if you've had a chance to look at this or need anything from us. Thanks. |
|
|
No results yet, sorry. I've mapped out how I want to do it, just don't have any usable code yet. :( |
|
|
fixed in PR 0000336 |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2016-10-28 05:38 | mlampert | New Issue | |
| 2016-10-28 05:38 | mlampert | File Added: contour.fcstd | |
| 2016-10-28 14:45 | sliptonic | Note Added: 0007431 | |
| 2016-10-29 03:47 | mlampert | Note Added: 0007432 | |
| 2016-10-29 13:11 | wandererfan | Note Added: 0007433 | |
| 2016-10-29 13:14 | wandererfan | Status | new => feedback |
| 2016-10-29 15:19 | sliptonic | Note Added: 0007434 | |
| 2016-10-29 16:21 | sliptonic | Note Added: 0007435 | |
| 2016-10-29 16:38 | wandererfan | Note Added: 0007436 | |
| 2016-11-03 22:31 | sliptonic | Note Added: 0007438 | |
| 2016-11-03 23:21 | wandererfan | Note Added: 0007440 | |
| 2016-11-14 18:58 | sliptonic | Note Added: 0007456 | |
| 2016-11-14 18:58 | sliptonic | Status | feedback => closed |
| 2016-11-14 18:58 | sliptonic | Assigned To | => sliptonic |
| 2016-11-14 18:58 | sliptonic | Resolution | open => fixed |
FreeCAD