Code: Select all
Instance name (partname)
I think this was like this some commits ago. Since the App::Link was merged quite a few changes have occurred. I think at some point Links did have the sentence "Link to something" in the tree view. It's after all a stylistic change, because as you notice, the real object is mentioned in the LinkedObject property.
No: a FreeCAD object has a Name and a Label. The Name is set at creation time and cannot, ever, be modified. The Label is set identical to Name at creation time, but can be modified later. This is also true for App::Link. If you create an App::Link and then assign a linked object to it, the name of the App::Link — the instance — will be Link, and subsequent links will be called Link001, Link002 .... Whatever the object you assign to it later, you can only change the link's Label. The Label is what appears in the tree, the Name is what is used to access an object (with getObject(obj.Name) )
Yes. Every "DocumentObject", objects that you see in the tree view, must have a unique Name. If you try to name another object with that same name, its name will be incremented by a counter, like Solid and Sollid001. Names only support alphanumeric characters and the underscore.