Topological Naming, My Take

Here's the place for discussion related to coding in FreeCAD, C++ or Python. Design, interfaces and structures.
freecad-heini-1
Posts: 4475
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Topological Naming, My Take

Postby freecad-heini-1 » Tue Apr 24, 2018 8:26 am

realthunder wrote:
Mon Apr 23, 2018 6:15 am
freecad-heini-1 wrote:
Mon Apr 23, 2018 5:44 am
That is true. With the part workbench your improvement for topo naming work very good. I did a stress test with complex operations and topo naming worked great.
I just released another bug fix version. I have added undo/redo in PartDesign dressup editor. When you double click and enter the editor, you can choose Cancel to revert back to the old shape.
Hi Realthunder,
on Sunday I played a bit around with your topo naming improvement on my notebook at home and had good results.
Yesterday I tried the same on my office pc and had different results. I used the same appimage and operating system Xubuntu 16.04. At home on my laptop mostly it detected the right edges, on my office pc it detect much more edges, so that I need to unselect many edges. I renamed the .freecad folder and tried with a blank configuration on my office pc, but with the same behavoir. Do you have an idea what could be cause the diffence?
Maybe a additional app I have to install on my office pc?

Thank you so much.

Best regards
Wilfried
realthunder
Posts: 774
Joined: Tue Jan 03, 2017 10:55 am

Re: Topological Naming, My Take

Postby realthunder » Tue Apr 24, 2018 8:32 am

freecad-heini-1 wrote:
Tue Apr 24, 2018 8:26 am
Do you have an idea what could be cause the diffence?
Maybe a additional app I have to install on my office pc?
That's unlikely. Are you sure you are using the same appimage? Can you please attach your testing model here? I'll take a look.
Try Assembly3 (latest version 0.8.6) along with my custom build of FreeCAD at here.
And if you like to show your support, you can find the donate button at here.
freecad-heini-1
Posts: 4475
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Topological Naming, My Take

Postby freecad-heini-1 » Tue Apr 24, 2018 9:37 am

Hi realthunder,
I created a video to show what's going on. It's really a hard stresstest, but I did the same test with Pro-Engineer Wildfire 5.0 without problems. Creo worked like a charm, no problem with edges, it detects it right.
phpBB [video]
fc017_realthunder_stresstest_topo-naming.fcstd
(99.92 KiB) Downloaded 18 times
Hopefully my example can help you to improve your great work for to solve topo naming issues.
Best regards
Wilfried
ezzieyguywuf
Posts: 413
Joined: Tue May 19, 2015 1:11 am

Re: Topological Naming, My Take

Postby ezzieyguywuf » Tue Apr 24, 2018 11:30 am

freecad-heini-1 wrote:
Tue Apr 24, 2018 9:37 am
Hopefully my example can help you to improve your great work for to solve topo naming issues.
Best regards
Wilfried
What a great stress test! You've inspired me to try to create an "AppImage" like realthunder has with my own toponaming branch, so that folks like you can toy around with it and provide such wonderful constructive feedback.

One note: that weird "glitch" (I think you call it "modern art" later in the video :-P) that starts showing up between the fillet and the chamfer: I don't know this for a fact, but I bet you that's an opencascade issue, and not a realthunder issue.

I'm anxious to try your stress test on my TopoManager branch of freecad!
freecad-heini-1
Posts: 4475
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Topological Naming, My Take

Postby freecad-heini-1 » Tue Apr 24, 2018 11:49 am

ezzieyguywuf wrote:
Tue Apr 24, 2018 11:30 am
freecad-heini-1 wrote:
Tue Apr 24, 2018 9:37 am
Hopefully my example can help you to improve your great work for to solve topo naming issues.
Best regards
Wilfried
What a great stress test! You've inspired me to try to create an "AppImage" like realthunder has with my own toponaming branch, so that folks like you can toy around with it and provide such wonderful constructive feedback.
Thank you so much. I'm no programmer and my English is so lala, but such things I can do to give a bit back to this great community. Please create an appimage with your toponaming branch. I'm curious to test it.
ezzieyguywuf wrote:
Tue Apr 24, 2018 11:30 am
One note: that weird "glitch" (I think you call it "modern art" later in the video :-P) that starts showing up between the fillet and the chamfer: I don't know this for a fact, but I bet you that's an opencascade issue, and not a realthunder issue.
I agree. The code behind fillet is very old, one OpenCascade developer told this here in the forum.
ezzieyguywuf wrote:
Tue Apr 24, 2018 11:30 am
I'm anxious to try your stress test on my TopoManager branch of freecad!
Yes, yes, please, please.
Please let me know the result.

