Part Design Roadmap

Discussion about the development of the Assembly workbench.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
ickby
Veteran
Posts: 3116
Joined: Wed Oct 05, 2011 7:36 am

Re: Part Design Roadmap

Post by ickby »

Hello Fat-Zer,

I pushed a branch with some fixes here: https://github.com/blobfish/FreeCAD_sf_ ... rry_rebase The main changes are fixes for the tree and 3d view needed with the new setup signals (origins display correctly again) and fixes for the reference handling. I will go on testing and fixing bugs, but week-days my time is very limited.

The last commit is a simplification of the feature pick dialog. This is not needed, but the gui it seemed very overwhelming to me so I stripped it down a bit. What do you think about it?
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Part Design Roadmap

Post by DeepSOIC »

Hi there!
I just thought... There were some non-trivial rebase issues with my unlimited-externals branch. No conflicts, but it just was all buggy. Since AMM includes that unlimit, I think the fixes may need to be applied likewise. Please take a look at this commit: https://github.com/DeepSOIC/FreeCAD-ell ... bf56b133b5 .
Fat-Zer
Posts: 176
Joined: Thu Oct 30, 2014 10:38 pm

Re: Part Design Roadmap

Post by Fat-Zer »

ickby, thanks, good work, I've merged everything with small fixes, but a couple QA notices:
Please avoid leaving extra spaces on the end of lines (including empty lines), if your text editor allows to do it easy.
And follow the git commit message structure: leave an empty line between summarize and verbose/additional commit message.

Also I'm yet not sure about this one: https://github.com/blobfish/FreeCAD_sf_ ... 0aaec538e2
ickby wrote:The last commit is a simplification of the feature pick dialog. This is not needed, but the gui it seemed very overwhelming to me so I stripped it down a bit. What do you think about it?
I've merge it too. I like it much more than the one current one =)
You haven't added a checkbox for the NotInBody option, but I'm not yet sure it's really needed...
ickby wrote:. I will go on testing and fixing bugs, but week-days my time is very limited.
I can't be as active as before too by now...
DeepSOIC wrote:I just thought... There were some non-trivial rebase issues with my unlimited-externals branch. No conflicts, but it just was all buggy. Since AMM includes that unlimit, I think the fixes may need to be applied likewise. Please take a look at this commit: https://github.com/DeepSOIC/FreeCAD-ell ... bf56b133b5 .
Seems you are right... The changes looks reasonable... I've cherry-picked the commit.
Also are you positive about removing all those checks from the SketchObject::evaluateSupport() ?
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Part Design Roadmap

Post by DeepSOIC »

Fat-Zer wrote:Also are you positive about removing all those checks from the SketchObject::evaluateSupport() ?
Hmm, I didn't notice that evaluateSupport routine before :shock: . To me, it's not yet clear what was it intended to do, but it looks like a thing that has to be removed completely. However, I didn't notice anything wrong with unlimited externals because of this.
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Part Design Roadmap

Post by DeepSOIC »

DeepSOIC wrote:Hmm, I didn't notice that evaluateSupport routine before .
Now I see that I actually did notice :P . I just forgot. Yet again, my opinion is that all support checking should be done within attacher code. SketchObject shouldn't ever bother to check if it has support or not. Support should only control the placement of the sketch.
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: Part Design Roadmap

Post by sgrogan »

Fat-Zer wrote:
sgrogan wrote:Are you guys ready for Windows compiler errors? Or not yet?
I'm good with fixing build errors on any stage, but I'm not very experienced with MS compilers and windows building process, so I may not be able to guess what the msvc complains about...
From here:https://github.com/Fat-Zer/FreeCAD_sf_m ... 446e8042cb
With this patch:
AMM2_winfix01.patch.zip
fake zip
(974 Bytes) Downloaded 87 times
VC12 Errors:

Code: Select all

