Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Topo Naming PR 2 #7435

Merged
merged 16 commits into from Sep 5, 2022
Merged

Conversation

realthunder
Copy link
Collaborator

This is the second batch of patches for the new Topo Naming of geometry elements. It adds code to the features from Part workbench for generating Topo Naming using the new APIs. At this stage, the end-user can see the new Topo Naming in action by testing various features from Part workbench. Only features from Part workbench are supported. And if sketch is involved (e.g. Extrusion from a sketch), then try not to modify the sketch for the purpose of Topo Naming testing until the next batch of patches is in.

ExtensionContainer::foreach/query/callExtension()
Make use of the shadow subname (i.e. the new topo naming) stored inside
PropertyLinkSubList for more robust geometry element referecing. And
rely on Part::Feature::getRelatedElements() to deduce missing geometry
elements.
Most of the new topo naming code can be disabled by defining Macro
FC_NO_ELEMENT_MAP
Used in TaskElementColors for general handling of per geometry element
coloring.
The re-tagging is necessary for trace geometry element history to linked
object, which is required for Part::ViewProviderPartExt color mapping.
@github-actions github-actions bot added Core Issue or PR touches core sections (App, Gui, Base) of FreeCAD WB Part Related to the Part Workbench WB Part Design Related to the Part Design Workbench labels Sep 3, 2022
@berndhahnebach
Copy link
Contributor

pipeline status for feature branch PR_7435. Pipeline 630379532 was triggered at 7851fcc. All CI branches and pipelines.

error: ambiguous overload for ‘operator==’ (operand types are ‘App::StringHasher* const’ and ‘const StringHasherRef’ {aka ‘const Base::Reference<App::StringHasher>’})
@berndhahnebach
Copy link
Contributor

pipeline status for feature branch PR_7435. Pipeline 630680901 was triggered at 54411f3. All CI branches and pipelines.

@donovaly
Copy link
Member

donovaly commented Sep 5, 2022

I will merge now and make the announcement hopefully next Sunday when am back home.

@donovaly
Copy link
Member

donovaly commented Sep 5, 2022

The CI reports some things that might be of interest, see section "Unchanged files with check annotations":
https://github.com/FreeCAD/FreeCAD/pull/7435/commits/54411f3661ac18e911c8f734c04304b1e63201d2
Can you please have a look if some of them should be addressed?

@donovaly donovaly merged commit 5db5fc3 into FreeCAD:development/toponaming Sep 5, 2022
@realthunder
Copy link
Collaborator Author

Not sure about the relationship of that specific commit with this Unchanged files with check annotations. That commit is a quick fix of a compilation error reported by a user. But it seems @wwmayer has a better fix, but still waiting for user response.

@luzpaz
Copy link
Contributor

luzpaz commented Sep 6, 2022

For those on Linux who are OK with using Snap packages, it's possible to test @realthunder's toponaming patches via:
snap refresh freecad --channel='latest/edge/toponaming'
When you want to switch back to 'edge' you can utilize snap refresh freecad --channel='latest/edge'

@@ -2501,7 +2513,12 @@ class Module : public Py::ExtensionModule<Module>
&mat,&subObj,retType==2,PyObject_IsTrue(transform) ? true : false,
PyObject_IsTrue(noElementMap) ? true : false);
if (PyObject_IsTrue(refine) ? true : false) {
#ifndef FC_NO_ELMENT_MAP
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Core Issue or PR touches core sections (App, Gui, Base) of FreeCAD Toponaming WB Part Design Related to the Part Design Workbench WB Part Related to the Part Workbench
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants