Thank you for linking to that thread, it's interesting information.carlopav wrote: ↑Sat Apr 06, 2019 7:20 amFollowing the general discussion in this post:
https://forum.freecadweb.org/viewtopic.php?t=10337 "FreeCAD slow performance on create many (document) objects"
what i understood is:
FreeCAD is not thought to be used extensively (as Librecad or Autocad are) for 2d architectural drafting where you need to draw looots of single very simple elements (points, lines, circles, ecc.).
Instead in FreeCAD, as i lear from yorik, each object is a powerful and complex entity, and therefore their max number is not infinite. But the point, if I got it correctly, is that Coin is very powerful (can deal with loots more entities than Librecad), and the limit is mainly a stuctural limitation of the document tree (i think i'm simplyfiing a lot).
So if we create a single shape (single document object (?)) containing all the other simple 2d entities (edges, faces, ecc.) we can skip that limitation quite easily. This at the moment is done with part compound after the creation of draft objects (did i get i correctly?).
Code: Select all
App.ActiveDocument.object App.ActiveDocument.object001 App.ActiveDocument.object002 App.ActiveDocument.object100000 ...
I think the real discussion is, does it matter? Do you notice a slow down after adding many elements? I notice that a file takes long, around 3 minutes, to load a 15 MB model with 3D and 2D objects, and a few TechDraw pages. It's not a lot of time, but as soon as the file is loaded, it responds quite well. I notice a slow down if you put many items inside Std Groups, so maybe this can be improved in the internal handling of the code.But what I was thinking is: can we have kind of Draft entity that works like a group but dont display subentities in the tree? Kind of a "DraftDrawing" that the user create at the beginning ad could be used to contain an imported dxf or to start a 2d non parametric drawing from scratch?
Something that can allow the user to create big 2d drawings in a non parmetric way inside Freecad. I understand that is not the main purpouse of Freecad, but the Draft module is here, and... why not exploit it till the end?
I don't know what Moult is working on. Is it described in a thread? Maybe you can post a link to it. I remember him posting a lot at the beginning of the year but now he sort of disappeared. Maybe he's hacking and doesn't want to be bothered at the moment.This got into my mind looking at @Moult work to allow modifiers tools to work on subelements. Why not have Draft creation tools also creating subelement?
I imagine that this could be huge to implement and I dont have any idea if these thought are just bullshit, but before 1.0 we have still some time . I'd really like to know if anyone have developed thought on this too .
Here you have it @vocx: https://forum.freecadweb.org/viewtopic.php?f=23&t=34114. I think this is quite precious topic (in this PR https://github.com/FreeCAD/FreeCAD/pull/1975 Moult added the possibility for draft modifiers to work on subelements; i think this is still in testing). Performance slowdown i experienced is not in visualization (zooming and panning) but in object editing (move rotate scale).I don't know what Moult is working on. Is it described in a thread?
Yes, for sure this should be tested.
That would be great... I'll try to investigate a bit about it.