Error	3	error LNK2019: unresolved external symbol "public: class App::Origin * __cdecl App::OriginGroup::getOrigin(void)const " (?getOrigin@OriginGroup@App@@QEBAPEAVOrigin@2@XZ) referenced in function "public: void __cdecl Gui::ViewProviderOriginGroup::updateOriginSize(void)" (?updateOriginSize@ViewProviderOriginGroup@Gui@@QEAAXXZ)	C:\Users\Chris\GitHub\AMM2\src\Gui\ViewProviderOriginGroup.obj	FreeCADGui
Error	4	error LNK1120: 1 unresolved externals	C:\Users\Chris\GitHub\AMM2\bin\FreeCADGui.dll	FreeCADGui
Error	5	error C3083: '{ctor}': the symbol to the left of a '::' must be a type	C:\Users\Chris\GitHub\FreeCAD\src\Mod\PartDesign\App\FeaturePad.cpp	73	1	PartDesign
Error	6	error C1083: Cannot open include file: 'pcl/surface/on_nurbs/fitting_surface_tdm.h': No such file or directory	C:\Users\Chris\GitHub\FreeCAD\src\Mod\ReverseEngineering\App\BSplineFitting.cpp	44	1	ReverseEngineering
Error	7	error C3083: '{ctor}': the symbol to the left of a '::' must be a type	C:\Users\Chris\GitHub\FreeCAD\src\Mod\PartDesign\App\FeaturePocket.cpp	68	1	PartDesign
Error	8	error LNK1181: cannot open input file '..\App\Release\ReverseEngineering.lib'	C:\Users\Chris\GitHub\AMM2\src\Mod\ReverseEngineering\Gui\LINK	ReverseEngineeringGui
Error	9	error LNK1181: cannot open input file '..\App\Release\_PartDesign.lib'	C:\Users\Chris\GitHub\AMM2\src\Mod\PartDesign\Gui\LINK	PartDesignGui
Errors 6 and 8 are unrelated and fixed in FreeCAD/master.

I tried to rebase on current Freecad/master and got the following conflict:

Code: Select all

Falling back to patching base and 3-way merge...
Auto-merging src/App/Application.cpp
CONFLICT (content): Merge conflict in src/App/Application.cpp
Failed to merge in the changes.
Patch failed at 0002 Run arbitrary scripts from Cmd command line
"fight the good fight"
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: Part Design Roadmap

Post by sgrogan »

sgrogan wrote:
Fat-Zer wrote:
sgrogan wrote:Are you guys ready for Windows compiler errors? Or not yet?
I'm good with fixing build errors on any stage, but I'm not very experienced with MS compilers and windows building process, so I may not be able to guess what the msvc complains about...
From here:https://github.com/Fat-Zer/FreeCAD_sf_m ... 446e8042cb
With this patch:
AMM2_winfix01.patch.zip
Fake .zip
(974 Bytes) Downloaded 85 times
VC12 Errors:

Code: Select all

Error	3	error LNK2019: unresolved external symbol "public: class App::Origin * __cdecl App::OriginGroup::getOrigin(void)const " (?getOrigin@OriginGroup@App@@QEBAPEAVOrigin@2@XZ) referenced in function "public: void __cdecl Gui::ViewProviderOriginGroup::updateOriginSize(void)" (?updateOriginSize@ViewProviderOriginGroup@Gui@@QEAAXXZ)	C:\Users\Chris\GitHub\AMM2\src\Gui\ViewProviderOriginGroup.obj	FreeCADGui
Error	4	error LNK1120: 1 unresolved externals	C:\Users\Chris\GitHub\AMM2\bin\FreeCADGui.dll	FreeCADGui
Error	5	error C3083: '{ctor}': the symbol to the left of a '::' must be a type	C:\Users\Chris\GitHub\FreeCAD\src\Mod\PartDesign\App\FeaturePad.cpp	73	1	PartDesign
Error	6	error C1083: Cannot open include file: 'pcl/surface/on_nurbs/fitting_surface_tdm.h': No such file or directory	C:\Users\Chris\GitHub\FreeCAD\src\Mod\ReverseEngineering\App\BSplineFitting.cpp	44	1	ReverseEngineering
Error	7	error C3083: '{ctor}': the symbol to the left of a '::' must be a type	C:\Users\Chris\GitHub\FreeCAD\src\Mod\PartDesign\App\FeaturePocket.cpp	68	1	PartDesign
Error	8	error LNK1181: cannot open input file '..\App\Release\ReverseEngineering.lib'	C:\Users\Chris\GitHub\AMM2\src\Mod\ReverseEngineering\Gui\LINK	ReverseEngineeringGui
Error	9	error LNK1181: cannot open input file '..\App\Release\_PartDesign.lib'	C:\Users\Chris\GitHub\AMM2\src\Mod\PartDesign\Gui\LINK	PartDesignGui
Errors 6 and 8 are unrelated and fixed in FreeCAD/master.

