OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.9528 (Git)
Build type: Release
Branch: master
Hash: 4efd3e894a9d3c1954603c60c411d434506d44e7
Python version: 2.7.8
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.0.0
I thought topological naming issues were purely an occ thing, but right now i'm getting unexpected behavior in the sketcher.
I have an overall sketch with standard zx placement
then i make new sketches into which i link the main sketch three lines at a time
if i then edit the main sketch, the points get jumbled
as seen above, one of the sketch points jumps to the origin (new line) and another one scramble the order of the point (top black curve folds over itself as a result)
The problem might come from my objects, but can i expect any stability from sketch object references? I necessary if can skip the overall layout, but it make sthe whole model harder to edit
Thanks
Does Sketcher itself have topological naming issues?
Forum rules
and Helpful information
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help
Also, be nice to others! Read the FreeCAD code of conduct!
Also, be nice to others! Read the FreeCAD code of conduct!
Re: Does Sketcher itself have topological naming issues?
my bad. i found a loose line endpoint in the layout sketch. after constraining it all seems to work fine
- DeepSOIC
- Veteran
- Posts: 7896
- Joined: Fri Aug 29, 2014 12:45 am
- Location: used to be Saint-Petersburg, Russia
Re: Does Sketcher itself have topological naming issues?
It is of course still a problem. But much more predictable.
There are two sources of trouble I know of.
1. Deletion of elements. Deleting an element will cause all the elements that were created after it to change their sequential number. Constraints are redirected automatically, but all other links are not.
2. Converting sketch to wires. Sketch itself doesn't contain information about how the elements are connected into a wire. So, wires are glued up as a post-processing step (on recompute, sketch is first solved, and then its segments are glued into wires) This gluing renumbers the elements. This maks point 1 essentially non-existing, and creates a few new issues. In particular, if the wire formed by sketch is non-manifold, the path that wire forming wave takes seems to become random, probably driven by unpredictable tiny solution inaccuracies.
So, avoid making three or more vertices coincident, even if the sketch is not meant to be extruded or whatever. I hope, some day a special flag will be added to a sketch, that would disable wire making step altogether.
There are two sources of trouble I know of.
1. Deletion of elements. Deleting an element will cause all the elements that were created after it to change their sequential number. Constraints are redirected automatically, but all other links are not.
2. Converting sketch to wires. Sketch itself doesn't contain information about how the elements are connected into a wire. So, wires are glued up as a post-processing step (on recompute, sketch is first solved, and then its segments are glued into wires) This gluing renumbers the elements. This maks point 1 essentially non-existing, and creates a few new issues. In particular, if the wire formed by sketch is non-manifold, the path that wire forming wave takes seems to become random, probably driven by unpredictable tiny solution inaccuracies.
So, avoid making three or more vertices coincident, even if the sketch is not meant to be extruded or whatever. I hope, some day a special flag will be added to a sketch, that would disable wire making step altogether.
Re: Does Sketcher itself have topological naming issues?
Thanks DeepSOIC. Are there cases where FreeCAD will make a wire unless i extrude?
Right now my curve object sketches are strictly 3 lines or 1 circle + 1 line. i Basically scan the topology at every step along the way as i make my surface. I understand that if i delete a sketch line in the main layout sketch, the linked edges of my curves will get jumbled. I can deal with that. What i don't understand clearly is why i shouldn't join three lines (3 points coincident) if the sketch is not intended to form a simple loop. my curve sketches are so constrained as it is, i was really hoping to get some freedom by linking to a main layout sketch.
Has it ever been considered to move the sketcher to permanent unique non-repeating names? Something similar to the way FreeCAD in general handles names:
Sketch
Sketch001
Sketch002
Sketch003
It seems 999 objects per sketch would go a long way. If the user could set their own permanent names for sketch elements would do the trick too. Not complaining, just dreaming... most people wouldn't care and they wouldn't need to know.
This is not a huge deal for me right now, but i want to organize my sketches the best way possible. Right now, i change my surface system on a regular basis, but it's acceptable to 're-skin' from sketches every now and then. If the base sketch gets jumbled, it's pretty much time to start over.
Once again, not truly complaining, just planning a course. I'm super excited about the new possibilities. With all the new features, i can actually envision making a useful model with my surfaces as opposed to yet another ugly test case. FreeCAD = best cad!
Right now my curve object sketches are strictly 3 lines or 1 circle + 1 line. i Basically scan the topology at every step along the way as i make my surface. I understand that if i delete a sketch line in the main layout sketch, the linked edges of my curves will get jumbled. I can deal with that. What i don't understand clearly is why i shouldn't join three lines (3 points coincident) if the sketch is not intended to form a simple loop. my curve sketches are so constrained as it is, i was really hoping to get some freedom by linking to a main layout sketch.
Has it ever been considered to move the sketcher to permanent unique non-repeating names? Something similar to the way FreeCAD in general handles names:
Sketch
Sketch001
Sketch002
Sketch003
It seems 999 objects per sketch would go a long way. If the user could set their own permanent names for sketch elements would do the trick too. Not complaining, just dreaming... most people wouldn't care and they wouldn't need to know.
This is not a huge deal for me right now, but i want to organize my sketches the best way possible. Right now, i change my surface system on a regular basis, but it's acceptable to 're-skin' from sketches every now and then. If the base sketch gets jumbled, it's pretty much time to start over.
Once again, not truly complaining, just planning a course. I'm super excited about the new possibilities. With all the new features, i can actually envision making a useful model with my surfaces as opposed to yet another ugly test case. FreeCAD = best cad!
- DeepSOIC
- Veteran
- Posts: 7896
- Joined: Fri Aug 29, 2014 12:45 am
- Location: used to be Saint-Petersburg, Russia
Re: Does Sketcher itself have topological naming issues?
I didn't get it. What do you mean?emills2 wrote:Are there cases where FreeCAD will make a wire unless i extrude?
I tried to explain why in prev. post, and this is actually just a guess on what's going on. The reality will become clear if I digest the relevant piece of source code.emills2 wrote:What i don't understand clearly is why i shouldn't join three lines (3 points coincident) if the sketch is not intended to form a simple loop.
The most clear manifestation of the problem happened when I was experimenting with folding mode attachment. There, I would drop three hexagons, and constrain some vertices coincident. That made actual edges coincident, and some vertices had 4 connected edges. This caused some madness with the attachment, as I edited the sketch. I think it also happened that I would sketch a few profiles in one sketch (was convenient for some reason), and then extract the relevant profiles with Lattice Explode. Quad vertices again, and sketch formed a single wire instead of the expected two. So after that I made conclusions, and started to avoid the situation.
- DeepSOIC
- Veteran
- Posts: 7896
- Joined: Fri Aug 29, 2014 12:45 am
- Location: used to be Saint-Petersburg, Russia
Re: Does Sketcher itself have topological naming issues?
Well, not much. I did think of it. It was an interesting thought, as it's the basic seed for topological naming, where a name of some extruded edge would somehow be related to the name of the edge in a sketch. And the sketch as the primitive shape is thus responsible for keeping the name persistent. I also thought of using this mechanism to define special alignment geometry, for example construction circles for involute gears. But.. as usual... too many ideas, too little time to get busy with it.emills2 wrote:Has it ever been considered to move the sketcher to permanent unique non-repeating names? Something similar to the way FreeCAD in general handles names: Sketch Sketch001 Sketch002 Sketch003
Re: Does Sketcher itself have topological naming issues?
GUILTY!!DeepSOIC wrote:Well, not much. I did think of it.
yup, the old "hey, maybe let's not throw all the work into the garbage can" of dealing with any kind of database, ever. But as always, it's rear seat driving. I myself am guilty of it all the time in my personal code (macros).DeepSOIC wrote:as it's the basic seed for topological naming
It's kind of ironic...i went into mechanical engineering instead of computer science because i wanted to avoid the possibility of getting stuck writing databases...
first job out of school? 30% of work is transition a factory's tracking and maintenance database to oracle. Second job? 50% of the time spent doing double entry in autodesk inventor and homebrew PLM. Current job? no database time wasted type issues at all of course, in case anyone at work finds this
I can never say thank you enough for your efforts (and everyone else's, including the people on the forum who keep the crowd organized and productive!)DeepSOIC wrote:But.. as usual... too many ideas, too little time to get busy with it
here's my current favorite thing: fully parametric point and tangent control of 3D curves (of course located and oriented by linking to ribs linked to the main spine ). this method allows top view and side view independent adjustment for an 'overall' feel. Thank you.