Tag dressup not working on exterior curved paths

Here's the place for discussion related to CAM/CNC and the development of the Path module.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
Chowderhead
Posts: 20
Joined: Sat May 14, 2016 6:01 pm

Tag dressup not working on exterior curved paths

Post by Chowderhead »

Probably my problem. I've watched Sliptonic's path dress up tutorial, and I'm not seeing what's shown there with the attached file. It yields a tag dress up item in the tree with no nested items and no dialog to change values.

OS: Debian GNU/Linux 9.5 (stretch)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.14967 (Git) AppImage
Build type: Release
Branch: master
Hash: f6e9faa62c45a9fc8a9f977235abed139c31ab9a
Python version: 2.7.6
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedStates (en_US)

Thanks!
Attachments
MR105zz_fidget.fcstd
(45.29 KiB) Downloaded 48 times
GeneFC
Veteran
Posts: 5373
Joined: Sat Mar 19, 2016 3:36 pm
Location: Punta Gorda, FL

Re: Tag dressup not working on exterior curved paths

Post by GeneFC »

I believe that the tag dressup only works on straight edges at this time. Your model has none.

[Edit] Bad, outdated info. Please ignore. :oops:

Gene
Last edited by GeneFC on Tue Oct 16, 2018 2:41 pm, edited 1 time in total.
herbk
Veteran
Posts: 2661
Joined: Mon Nov 03, 2014 3:45 pm
Location: Windsbach, Bavarya (Germany)

Re: Tag dressup not working on exterior curved paths

Post by herbk »

Hi,
your start depht is the same as your final depht, - there is no space for a tag...

Set params to startdepht 0, final depht -6 and it works.
mr105.jpg
mr105.jpg (71.75 KiB) Viewed 1914 times
Attachments
MR105zz_fidget_herbk.fcstd
(47.5 KiB) Downloaded 49 times
Gruß Herbert
Chowderhead
Posts: 20
Joined: Sat May 14, 2016 6:01 pm

Re: Tag dressup not working on exterior curved paths

Post by Chowderhead »

Danke, herbk!

I had to delete and recreate the profile to get it to work.
JulianTodd
Posts: 74
Joined: Tue Oct 23, 2018 3:35 pm

Re: Tag dressup not working on exterior curved paths

Post by JulianTodd »

According to what I'm told, tags want to be on the convex sections of the shape, because it's much easier to file them down.

The feature seems to be buggy just on the default Angle=45. It's okay if you set it to 80 (in my attached example).

For reference, vid describing the feature is here: https://www.youtube.com/watch?v=JZ4prlR6sps
Code history here: https://github.com/FreeCAD/FreeCAD/comm ... ssupTag.py

Looking at how tags are generated.

Firstly line 536 findBottomWire() is run by finding all the edges in the toolpath whose Z value matches the lowest Z and hoping that the Part.Wire that is reated isClosed.

Then generateTags(obj, count) function is called on line 570 and where it goes through some very complicated code to create edgeDict = { edgeindex: number_of_tabs_on_this_edge } -- with the tabs roughly distributed by length, starting at the longest edge.

The edgeDict is then used on line 621 to make the tags array by evaluating equally spaced points on each chosen edge and generating the objects Tag(j, tag.x, tag.y, W, H, A, R, True).

I don't yet fully understand how the rest of the algorithm works. I note some use of functions like: PathGeom.isRoughly, and isDefinitelySmaller to overcome the fact that the topology of the toolpath has been lost, and you're trying to recreate it from the floating point positions which you do not trust.

I think the code that finds the best positions of the tags should be done in an external self-contained module, since it's a pure geometric optimization of finding corners of the over-all shape, and having all this other stuff around is a distraction. However, there's a UI to select new tag points to overcome the bad choices made by the auto tag generation.

I'm still wondering if tags ought to really be added to the underlying model geometry, like some visible flanges protruding from the shapes. Then all the contours and other toolpath operations treats this surface as a base-plane, rather than the Zmin.
Attachments
swanneck3.fcstd
(40.68 KiB) Downloaded 51 times
mlampert
Veteran
Posts: 1772
Joined: Fri Sep 16, 2016 9:28 pm

Re: Tag dressup not working on exterior curved paths

Post by mlampert »

The idea was that the dressups can also be used on imported g-code, which is where a lot of the roundabout code comes from (trying to reconstruct the geometry).

The tags are definitely the touchiest of all the dressups and in desperate need of a rewrite. I probably should have never added the automatic tag generation - except that I didn't know about the Snapper at the time and couldn't imagine how to enter the tags location in a sensible way.

I also toyed with the idea of adding the tags to the model as you suggest, and I think that's the way to go, except that the current algorithms for the tool path generation (the ops) cannot deal with that This is one of the many reasons why I was so excited about the description of your approach - adn still am. Can't wait to see that in action and hopefully help along the way.
JulianTodd
Posts: 74
Joined: Tue Oct 23, 2018 3:35 pm

Re: Tag dressup not working on exterior curved paths

Post by JulianTodd »

Thanks for the notes. This is amazingly fast response; there must be a lot of people watching.

I had a look at AD Fusion yesterday, and its tag feature is more limited (fewer shape options), there is no editing of positions, and it puts tags on the concave parts. So I think this implementation is ahead of the game. The other tag system I've looked at is makercam.com (it's written in flash, but I know people who swear by it.)

I have added some of this information to the wiki here: https://www.freecadweb.org/wiki/Path_DressupTag

The "dressup" structure in the UI would work well for linking, where the toolpath comes out of one algorithm with only retract links, and then various "linking dressup" options would do the reordering, and shortest path linking.

Applying tags as part of the model to the Z-values of the pass doesn't require full 3D tool surface collision modelling. If tags are considered as upright cones, hemispheres or cylinders then you can calculate the Z-height above the base using a simple formula, such as (for a cylinder):
If dist(tool_xy, tag_xy) < cylinder_radius+tool_radius then z = tag_height; otherwise z=0.

This will work even if the tag is not exactly on the path, or if you have other parts of the path coming close from the other side which would accidentally machine the tag away.

I'll need to investigate the contour milling code to see how this could fit in. I hope I can eventually find something to work on that makes a difference.

Am I right that this is the only cutting algorithm for which the tag dressup means something?
mlampert
Veteran
Posts: 1772
Joined: Fri Sep 16, 2016 9:28 pm

Re: Tag dressup not working on exterior curved paths

Post by mlampert »

JulianTodd wrote: Fri Dec 14, 2018 1:11 pm I'll need to investigate the contour milling code to see how this could fit in. I hope I can eventually find something to work on that makes a difference.

Am I right that this is the only cutting algorithm for which the tag dressup means something?
The tag dressup (dogbone, dragknife) work on any of the profile ops. Contour is a Profile op with most of it's parameters preset, essentially it's a shortcut because almost every job needs one - at least so far.
Post Reply