Best regards and best wishes
Wilfried
realthunder
Posts: 774
Joined: Tue Jan 03, 2017 10:55 am

Re: Topological Naming, My Take

Postby realthunder » Tue Apr 24, 2018 11:57 am

ezzieyguywuf wrote:
Tue Apr 24, 2018 11:30 am
What a great stress test! You've inspired me to try to create an "AppImage" like realthunder has with my own toponaming branch, so that folks like you can toy around with it and provide such wonderful constructive feedback.
You can try my scripts at https://github.com/realthunder/FreeCADMakeImage.
Try Assembly3 (latest version 0.8.6) along with my custom build of FreeCAD at here.
And if you like to show your support, you can find the donate button at here.
ezzieyguywuf
Posts: 413
Joined: Tue May 19, 2015 1:11 am

Re: Topological Naming, My Take

Postby ezzieyguywuf » Tue Apr 24, 2018 12:36 pm

realthunder wrote:
Tue Apr 24, 2018 11:57 am
You can try my scripts at https://github.com/realthunder/FreeCADMakeImage.
<3 thanks I'll definitely check these out!
freecad-heini-1 wrote:
Tue Apr 24, 2018 11:49 am
Thank you so much. I'm no programmer and my English is so lala, but such things I can do to give a bit back to this great community. Please create an appimage with your toponaming branch. I'm curious to test it.
your English is great! at least the video wasn't in German :P (love you too freecad-heini-1!)

the more I think about it, the more I don't think my branch will perform much better than realthunder's. I won't know till I test it, but I know for instance that my branch relies on knowing explicitly which faces change in any topological operation. whenever you change the tool shape in the fusion (which I agree with you, is a great feature in freecad and a fundamental component expected of a cad system), it becomes difficult to create a one-to-one (or one-to-one...) relationship between the old faces and the new faces.

the way my current solution works is it first creates a relationship between the original tool shape and the new tool shape, and then uses that to create a mapping from the current fused shape and the new fused shape. I your example, though, the tool shape hasn't simply "evolved", it's been changed altogether.

