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
Posts: 18223
Joined: Tue Mar 17, 2015 9:14 am

Re: App::Link: the big merge

Postby chrisb » 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?
realthunder
Posts: 1172
Joined: Tue Jan 03, 2017 10:55 am

Re: App::Link: the big merge

Postby realthunder » Sun Aug 25, 2019 10:43 am

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 (latest version 0.10.2) along 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
Posts: 1359
Joined: Wed Nov 21, 2018 1:13 pm

Re: App::Link: the big merge

Postby kisolre » 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.
realthunder
Posts: 1172
Joined: Tue Jan 03, 2017 10:55 am

Re: App::Link: the big merge

Postby realthunder » Sun Aug 25, 2019 11:03 am

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 (latest version 0.10.2) along 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-
Posts: 213
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

Re: App::Link: the big merge

Postby -alex- » 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?
https://github.com/realthunder/FreeCAD_ ... i/Concepts

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

Re: App::Link: the big merge

Postby realthunder » Mon Aug 26, 2019 11:42 pm

-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 (latest version 0.10.2) along 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
Posts: 1452
Joined: Thu Oct 18, 2018 9:18 pm

Re: App::Link: the big merge

Postby vocx » Mon Aug 26, 2019 11:43 pm

-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.
User avatar
-alex-
Posts: 213
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

Re: App::Link: the big merge

Postby -alex- » Tue Aug 27, 2019 5:19 am

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
Posts: 181
Joined: Mon Jul 11, 2016 5:08 pm

Re: App::Link: the big merge

Postby user1234 » Tue Aug 27, 2019 11:14 pm

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
Posts: 1172
Joined: Tue Jan 03, 2017 10:55 am

Re: App::Link: the big merge

Postby realthunder » Wed Aug 28, 2019 12:41 am

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 (latest version 0.10.2) along 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