App::Link: the big merge

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
chrisb
Veteran
Posts: 53945
Joined: Tue Mar 17, 2015 9:14 am

Re: App::Link: the big merge

Post by chrisb »

It is possible to link a feature from inside of a body. Is it intentionally, that no warning "Link goes out of allowed scope" is generated?
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
realthunder
Veteran
Posts: 2190
Joined: Tue Jan 03, 2017 10:55 am

Re: App::Link: the big merge

Post by realthunder »

chrisb wrote: Sun Aug 25, 2019 9:37 am It is possible to link a feature from inside of a body. Is it intentionally, that no warning "Link goes out of allowed scope" is generated?
It is not intentional per se, because Link does have cross coordinate tracking like SubShapeBinder yet. I'll think about how to handle it.
Try Assembly3 with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
kisolre
Veteran
Posts: 4164
Joined: Wed Nov 21, 2018 1:13 pm

Re: App::Link: the big merge

Post by kisolre »

Can a linked object be used as PD basefeature? I imagine having a complex object and wanting to try another design with different final features which this would help.
realthunder
Veteran
Posts: 2190
Joined: Tue Jan 03, 2017 10:55 am

Re: App::Link: the big merge

Post by realthunder »

kisolre wrote: Sun Aug 25, 2019 10:58 am Can a linked object be used as PD basefeature? I imagine having a complex object and wanting to try another design with different final features which this would help.
No, it is not supported yet. I will check if it is easy to do. I do have plan to improve PartDesign by introducing multi-body, which will also help include other solid as base feature. But that's going to take a while.
Try Assembly3 with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
User avatar
-alex-
Veteran
Posts: 1857
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

Re: App::Link: the big merge

Post by -alex- »

Maybe off topic: apologies for jumping in, I'm following the big merge and the linkstage3 project since a while and I thought the Element concept concerning topological naming algorithm was included in this merge as well. I guess I was wrong. I'm just an end user.
Could you please tell me more about that? Do you plan to merge the Element concept someday?
https://github.com/realthunder/FreeCAD_ ... i/Concepts

Sorry for distrubing
Alex
realthunder
Veteran
Posts: 2190
Joined: Tue Jan 03, 2017 10:55 am

Re: App::Link: the big merge

Post by realthunder »

-alex- wrote: Mon Aug 26, 2019 9:55 pm Maybe off topic: apologies for jumping in, I'm following the big merge and the linkstage3 project since a while and I thought the Element concept concerning topological naming algorithm was included in this merge as well. I guess I was wrong. I'm just an end user.
Could you please tell me more about that? Do you plan to merge the Element concept someday?
The Element concept is a 'soft' concept. All the necessary 'hard' feature required to implement it is available in the master. To summarize, the concept is to let a container type object declare interface using object label to abstract its internal geometry details. Use object label makes it user changeable. One of the hard feature is to allow duplicate labels programmatically, so that you can have objects with identical interface that are exchangeable.

To be clear though, the Element concept is not directly related to topological naming algorithm mentioned in my wiki. It is conceptualized before that, and is still very much useful after. The actual topological naming hasn't been merged yet. I intend to, but it may not get merged in time with 0.19.

Sorry for distrubing
It's an open discussion thread. Questions are also welcome.
Try Assembly3 with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
vocx
Veteran
Posts: 5197
Joined: Thu Oct 18, 2018 9:18 pm

Re: App::Link: the big merge

Post by vocx »

-alex- wrote: Mon Aug 26, 2019 9:55 pm I thought the Element concept concerning topological naming algorithm was included in this merge as well. I guess I was wrong. ...
realthunder wrote: Sun Aug 18, 2019 11:19 am
fosselius wrote: Sun Aug 18, 2019 5:17 am congratulation on getting Link merged, i guess you still have a lot of work to do before the Link merge sinks in among the developers, what is the plan for toponaming? will you wait until 0.20 to make a PR? how big do you think toponaming PR will be?
I plan to submit the version control related patch, which is relatively small. Then I'll submit the toponaming PR. It is bigger, but not Link merge big. It is however technically more complex, and has a deeper impact, too. I am not sure whether it will get approved in time or not, but at least it'll get some review.
So, I think it will happen. Just give it time.
Always add the important information to your posts if you need help. Also see Tutorials and Video tutorials.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
User avatar
-alex-
Veteran
Posts: 1857
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

Re: App::Link: the big merge

Post by -alex- »

Thanks you guys, I understand now.
Do merge the very reliable topological naming algorithm wich is used in the actual Asm3 branch would be a huge improvement IMHO.
I hope it could happen for 0.19 release :)
Thanks for all your work guys.
user1234
Veteran
Posts: 3350
Joined: Mon Jul 11, 2016 5:08 pm

Re: App::Link: the big merge

Post by user1234 »

Hello!
realthunder wrote: Sun Aug 25, 2019 12:28 am I included some work on disambiguation in the Expression. The user must now explicitly uses the double angle bracket to indicate that you are referring by a label, either document label or object label.
I might have known it. It is pretty common that expressions referencing to its label. My personal opinion is that the name should get the brackets, not the label. Because everybody uses labels, not the internal name. It is hard to change? Would that bother you when i make a poll about that, that we have more views from user or developers about that?

realthunder wrote: Sun Aug 25, 2019 12:28 am The grey button indicates the document is only partial loaded, which is a feature, not an error. For example, if your top level assembly file refers to a sub assembly in some document. And there is a drawing inside that same sub assembly document referring to some geometries. When you open the top assembly document, the sub assembly document will only load the sub assembly, but not the drawings.
Good concept. But in my assembly there are more files, that have not drawing in tha part, but is also automatically full loaded. Is that behavior also when a spreadsheet, FEM calculation or CAM (Path) in the part?

Greetings
user
realthunder
Veteran
Posts: 2190
Joined: Tue Jan 03, 2017 10:55 am

Re: App::Link: the big merge

Post by realthunder »

user1234 wrote: Tue Aug 27, 2019 11:14 pm I might have known it. It is pretty common that expressions referencing to its label. My personal opinion is that the name should get the brackets, not the label. Because everybody uses labels, not the internal name. It is hard to change? Would that bother you when i make a poll about that, that we have more views from user or developers about that?
I am afraid that's not possible. It is exactly because the label can be changed to anything, e.g. with space, it must be quoted, with the double bracket. It's just a bit unfortunate that the quoting style is not so natural.

realthunder wrote: Sun Aug 25, 2019 12:28 am Good concept. But in my assembly there are more files, that have not drawing in tha part, but is also automatically full loaded. Is that behavior also when a spreadsheet, FEM calculation or CAM (Path) in the part?
The partial loading can only happen in linked file, i.e. sub-assembly files. And it checks the object dependency to determine which objects can be safely skipped. Say, a sub-assembly is referenced in the main assembly, then anything inside the sub-assembly container must not be skipped. So, in other words, if you move the drawings/FEM/CAM/Spreadsheet objects outside of the Part container, the partial loading will work, and those objects will be skipped next time you load the main assembly.
Try Assembly3 with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
Post Reply