My idea is that when you have many such items in the tree view you can glance at it, and find the object that you want more easily, particularly if you change their name (label). Most Draft objects are instances of the Part_Part2DObject. This has a default icon but you will probably not see it often because this object is never used by itself. You will only see it if something breaks and the document isn't able to load the objects' view provider classes.
The Part_Part2DObjectPython is the Python version of this object; it is normally used with Proxy classes derived from _DraftObject and _ViewProviderDraft, of which the latter assigns the default Draft icon.
Code: Select all
import Draft
App.ActiveDocument.addObject("Part::Part2DObject")
obj = App.ActiveDocument.addObject("Part::Part2DObjectPython")
Draft._DraftObject(obj)
Draft._ViewProviderDraft(obj.ViewObject)