Test Request: Part Design Workflow
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
Test Request: Part Design Workflow
Hello,
tanderson, deepsoic and myself (and of course jreihnlaender with the initial implementation) have put quite some work into the upcoming part design workbench and I would now like some feedback on the current state of the workflow. Apart from the loft feature, which is still missing, I consider the work-flow pretty much done, but I have the feeling that I need some fresh eyes. I'm sure there are many obvious thing I just don't recognize anymore. Hence I would like to hear your feedback. It is important to get this now as once we have started with the document migration tool all tool properties etc. are fixed, so big changes need to happen now. (and I have time over the weekend and want to work on finalizing the workbench)
* Are there any obvious bugs?
* Is the workflow intuitive or do you have no idea how to handle the new part design?
* Any counterintuitive things, workflows?
* Any regressions to current part design modeling?
Please note that the transformation is not yet done, therefore this is known and should be considered:
*Documents done with any other versions may not be loaded or at least wont be transformed to the new part design structure
*Part tools don't recognize the active part object
*documents saved now may not be editable in future versions
I would highly value input! Here you find the code:
https://github.com/blobfish/FreeCAD_sf_ ... baseMaster
The compiled windows version is provided by sgrogan, thanks!
Stefan
EDIT: Reported Issues
- Crash reports: drei [fixed] triplus [fixed] bejant [fixed] Fat-Zer [fixed second one]manderson [fixed]
- Hole feature is not ported [fixed]
- Shaft Wizard is not ported[fixed]
- Pipe icon in the pipe task dialog is not available [fixed]
- part design unit test fails
- New part command is missing Form the task Dialog when opening a New file [fixed]
- Creating of part when switching to part design is too automatic and not very freecadish
- Primitive handling needs updates cox
- Toolbar handling and placing in sketcher workbench should be persistent [can't reproduce any inconsistency]
- Primitive task dialog ok/cancel handling is wrong for bad references [fixed]
- Sketch highlighting does not always work when selected from the tree [fixed]
- Origin (and planes/lines inside) should not be deletable [fixed]
- deleting part or body shoud delete all subcomponents [fixed]
- Add Body / Part tools should omit the word "feature" [fixed]
- Pipe tool orientation is sometimes wrong manderson [fixed]
- sketch placement sometime is broken. kwahoo [fixed]
tanderson, deepsoic and myself (and of course jreihnlaender with the initial implementation) have put quite some work into the upcoming part design workbench and I would now like some feedback on the current state of the workflow. Apart from the loft feature, which is still missing, I consider the work-flow pretty much done, but I have the feeling that I need some fresh eyes. I'm sure there are many obvious thing I just don't recognize anymore. Hence I would like to hear your feedback. It is important to get this now as once we have started with the document migration tool all tool properties etc. are fixed, so big changes need to happen now. (and I have time over the weekend and want to work on finalizing the workbench)
* Are there any obvious bugs?
* Is the workflow intuitive or do you have no idea how to handle the new part design?
* Any counterintuitive things, workflows?
* Any regressions to current part design modeling?
Please note that the transformation is not yet done, therefore this is known and should be considered:
*Documents done with any other versions may not be loaded or at least wont be transformed to the new part design structure
*Part tools don't recognize the active part object
*documents saved now may not be editable in future versions
I would highly value input! Here you find the code:
https://github.com/blobfish/FreeCAD_sf_ ... baseMaster
The compiled windows version is provided by sgrogan, thanks!
Stefan
EDIT: Reported Issues
- Crash reports: drei [fixed] triplus [fixed] bejant [fixed] Fat-Zer [fixed second one]manderson [fixed]
- Hole feature is not ported [fixed]
- Shaft Wizard is not ported[fixed]
- Pipe icon in the pipe task dialog is not available [fixed]
- part design unit test fails
- New part command is missing Form the task Dialog when opening a New file [fixed]
- Creating of part when switching to part design is too automatic and not very freecadish
- Primitive handling needs updates cox
- Toolbar handling and placing in sketcher workbench should be persistent [can't reproduce any inconsistency]
- Primitive task dialog ok/cancel handling is wrong for bad references [fixed]
- Sketch highlighting does not always work when selected from the tree [fixed]
- Origin (and planes/lines inside) should not be deletable [fixed]
- deleting part or body shoud delete all subcomponents [fixed]
- Add Body / Part tools should omit the word "feature" [fixed]
- Pipe tool orientation is sometimes wrong manderson [fixed]
- sketch placement sometime is broken. kwahoo [fixed]
Last edited by ickby on Sun Apr 03, 2016 7:41 am, edited 17 times in total.
Re: Test Request: Part Design Workflow
ickby,
I'm getting compiler error when running
Attached is the entire make log, though I'll post below the most prominent warnings.
Summary:
My system:
Regards,
Isaac
I'm getting compiler error when running
Code: Select all
make -j4
Summary:
- Warnings about needing to set compiler to use c++11 flags. Any idea how and where I can do that?
- Error at 26%
Code: Select all
[ 26%] Generating moc_DlgCheckableMessageBox.cpp /home/isaac/Programs/FreeCAD/part-design-src/src/Gui/DlgCheckableMessageBox.h:54: Warning: Property declaration prefEntry has no READ accessor function. The property will be invalid.
- Warning at 35%
Code: Select all
[ 35%] Building CXX object src/Gui/CMakeFiles/FreeCADGui.dir/Application.cpp.o In file included from /usr/include/eigen3/Eigen/Core:373:0, from /usr/include/eigen3/Eigen/LeastSquares:11, from /home/isaac/Programs/FreeCAD/part-design-src/src/Mod/Mesh/App/Core/Approximation.cpp:59: /usr/include/eigen3/Eigen/Eigen2Support:20:2: warning: #warning "Eigen2 support is deprecated in Eigen 3.2.x and it will be removed in Eigen 3.3. (Define EIGEN_NO_EIGEN2_DEPRECATED_WARNING to disable this warning)" [-Wcpp] #warning "Eigen2 support is deprecated in Eigen 3.2.x and it will be removed in Eigen 3.3. (Define EIGEN_NO_EIGEN2_DEPRECATED_WARNING to disable this warning)"
- Warning at 36%
Code: Select all
[ 36%] Building CXX object src/Mod/Part/App/CMakeFiles/Part.dir/FeaturePartSpline.cpp.o /home/isaac/Programs/FreeCAD/part-design-src/src/Gui/Document.cpp: In member function ‘void Gui::Document::createView(const Base::Type&)’: /home/isaac/Programs/FreeCAD/part-design-src/src/Gui/Document.cpp:990:40: warning: range-based ‘for’ loops only available with -std=c++11 or -std=gnu++11 for(App::DocumentObject* obj : child_vps)
- Warning at 45%
Code: Select all
[ 45%] Building CXX object src/Mod/Part/App/CMakeFiles/Part.dir/CylinderPyImp.cpp.o /home/isaac/Programs/FreeCAD/part-design-src/src/Gui/CommandDoc.cpp: In member function ‘virtual void StdCmdDelete::activated(int)’: /home/isaac/Programs/FreeCAD/part-design-src/src/Gui/CommandDoc.cpp:1089:38: error: ISO C++ forbids declaration of ‘currentLabel’ with no type [-fpermissive] for (const auto ¤tLabel : affectedLabels) ^ /home/isaac/Programs/FreeCAD/part-design-src/src/Gui/CommandDoc.cpp:1089:53: warning: range-based ‘for’ loops only available with -std=c++11 or -std=gnu++11 for (const auto ¤tLabel : affectedLabels) ^ src/Gui/CMakeFiles/FreeCADGui.dir/build.make:1745: recipe for target 'src/Gui/CMakeFiles/FreeCADGui.dir/CommandDoc.cpp.o' failed make[2]: *** [src/Gui/CMakeFiles/FreeCADGui.dir/CommandDoc.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... [ 45%] Building CXX object src/Mod/Part/App/CMakeFiles/Part.dir/SpherePyImp.cpp.o CMakeFiles/Makefile2:3127: recipe for target 'src/Gui/CMakeFiles/FreeCADGui.dir/all' failed make[1]: *** [src/Gui/CMakeFiles/FreeCADGui.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs....
- Fails to compile at 49% with the following message:
Code: Select all
Linking CXX shared library ../../../../Mod/Part/Part.so [ 49%] Built target Part Makefile:116: recipe for target 'all' failed make: *** [all] Error 2
Code: Select all
cmake ../part-design-src -DPYTHON_EXECUTABLE=/usr/bin/python2 -DFREECAD_USE_EXTERNAL_PIVY=1 -DBUILD_FEM=1 -DBUILD_CAM=0 -DBUILD_COMPLETE=0 -DBUILD_IMAGE=1 -DBUILD_INSPECTION=0 -DBUILD_OPENSCAD=0 -DBUILD_PLOT=1 -DBUILD_POINTS=0 -DBUILD_REVERSEENGINEERING=0 -DBUILD_SHIP=0 -DBUILD_ROBOT=0 -DBUILD_SPREADSHEET=1 -DBUILD_ASSEMBLY=0 -DCMAKE_BUILD_TYPE=Debug -DFREECAD_USE_3DCONNEXION=0 -DBUILD_FEM_NETGEN=0 -
Code: Select all
-`
.o+` isaac@Arch
`ooo/ OS: Arch Linux
`+oooo: Kernel: x86_64 Linux 4.0.4-2-ARCH
`+oooooo: Uptime: 3h 1m
-+oooooo+: Packages: 849
`/:-:++oooo+: Shell: bash 4.3.39
`/++++/+++++++: Resolution: 1366x768
`/++++++++++++++: DE: KDE5
`/+++ooooooooooooo/` WM: KWin
./ooosssso++osssssso+` GTK Theme: Orion [GTK2], Orion [GTK3]
.oossssso-````/ossssss+` Icon Theme: breeze
-osssssso. :ssssssso. Font: Montserrat Regular
:osssssss/ osssso+++. CPU: Intel Core i5-3337U CPU @ 2.7GHz
/ossssssss/ +ssssooo/- RAM: 3404MB / 7871MB
`/ossssso+/:- -:/+osssso+-
`+sso+:-` `.-/+oso:
`++:. `-/+/
.` `/
Isaac
- Attachments
-
- make_error_log.txt.zip
- (67.65 KiB) Downloaded 186 times
Need help? Feel free to ask, but please read the guidelines first
Re: Test Request: Part Design Workflow
ahh thanks for reporting, totally forgot about that one! I have pushed a fix, it should work now
Re: Test Request: Part Design Workflow
Hi,
I managed to compile on Ubuntu 14.04 64 bits :
In cmake-gui I have set std=c++0x to CMAKE_CXX_FLAGS
And I enable Assembly module.
I have some warnings like Drei.
Excuse my noob question, where can I get the logs ? the history of terminal don't have all the warning.
Going to try new Part Design WB
I managed to compile on Ubuntu 14.04 64 bits :
In cmake-gui I have set std=c++0x to CMAKE_CXX_FLAGS
And I enable Assembly module.
I have some warnings like Drei.
Excuse my noob question, where can I get the logs ? the history of terminal don't have all the warning.
Going to try new Part Design WB
Formations - Assistance - Développement : https://freecad-france.com
Re: Test Request: Part Design Workflow
New errors appear with
I changed cmake flags to
Summary:
and then I'll attempt to do it again. Are there any specific workbenches that the new PartDesign relies on?
Code: Select all
make -j4
Code: Select all
cmake ../part-design-src -DPYTHON_EXECUTABLE=/usr/bin/python2 -DFREECAD_USE_EXTERNAL_PIVY=1 -DBUILD_FEM=1 -DBUILD_CAM=0 -DBUILD_COMPLETE=0 -DBUILD_IMAGE=1 -DBUILD_INSPECTION=0 -DBUILD_OPENSCAD=0 -DBUILD_PLOT=1 -DBUILD_POINTS=0 -DBUILD_REVERSEENGINEERING=0 -DBUILD_SHIP=0 -DBUILD_ROBOT=0 -DBUILD_SPREADSHEET=1 -DBUILD_ASSEMBLY=1 -DCMAKE_BUILD_TYPE=Debug -DFREECAD_USE_3DCONNEXION=0 -DBUILD_FEM_NETGEN=0
- Error at 47%
Code: Select all
[ 47%] Built target MeshPart Linking CXX shared library ../../../../Mod/Import/Import.so /usr/bin/ld: cannot find -lAssembly collect2: error: ld returned 1 exit status src/Mod/Import/App/CMakeFiles/Import.dir/build.make:299: recipe for target 'Mod/Import/Import.so' failed make[2]: *** [Mod/Import/Import.so] Error 1 CMakeFiles/Makefile2:2622: recipe for target 'src/Mod/Import/App/CMakeFiles/Import.dir/all' failed make[1]: *** [src/Mod/Import/App/CMakeFiles/Import.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs....
- Failure at 68%
Code: Select all
Linking CXX shared library ../../lib/libFreeCADGui.so [ 68%] Built target FreeCADGui Makefile:116: recipe for target 'all' failed make: *** [all] Error 2
Code: Select all
make clean
Need help? Feel free to ask, but please read the guidelines first
Re: Test Request: Part Design Workflow
Not realy, only Part and Sketcher! It seem you build assembly workbench, maybe try disabling that as it is useless anyway.and then I'll attempt to do it again. Are there any specific workbenches that the new PartDesign relies on?
- DeepSOIC
- Veteran
- Posts: 7896
- Joined: Fri Aug 29, 2014 12:45 am
- Location: used to be Saint-Petersburg, Russia
Re: Test Request: Part Design Workflow
word censored, I'm late with transferring datum planes to my new mapping functionality. Anyway, don't wait for me. I will have to make a porting tool, then.
Re: Test Request: Part Design Workflow
ickby,
New errors, attached is the entire log.
cmake flags:
Summary:
New errors, attached is the entire log.
cmake flags:
Code: Select all
cmake ../part-design-src -DPYTHON_EXECUTABLE=/usr/bin/python2 -DFREECAD_USE_EXTERNAL_PIVY=1 -DBUILD_FEM=1 -DBUILD_CAM=0 -DBUILD_COMPLETE=0 -DBUILD_IMAGE=1 -DBUILD_INSPECTION=0 -DBUILD_OPENSCAD=0 -DBUILD_PLOT=1 -DBUILD_POINTS=0 -DBUILD_REVERSEENGINEERING=0 -DBUILD_SHIP=0 -DBUILD_ROBOT=0 -DBUILD_SPREADSHEET=1 -DBUILD_ASSEMBLY=0 -DCMAKE_BUILD_TYPE=Debug -DFREECAD_USE_3DCONNEXION=0 -DBUILD_FEM_NETGEN=0
Summary:
- Warning and note at 15%
Code: Select all
[ 15%] Building CXX object src/Base/CMakeFiles/FreeCADBase.dir/Quantity.cpp.o In file included from /home/isaac/Programs/FreeCAD/part-design-src/src/Base/Quantity.cpp:298:0: QuantityLexer.c:112:0: warning: "YY_NULL" redefined In file included from /home/isaac/Programs/FreeCAD/part-design-src/src/Base/Quantity.cpp:294:0: QuantityParser.c:84:0: note: this is the location of the previous definition
- Warning at 22%
Code: Select all
[ 22%] Building CXX object src/App/CMakeFiles/FreeCADApp.dir/PropertyFile.cpp.o /home/isaac/Programs/FreeCAD/part-design-src/src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshEditor.cpp: In member function ‘SMESH_MeshEditor::Sew_Error SMESH_MeshEditor::SewFreeBorder(const SMDS_MeshNode*, const SMDS_MeshNode*, const SMDS_MeshNode*, const SMDS_MeshNode*, const SMDS_MeshNode*, const SMDS_MeshNode*, bool, bool, bool)’: /home/isaac/Programs/FreeCAD/part-design-src/src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshEditor.cpp:6013:35: warning: narrowing conversion of ‘nSide[0].std::list<_Tp, _Alloc>::size<const SMDS_MeshNode*, std::allocator<const SMDS_MeshNode*> >()’ from std::list<const SMDS_MeshNode*>::size_type {aka long unsigned int}’ to ‘int’ inside { } [-Wnarrowing] int nbNodes[] = { nSide[0].size(), nSide[1].size() }; ^ /home/isaac/Programs/FreeCAD/part-design-src/src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshEditor.cpp:6013:52: warning: narrowing conversion of ‘nSide[1].std::list<_Tp, _Alloc>::size<const SMDS_MeshNode*, std::allocator<const SMDS_MeshNode*> >()’ from std::list<const SMDS_MeshNode*>::size_type {aka long unsigned int}’ to ‘int’ inside { } [-Wnarrowing] int nbNodes[] = { nSide[0].size(), nSide[1].size() };
- Warning at 25%
Code: Select all
[ 25%] Generating moc_DlgCheckableMessageBox.cpp /home/isaac/Programs/FreeCAD/part-design-src/src/Gui/DlgCheckableMessageBox.h:54: Warning: Property declaration prefEntry has no READ accessor function. The property will be invalid.
- Warning at 36% about Eigen
Code: Select all
[ 36%] Building CXX object src/Mod/Mesh/App/CMakeFiles/Mesh.dir/Core/Approximation.cpp.o In file included from /usr/include/eigen3/Eigen/Core:373:0, from /usr/include/eigen3/Eigen/LeastSquares:11, from /home/isaac/Programs/FreeCAD/part-design-src/src/Mod/Mesh/App/Core/Approximation.cpp:59: /usr/include/eigen3/Eigen/Eigen2Support:20:2: warning: #warning "Eigen2 support is deprecated in Eigen 3.2.x and it will be removed in Eigen 3.3. (Define EIGEN_NO_EIGEN2_DEPRECATED_WARNING to disable this warning)" [-Wcpp] #warning "Eigen2 support is deprecated in Eigen 3.2.x and it will be removed in Eigen 3.3. (Define EIGEN_NO_EIGEN2_DEPRECATED_WARNING to disable this warning)"
- Error at 74%
Code: Select all
[ 74%] Building CXX object src/Mod/Fem/App/CMakeFiles/Fem.dir/FemConstraint.cpp.o /usr/bin/ld: cannot find -lAssembly collect2: error: ld returned 1 exit status src/Mod/Import/App/CMakeFiles/Import.dir/build.make:299: recipe for target 'Mod/Import/Import.so' failed make[2]: *** [Mod/Import/Import.so] Error 1 CMakeFiles/Makefile2:2622: recipe for target 'src/Mod/Import/App/CMakeFiles/Import.dir/all' failed make[1]: *** [src/Mod/Import/App/CMakeFiles/Import.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs....
- Failure at 75%
Code: Select all
Linking CXX shared library ../../../../Mod/Spreadsheet/SpreadsheetGui.so [ 75%] Built target SpreadsheetGui Makefile:116: recipe for target 'all' failed make: *** [all] Error 2
- Attachments
-
- make_error_log02.txt.zip
- (106.48 KiB) Downloaded 98 times
Need help? Feel free to ask, but please read the guidelines first
Re: Test Request: Part Design Workflow
New try,
what I did:
Summary:
It seems there ae problems with the Import.so file and some searches for -lAssembly (no idea what this is).
And for some weird reason, it still builds the Spreadsheet module even though I set tha flag off.
what I did:
Code: Select all
make clean
cmake ../part-design-src -DPYTHON_EXECUTABLE=/usr/bin/python2 -DFREECAD_USE_EXTERNAL_PIVY=1 -DBUILD_FEM=0 -DBUILD_CAM=0 -DBUILD_COMPLETE=0 -DBUILD_IMAGE=1 -DBUILD_INSPECTION=0 -DBUILD_OPENSCAD=0 -DBUILD_PLOT=0 -DBUILD_POINTS=0 -DBUILD_REVERSEENGINEERING=0 -DBUILD_SHIP=0 -DBUILD_ROBOT=0 -DBUILD_SPREADSHEET=0 -DBUILD_ASSEMBLY=0 -DCMAKE_BUILD_TYPE=Debug -DFREECAD_USE_3DCONNEXION=0 -DBUILD_FEM_NETGEN=0
make -j4 >> log.txt
Code: Select all
In file included from /home/isaac/Programs/FreeCAD/part-design-src/src/Base/Quantity.cpp:298:0:
QuantityLexer.c:112:0: warning: "YY_NULL" redefined
In file included from /home/isaac/Programs/FreeCAD/part-design-src/src/Base/Quantity.cpp:294:0:
QuantityParser.c:84:0: note: this is the location of the previous definition
/home/isaac/Programs/FreeCAD/part-design-src/src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshEditor.cpp: In member function ‘SMESH_MeshEditor::Sew_Error SMESH_MeshEditor::SewFreeBorder(const SMDS_MeshNode*, const SMDS_MeshNode*, const SMDS_MeshNode*, const SMDS_MeshNode*, const SMDS_MeshNode*, const SMDS_MeshNode*, bool, bool, bool)’:
/home/isaac/Programs/FreeCAD/part-design-src/src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshEditor.cpp:6013:35: warning: narrowing conversion of ‘nSide[0].std::list<_Tp, _Alloc>::size<const SMDS_MeshNode*, std::allocator<const SMDS_MeshNode*> >()’ from
std::list<const SMDS_MeshNode*>::size_type {aka long unsigned int}’ to ‘int’ inside { } [-Wnarrowing]
int nbNodes[] = { nSide[0].size(), nSide[1].size() };
^
/home/isaac/Programs/FreeCAD/part-design-src/src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshEditor.cpp:6013:52: warning: narrowing conversion of ‘nSide[1].std::list<_Tp, _Alloc>::size<const SMDS_MeshNode*, std::allocator<const SMDS_MeshNode*> >()’ from
std::list<const SMDS_MeshNode*>::size_type {aka long unsigned int}’ to ‘int’ inside { } [-Wnarrowing]
int nbNodes[] = { nSide[0].size(), nSide[1].size() };
^
/home/isaac/Programs/FreeCAD/part-design-src/src/Gui/DlgCheckableMessageBox.h:54: Warning: Property declaration prefEntry has no READ accessor function. The property will be invalid.
In file included from /usr/include/eigen3/Eigen/Core:373:0,
from /usr/include/eigen3/Eigen/LeastSquares:11,
from /home/isaac/Programs/FreeCAD/part-design-src/src/Mod/Mesh/App/Core/Approximation.cpp:59:
/usr/include/eigen3/Eigen/Eigen2Support:20:2: warning: #warning "Eigen2 support is deprecated in Eigen 3.2.x and it will be removed in Eigen 3.3. (Define EIGEN_NO_EIGEN2_DEPRECATED_WARNING to disable this warning)" [-Wcpp]
#warning "Eigen2 support is deprecated in Eigen 3.2.x and it will be removed in Eigen 3.3. (Define EIGEN_NO_EIGEN2_DEPRECATED_WARNING to disable this warning)"
^
/usr/bin/ld: cannot find -lAssembly
collect2: error: ld returned 1 exit status
make[2]: *** [Mod/Import/Import.so] Error 1
make[1]: *** [src/Mod/Import/App/CMakeFiles/Import.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [all] Error 2
And for some weird reason, it still builds the Spreadsheet module even though I set tha flag off.
- Attachments
-
- make_error_log03.txt.zip
- (101.02 KiB) Downloaded 104 times
Need help? Feel free to ask, but please read the guidelines first
Re: Test Request: Part Design Workflow
Thanks for posting the log, this way I was able to find a dependency of the import module on the assembly workbench which was not very well handled in the cmake files. I did now disable that dependency, as the assembly workbench is useless. Please try again.