I tried to rebase on current FreeCAD/master and got the following conflict:

Code: Select all

Falling back to patching base and 3-way merge...
Auto-merging src/App/Application.cpp
CONFLICT (content): Merge conflict in src/App/Application.cpp
Failed to merge in the changes.
Patch failed at 0002 Run arbitrary scripts from Cmd command line
"fight the good fight"
Fat-Zer
Posts: 176
Joined: Thu Oct 30, 2014 10:38 pm

Re: Part Design Roadmap

Post by Fat-Zer »

sgrogan wrote:With this patch:

AMM2_winfix01.patch.zip
applied
sgrogan wrote:Errors 6 and 8 are unrelated and fixed in FreeCAD/master.
just disable build of ReverseEngeniaring workbench (pass -DBUILD_REVERSEENGINEERING=OFF to cmake, not sure how this is done on win)

Other errors should be fixed now.
sgrogan wrote:I tried to rebase on current Freecad/master and got the following conflict:
Sure master doesn't stay still, but I'd like not to rebase every weekend, may be every several months but not more frequently...
But I've tried out of interest and note that git mergetool (with kdiff3 backend) resolves most conflict automagically (just a couple had to be done manually)...
DeepSOIC wrote:
DeepSOIC wrote:Hmm, I didn't notice that evaluateSupport routine before .
Now I see that I actually did notice :P . I just forgot. Yet again, my opinion is that all support checking should be done within attacher code. SketchObject shouldn't ever bother to check if it has support or not. Support should only control the placement of the sketch.
ok, just checking =)
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: Part Design Roadmap

Post by sgrogan »

Thanks! Fat-Zer :)
Compiles
OS: Windows 7
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.6479 (Git)
Build type: Release
Branch: AMM2
Hash: 457e129e690dd41ee9433818425c9a78e3135786
Python version: 2.7.8
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17
"fight the good fight"
jmaustpc
Veteran
Posts: 11207
Joined: Tue Jul 26, 2011 6:28 am
Location: Australia

Re: Part Design Roadmap

Post by jmaustpc »

ickby wrote:Hello,

a while ago we set out to bring the Part Design changes from a stale branch into master. Now this is on hold again since quite some time. To avaid a stale branch and lost work we should now decide how to go on with this.
Hi Stefan and others

Is there any chance this work is advanced enough yet to consider pushing it to master?

Sorry I can not help much or download testing branches this time as I am in the process of moving so I am living in temporary accommodation and relying on a limited mobile Internet access, I have had to and will keep needing to keep my data use right down as much as possible for the last few and next few months.

Is the work you are doing in a new workbench "PartDesign2" or whatever it is called? If it is, then I am wondering if it could be appropriate to push it to master but if its state is not very good, then set the cmake build flag to "off" by default (like the current Assembly in master)?

I don't want to see all this important work become stale, and its must be pretty demotivating to see your work not making it to master for so long, I find it so at least. I want to help and encourage this new PartDesign and then Assembly development to reach master as soon as possible. I was hoping it would begin to arrive a few years ago. :)

Jim
Post Reply