I'll have to put some thought into how to best handle this situation, but no simple solutions are presently coming to mind, aside from asking the user to interactively tell me what's changed in the tool shape (which honestly sounds annoying from a user's point of view).

the other option is to disallow completely changing the tool shape, and instead only allow modifications to the existing tool shape. this, however, is now limiting the user's options.
freecad-heini-1
Posts: 4475
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Topological Naming, My Take

Postby freecad-heini-1 » Tue Apr 24, 2018 1:46 pm

ezzieyguywuf wrote:
Tue Apr 24, 2018 12:36 pm
your example, though, the tool shape hasn't simply "evolved", it's been changed altogether.

I'll have to put some thought into how to best handle this situation, but no simple solutions are presently coming to mind, aside from asking the user to interactively tell me what's changed in the tool shape (which honestly sounds annoying from a user's point of view).

the other option is to disallow completely changing the tool shape, and instead only allow modifications to the existing tool shape. this, however, is now limiting the user's options.
No, please do not change such great redefinition tools for Freecad. For me such great tools are the salt in the soup.

I created a new video with the same stresstest for Pro-Engineer Wildfire 5.0. Please have a closer look if I change the edges in the Creo sketcher. It's needed to use the edit tool, select the old edge and replace (restore) it with the new edge. I guess this could be fundamental for you to realize that maybe this trick is needed to avoid toponaming problems in Creo. Hopefully you can implement something similar that will help Freecad.
They put one's pants on one leg at a time.
phpBB [video]


For me the Freecad workflow is more elegant, but Wildfire5 is 10 years old and far behind. Creo 5.0 is the current version.

Best regards
Wilfried
ezzieyguywuf
Posts: 413
Joined: Tue May 19, 2015 1:11 am

Re: Topological Naming, My Take

Postby ezzieyguywuf » Tue Apr 24, 2018 4:00 pm

freecad-heini-1 wrote:
Tue Apr 24, 2018 1:46 pm
I created a new video with the same stresstest for Pro-Engineer Wildfire 5.0. Please have a closer look if I change the edges in the Creo sketcher. It's needed to use the edit tool, select the old edge and replace (restore) it with the new edge. I guess this could be fundamental for you to realize that maybe this trick is needed to avoid toponaming problems in Creo. Hopefully you can implement something similar that will help Freecad.
They put one's pants on one leg at a time.
Wilfried, thank you for re-making this video in english! It is indeed very helpful. I 100% agree with Wildfire's approach regarding changing the sketch, asking the user to specify an edge that is replacing a deleted edge. I already had this in mind, and it is great to have this approach confirmed by its use in a commercial package.

In fact, I think it may even be relatively easy to suggest to the user which edge is replacing another edge: if a newly created edge shares two vertices with an existing edge, a popup can ask the user if they intend to replace it. Also, when a user deletes an edge, we can provide a similar message "Other features reference this edge" but also ask the user if they have a new edge they'd like to replace the deleted Edge with, and ask them to select it right then and there.

Regarding the fillet only applying to one edge after it is split: that's a design decision on Wildfire's part. If I'm not mistaken, realthunder has dealt with this by having the feature "fail", and subsequently asking the user which of the two (or both) edges they would like the fillet applied to. In my approach, I assume that a feature which was applied to a single edge should subsequently be applied to all split edges. I'm not sure that one approach is better than another.

Also, side note, I love the "live edit" feature in creo. Whenever you were able to move the cut feature around and, in real time, see the effect on the overall solid - that was super cool!
freecad-heini-1
Posts: 4475
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Topological Naming, My Take

Postby freecad-heini-1 » Tue Apr 24, 2018 4:58 pm

ezzieyguywuf wrote:
Tue Apr 24, 2018 4:00 pm
freecad-heini-1 wrote:
Tue Apr 24, 2018 1:46 pm
I created a new video with the same stresstest for Pro-Engineer Wildfire 5.0. Please have a closer look if I change the edges in the Creo sketcher. It's needed to use the edit tool, select the old edge and replace (restore) it with the new edge. I guess this could be fundamental for you to realize that maybe this trick is needed to avoid toponaming problems in Creo. Hopefully you can implement something similar that will help Freecad.
They put one's pants on one leg at a time.
Wilfried, thank you for re-making this video in english! It is indeed very helpful. I 100% agree with Wildfire's approach regarding changing the sketch, asking the user to specify an edge that is replacing a deleted edge. I already had this in mind, and it is great to have this approach confirmed by its use in a commercial package.

In fact, I think it may even be relatively easy to suggest to the user which edge is replacing another edge: if a newly created edge shares two vertices with an existing edge, a popup can ask the user if they intend to replace it. Also, when a user deletes an edge, we can provide a similar message "Other features reference this edge" but also ask the user if they have a new edge they'd like to replace the deleted Edge with, and ask them to select it right then and there.
Sounds good to me.
ezzieyguywuf wrote:
Tue Apr 24, 2018 4:00 pm
Regarding the fillet only applying to one edge after it is split: that's a design decision on Wildfire's part. If I'm not mistaken, realthunder has dealt with this by having the feature "fail", and subsequently asking the user which of the two (or both) edges they would like the fillet applied to.
In my opinion this is a very good solution, in Creo you have the same possibility to add or remove edges.
ezzieyguywuf wrote:
Tue Apr 24, 2018 4:00 pm
In my approach, I assume that a feature which was applied to a single edge should subsequently be applied to all split edges. I'm not sure that one approach is better than another.
I guess that realthunders solution is o.k..
ezzieyguywuf wrote:
Tue Apr 24, 2018 4:00 pm
Also, side note, I love the "live edit" feature in creo. Whenever you were able to move the cut feature around and, in real time, see the effect on the overall solid - that was super cool!
I saw this in a forum thread for Freecad. I'm not sure if it was microelly2 or looo.
But someone showed this with an animated gif. A script or something else. Difficult to find in forum search if you don't know which is the right term to search for.