GithubHelp home page GithubHelp logo

fougue / mayo Goto Github PK

View Code? Open in Web Editor NEW
1.2K 50.0 251.0 25.78 MB

3D CAD viewer and converter based on Qt + OpenCascade

License: BSD 2-Clause "Simplified" License

C++ 97.36% QMake 0.74% Ruby 0.10% Batchfile 0.10% C 0.05% CMake 1.65%
cad opencascade iges step brep stl 3d-viewer 3d-graphics wavefront-obj meshviewer

mayo's People

Contributors

andrsd avatar huguesdelorme avatar luzpaz avatar neuoy avatar sliedes avatar victorlamoine avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mayo's Issues

Undefined reference to BSplCLib::MovePointAndTangent

  • Kubuntu 20.04
  • OpenCascade 7.5.0 compiled from source
  • Qt 5.12.8
export CSF_OCCTIncludePath=/home/victor/software/opencascade-7.5.0/install/include/opencascade/
export CSF_OCCTLibPath=/home/victor/software/opencascade-7.5.0/install/lib/
qmake ../src
git version 2.25.1
Project MESSAGE: Mayo version 0.3.0.605-cbee613 release
Project MESSAGE: Qt version 5.12.8
Project MESSAGE: OpenCascade version 7.5.0
Project MESSAGE: gmio OFF
make -j12
$ ./mayo 
./mayo: symbol lookup error: /lib/x86_64-linux-gnu/libTKG2d.so.7: undefined symbol: _ZN8BSplCLib19MovePointAndTangentEdRK8gp_Vec2dS2_dibiiRK18NCollection_Array1I8gp_Pnt2dERKS3_IdESA_RS5_Ri

$ c++filt _ZN8BSplCLib19MovePointAndTangentEdRK8gp_Vec2dS2_dibiiRK18NCollection_Array1I8gp_Pnt2dERKS3_IdESA_RS5_Ri
BSplCLib::MovePointAndTangent(double, gp_Vec2d const&, gp_Vec2d const&, double, int, bool, int, int, NCollection_Array1<gp_Pnt2d> const&, NCollection_Array1<double> const&, NCollection_Array1<double> const&, NCollection_Array1<gp_Pnt2d>&, int&)

Update 1

It's using system libraries (installed most probably because of FreeCAD) instead of the ones I have compiled:

find /home/victor/software/opencascade-7.5.0/ -name "*libTKG2d*"
/home/victor/software/opencascade-7.5.0/install/lib/libTKG2d.so
/home/victor/software/opencascade-7.5.0/install/lib/libTKG2d.so.7
/home/victor/software/opencascade-7.5.0/install/lib/libTKG2d.so.7.5.0
/home/victor/software/opencascade-7.5.0/build/lin64/gcc/lib/libTKG2d.so
/home/victor/software/opencascade-7.5.0/build/lin64/gcc/lib/libTKG2d.so.7
/home/victor/software/opencascade-7.5.0/build/lin64/gcc/lib/libTKG2d.so.7.5.0

NEW BEE REQUEST

Please upload any video ,process for this project to be integration with opencascade7.4..please understand my situation as iam new bee to coding

steps i done
1.Install and able to built open cascade with vs2017 without any issues

compile error!

There are two compile error. Win10, qt5.10, vs2017, occt7.3

qt_utils.obj: error: LNK2019: unresolved external symbol "public: __cdecl TCollection_ExtendedString::TCollection_ExtendedString(char16_t const * const)" (??0TCollection_ExtendedString@@qeaa@QEB_S@Z) referenced in function "public: static class TCollection_ExtendedString __cdecl occ::QtUtils::toOccExtendedString(class QString const &)" (?toOccExtendedString@QtUtils@occ@@sa?AVTCollection_ExtendedString@@AEBVQString@@@z)

qt_utils.obj: error: LNK2019: unresolved external symbol "public: char16_t const * __cdecl TCollection_ExtendedString::ToExtString(void)const " (?ToExtString@TCollection_ExtendedString@@QEBAPEB_SXZ) referenced in function "public: static class QString __cdecl occ::QtUtils::toQString(class TCollection_ExtendedString const &)" (?toQString@QtUtils@occ@@sa?AVQString@@AEBVTCollection_ExtendedString@@@z)

Migrate to CMake

Current build system is QMake and it's still there for Qt6.
In the long-term the Mayo project should migrate to CMake

Display quantities according to a unit system

Quantities such as lengths, areas, volumes, and so on should be displayed according to a current unit system. The latter can be chosen by the user in the options dialog.
As as starter, provide SI and ImperialUK unit systems.

Setup Travis CI for build AppImage (portable binary package for Linux)

Lets setup Travis CI for auto-build AppImage (portable package for Linux) for each commit:

  1. Create ../blob/master/.travis.yml
  2. https://github.com/appimage/AppImageKit
    1.1. https://github.com/probonopd/linuxdeployqt
    1.2 https://github.com/linuxdeploy
  3. https://github.com/probonopd/uploadtool
  4. Enable Travis CI pushing to GitHub releases for this repo.

For example, take a look on LeoCAD .travis.yml implementation:

And here is how resulted builds would look like:

For any AppImage packaging questions & support:

Selection in 3D graphics

The entities selected in the application tree should also appear selected in the 3D graphics.
Also make this interaction works in the other sense : when the user selects some items in the 3D view then update selection in the application tree accordingly.

Build on macOS Big Sur fails unless QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.14

Without setting the MacOS version equal to or higher than 10.14, the build fails because certain std::variant functionalities were not available before 10.14.
Specifically, in occ_static_variables_rollback.cpp, the std::get<T>(record.value) in lines 97, 99, 101 throws an error message " occ_static_variables_rollback.cpp:97:71: error: 'get<int, int, double, std::__1::basic_string >' is unavailable: introduced in macOS 10.14
variant:1394:22: note: 'get<int, int, double, std::__1::basic_string >' has been explicitly marked unavailable here"

This can be fixed by updating mayo.pro with

macx {
    QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.14
}

Show/hide inner document tree nodes

Provide the possibility to show/hide document sub tree nodes(tree nodes below entity roots) in the "Model tree" panel.
For example this would be a nice to have for XCAF entities like STEP assembly : show/hide a component, an instance, ...
For XCAF the usage of AIS_ColoredDrawer::SetHidden() seems the way to go.

Display the visibility status with a checkbox in the "Model tree" panel

info request where to find the current loaded drawing information.

Hi,

Excellent program !! I am able to compile it on linux debian buster through changing some include paths.

Trough the code complexity i can't really find how to retrieve positions of current loaded drawing parts. In my case a 6 axis robot in step file format. I would suspect some data array's, structs, or vector array's somewhere. But i am unable to find them.

I want to be able to rotate the parts, and translate them. It sounds quite easy. I can make buttons and sliders already in the program side tab. The slot and signals don't work, but i can connect them manually, no problem.

https://raw.githubusercontent.com/grotius-cnc/mayo/develop/mayo.png

Just imagine your program working as RoKiSim, this is a basic robot simulator, but then connected to real hardware by the hal layer of Ethercat RTos. See my reprository. It can also be connected to linuxcnc.

Is it possible to write some tiny header file for me that can be used for this job?
A few lines of code that are pointing out how to get the info out of the drawing would be perfect !

Convert mouse position to world coordinates

hi;
the V3dView_to3dPosition function works only if there is an object under the mouse cursor, but when its an empty space (false only in perspective views) the coordinates are not correct?

Display 3D mouse position in active view

As mouse is moving in the active 3D view, show the coords of the "projected" 3D mouse position aside the GUI document selector.
When a graphical object (eg AIS_Shape) is hovered then show the coords of the "picked" mouse point on the object, otherwise show the mouse position projected on a plane centered at the origin.

Ambiguous call to QLocale::toString()

Version a8cd9ad

  • Kubuntu 20.04
  • gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)
  • Qt 5.12.8
  • OpenCascade 7.50
  • gmio OFF
../src/src/base/string_utils.cpp: In static member function ‘static QString Mayo::StringUtils::bytesText(uint64_t, const QLocale&)’:
../src/src/base/string_utils.cpp:97:56: error: call of overloaded ‘toString(uint64_t&)’ is ambiguous
   97 |         return tr("%1%2").arg(locale.toString(sizeBytes), tr("B"));
      |                                                        ^

Load/save options from/to INI file

Add exchange feature in Options dialog.
This should allow to :

  • Load options from INI file
  • Save options to INI file

This includes also to load INI file at application startup with a new command line option named --settings <filepath>

The INI format is a human readable text-based format as provided with QSettings::IniFormat
Make sure stored values in the INI file are strings (ie beware of QVariant serialization)

Support reading glTF files

OpenCascade v7.4.0 introduced support of the glTF format for reading.
Make use of that new capability

STEP and IGES assemblies support

Support defined colors in the 3D graphics view.
Also populate the construction tree structure with the assemblies.

This is all about supporting CAF documents.

UTF-8 part name

Not sure if related to OpenCascade or Mayo but the part name displayed in Mayo does not support UTF-8 while the document name does:
image

I have noticed OpenCascade 7.5.0 brings some UTF-8 improvements but for writing files.

Port to OpenCascade v7.5.0

OpenCascade released v7.5.0 on 9 november 2020(see announcement)
Adapt Mayo source code to support that version as well(and keep compatibility with v7.3.0 and v7.4.0)

Build Error

Hi,
What is the "(n)make" command?
It's a simple "make"? I run "make" (mingw32-make.exe) and there are errors due to Tab spaces.
"Makefile.Release:516: *** missing separator. Stop. " so I fix it by adding a tab.
But there is a new error and I don't know how to fix it. "*** [Makefile.Release:514: {src\base}.cpp{release}.obj] Error 1"

If I run "nmake" instead of "make", I get this error:
"-DNDEBUG -fo release\mayo_resource.res mayo_resource.rc
'rc' is not recognized as an internal or external command,
operable program or batch file.
NMAKE : fatal error U1077: 'rc' : return code '0x1'"

Thanks

Little question about displaying the step file colors with opencascade

Hi,

The robot program is now working and tested oke realtime with motors.
https://github.com/grotius-cnc/Skynet_Robot_Control_Rtos_Ethercat

Can you please point me in the right direction?
My last thing to solve is to display the step file colors as in mayo. After many hours i did not succeed. I thought maybe i can ask over here. Excuse me if you see this as polution of your repro.

Here is a piece of code that displays the robot. Maybe you can look at it, and have an idea or example to display the colors. Thanks a lot !

` Handle(TDocStd_Document) doc;

STEPCAFControl_Reader aReader; //https://old.opencascade.com/content/getting-part-properties-form-iges-file
aReader.SetColorMode(true);
aReader.SetNameMode(true);
aReader.SetLayerMode(true);
aReader.ReadFile("KR6_KR10_R900.stp");
doc = new TDocStd_Document("StepReader");
aReader.Transfer(doc);

// Assembly = XCAFDoc_DocumentTool::ShapeTool(doc->Main());

Handle(XCAFDoc_ShapeTool) Assembly = XCAFDoc_DocumentTool::ShapeTool(doc->Main());
TDF_LabelSequence frshapes;
Assembly->GetShapes(frshapes);
TopoDS_Shape shape = Assembly->GetShape(frshapes.Value(1));
Handle(AIS_Shape) ais_shape = new AIS_Shape(shape);

//get a label of shape.
TDF_Label aLabel;
aLabel = Assembly->FindShape(shape);

Handle(XCAFDoc_ColorTool) myColors = XCAFDoc_DocumentTool::ColorTool(doc->Main());

//TDF_LabelSequence ColLabels;
//myColors->GetColors(ColLabels);

Quantity_Color col;
XCAFDoc_ColorType ctype;
myColors->GetColor(aLabel,ctype,col);

ais_shape->SetColor(col);

m_context->Display(ais_shape,0);
m_view->Redraw();`

Support writing glTF files

OpenCascade v7.5.0 introduced support of the glTF format for writing(see class RWGltf_CafWriter)
Make use of that new capability

How debug the application

Hi,
which are the steps to debug the application?
Ide: Microsoft visual studio 2017
I click on "Open a project or solution" and...
I have to select a file from these formats .sln, .dsw , .vcv
Where I can found it?

Thanks

Mayo software run issue

Hi, I'm not sure i fully understood, how do i enter the actual program.
I've installed Mayo, OpenCascade and i have Qt.
What is the actual run program? do i need to run something from the Qt or from console?

build with VS2019

when i build the project with Opencascade7.5 + Qt5.12 + VS2019, there are 9 errors :
错误 LNK2019 无法解析的外部符号 "public: static class std::unique_ptr<class Mayo::PropertyGroup,struct std::default_delete > __cdecl Mayo::IO::OccGltfReader::createProperties(class Mayo::PropertyGroup *)" (?createProperties@OccGltfReader@IO@Mayo@@sa?AV?$unique_ptr@VPropertyGroup@Mayo@@U?$default_delete@VPropertyGroup@Mayo@@@std@@@std@@PEAVPropertyGroup@3@@z),函数 "public: virtual class std::unique_ptr<class Mayo::PropertyGroup,struct std::default_delete > __cdecl Mayo::IO::OccFactoryReader::createProperties(struct Mayo::IO::Format const &,class Mayo::PropertyGroup *)const " (?createProperties@OccFactoryReader@IO@Mayo@@ueba?AV?$unique_ptr@VPropertyGroup@Mayo@@U?$default_delete@VPropertyGroup@Mayo@@@std@@@std@@AEBUFormat@23@PEAVPropertyGroup@3@@z) 中引用了该符号 mayo C:\Users\Administrator\Desktop\Qt\mayo-ci-occ7.5\io_occ.obj 1

please help me

Support reading of Collada files

This is already supported by FreeCAD, so I think that OpenCascade might already support this. I think is useful to export from STEP (CAD files) to Blender (for rendering) without relying on FreeCAD.

Support writing image files

Implement image export as a sub-class of Mayo::IO::Writer
This will allow to render model tree nodes into an offscreen and then write that to an image file.

Parameters :

  • Format (PNG, JPEG, ...)
  • Width x height
  • Compression/quality(when applicable)
  • Background
  • View orientation

Color by surface

Hi, I'm trying to add these new features for .stp files (color by surface) and I'm following these instructions:

The "labelCube" in your example is the root of the model tree or a field in the step file?
In the second case, the step file must have a structure by shape?
For example, this is my step file

Compile error

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.1 LTS
Release:	20.04
Codename:	focal
$ g++ --version
g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0

opencascade-7.4.0 compiled + installed from source

mkdir -p $HOME/software/mayo/build
cd $HOME/software/mayo/
git clone https://github.com/fougue/mayo.git src
cd build
export CSF_OCCTIncludePath=/usr/local/include/opencascade/
export CSF_OCCTLibPath=/usr/local/lib/
qmake ../src
make -j4
$ git status 
Sur la branche develop
Votre branche est à jour avec 'origin/develop'.

rien à valider, la copie de travail est propre

Compile error:

$ make -j12
g++ -c -pipe -std=c++17 -O2 -std=gnu++1z -Wall -W -D_REENTRANT -fPIC -DHAVE_CONFIG_H -DHAVE_FSTREAM -DHAVE_IOSTREAM -DHAVE_IOMANIP -DHAVE_LIMITS_H -DOCCT_HANDLE_NOCAST -DLIN -DLININTEL -DOCC_CONVERT_SIGNALS -D_OCC64 -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../src -I. -Isrc/app -I../src/src/app -I../src/src/3rdparty -isystem /usr/local/include/opencascade -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o io_occ_step.o ../src/src/base/io_occ_step.cpp
../src/src/base/io_occ_step.cpp:66:50: error: call to ‘static QString Mayo::IO::OccStepReader::Properties::tr(const char*, const char*, int)’ uses the default argument for parameter 2, which is not yet defined
   66 |              "`life_cycle_stage` set to `design`") },
      |                                                  ^
../src/src/base/io_occ_step.cpp:69:52: error: call to ‘static QString Mayo::IO::OccStepReader::Properties::tr(const char*, const char*, int)’ uses the default argument for parameter 2, which is not yet defined
   69 |              "`life_cycle_stage` set to `analysis`") },
      |                                                    ^
../src/src/base/io_occ_step.cpp:70:82: error: call to ‘static QString Mayo::IO::OccStepReader::Properties::tr(const char*, const char*, int)’ uses the default argument for parameter 2, which is not yet defined
   70 |         { int(ProductContext::Both), textId("Both"), tr("Translates all products") }
      |                                                                                  ^
../src/src/base/io_occ_step.cpp:71:5: error: could not convert ‘{{((int)Mayo::IO::OccStepReader::ProductContext::Design), Mayo::IO::OccStepReader::Properties::textId(const char*)(), <expression error>}, {((int)Mayo::IO::OccStepReader::ProductContext::Analysis), Mayo::IO::OccStepReader::Properties::textId(const char*)(), <expression error>}, {((int)Mayo::IO::OccStepReader::ProductContext::Both), Mayo::IO::OccStepReader::Properties::textId(const char*)(), <expression error>}}’ from ‘<brace-enclosed initializer list>’ to ‘const Mayo::Enumeration’
   71 |     };
      |     ^
      |     |
      |     <brace-enclosed initializer list>
../src/src/base/io_occ_step.cpp:76:41: error: call to ‘static QString Mayo::IO::OccStepReader::Properties::tr(const char*, const char*, int)’ uses the default argument for parameter 2, which is not yet defined
   76 |              "(not with sub-assemblies)") },
      |                                         ^
../src/src/base/io_occ_step.cpp:80:79: error: call to ‘static QString Mayo::IO::OccStepReader::Properties::tr(const char*, const char*, int)’ uses the default argument for parameter 2, which is not yet defined
   80 |              "applications requiring specialized processing of assembly parts") },
      |                                                                               ^
../src/src/base/io_occ_step.cpp:84:71: error: call to ‘static QString Mayo::IO::OccStepReader::Properties::tr(const char*, const char*, int)’ uses the default argument for parameter 2, which is not yet defined
   84 |              "with specific product, as a complement to assembly mode") },
      |                                                                       ^
../src/src/base/io_occ_step.cpp:88:65: error: call to ‘static QString Mayo::IO::OccStepReader::Properties::tr(const char*, const char*, int)’ uses the default argument for parameter 2, which is not yet defined
   88 |              "all of them are read and put in a single compound") }
      |                                                                 ^
../src/src/base/io_occ_step.cpp:89:5: error: could not convert ‘{{((int)Mayo::IO::OccStepReader::AssemblyLevel::Assembly), Mayo::IO::OccStepReader::Properties::textId(const char*)(), <expression error>}, {((int)Mayo::IO::OccStepReader::AssemblyLevel::Structure), Mayo::IO::OccStepReader::Properties::textId(const char*)(), <expression error>}, {((int)Mayo::IO::OccStepReader::AssemblyLevel::Shape), Mayo::IO::OccStepReader::Properties::textId(const char*)(), <expression error>}, {((int)Mayo::IO::OccStepReader::AssemblyLevel::All), Mayo::IO::OccStepReader::Properties::textId(const char*)(), <expression error>}}’ from ‘<brace-enclosed initializer list>’ to ‘const Mayo::Enumeration’
   89 |     };
      |     ^
      |     |
      |     <brace-enclosed initializer list>
../src/src/base/io_occ_step.cpp:93:59: error: call to ‘static QString Mayo::IO::OccStepReader::Properties::tr(const char*, const char*, int)’ uses the default argument for parameter 2, which is not yet defined
   93 |           tr("Prefer `ADVANCED_BREP_SHAPE_REPRESENTATION`") },
      |                                                           ^
../src/src/base/io_occ_step.cpp:95:62: error: call to ‘static QString Mayo::IO::OccStepReader::Properties::tr(const char*, const char*, int)’ uses the default argument for parameter 2, which is not yet defined
   95 |           tr("Prefer `MANIFOLD_SURFACE_SHAPE_REPRESENTATION`") },
      |                                                              ^
../src/src/base/io_occ_step.cpp:97:75: error: call to ‘static QString Mayo::IO::OccStepReader::Properties::tr(const char*, const char*, int)’ uses the default argument for parameter 2, which is not yet defined
   97 |           tr("Prefer `GEOMETRICALLY_BOUNDED_SURFACE_SHAPE_REPRESENTATION`") },
      |                                                                           ^
../src/src/base/io_occ_step.cpp:99:59: error: call to ‘static QString Mayo::IO::OccStepReader::Properties::tr(const char*, const char*, int)’ uses the default argument for parameter 2, which is not yet defined
   99 |           tr("Prefer `FACETTED_BREP_SHAPE_REPRESENTATION`") },
      |                                                           ^
../src/src/base/io_occ_step.cpp:101:66: error: call to ‘static QString Mayo::IO::OccStepReader::Properties::tr(const char*, const char*, int)’ uses the default argument for parameter 2, which is not yet defined
  101 |           tr("Prefer `EDGE_BASED_WIREFRAME_SHAPE_REPRESENTATION`") },
      |                                                                  ^
../src/src/base/io_occ_step.cpp:103:77: error: call to ‘static QString Mayo::IO::OccStepReader::Properties::tr(const char*, const char*, int)’ uses the default argument for parameter 2, which is not yet defined
  103 |           tr("Prefer `GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION`") },
      |                                                                             ^
../src/src/base/io_occ_step.cpp:105:81: error: call to ‘static QString Mayo::IO::OccStepReader::Properties::tr(const char*, const char*, int)’ uses the default argument for parameter 2, which is not yet defined
  105 |           tr("Translate all representations (if more than one, put in compound)") },
      |                                                                                 ^
../src/src/base/io_occ_step.cpp:106:5: error: could not convert ‘{{((int)Mayo::IO::OccStepReader::ShapeRepresentation::AdvancedBRep), Mayo::IO::OccStepReader::Properties::textId(const char*)(), <expression error>}, {((int)Mayo::IO::OccStepReader::ShapeRepresentation::ManifoldSurface), Mayo::IO::OccStepReader::Properties::textId(const char*)(), <expression error>}, {((int)Mayo::IO::OccStepReader::ShapeRepresentation::GeometricallyBoundedSurface), Mayo::IO::OccStepReader::Properties::textId(const char*)(), <expression error>}, {((int)Mayo::IO::OccStepReader::ShapeRepresentation::FacettedBRep), Mayo::IO::OccStepReader::Properties::textId(const char*)(), <expression error>}, {((int)Mayo::IO::OccStepReader::ShapeRepresentation::EdgeBasedWireframe), Mayo::IO::OccStepReader::Properties::textId(const char*)(), <expression error>}, {((int)Mayo::IO::OccStepReader::ShapeRepresentation::GeometricallyBoundedWireframe), Mayo::IO::OccStepReader::Properties::textId(const char*)(), <expression error>}, {((int)Mayo::IO::OccStepReader::ShapeRepresentation::All), Mayo::IO::OccStepReader::Properties::textId(const char*)(), <expression error>}}’ from ‘<brace-enclosed initializer list>’ to ‘const Mayo::Enumeration’
  106 |     };
      |     ^
      |     |
      |     <brace-enclosed initializer list>
make: *** [Makefile:1697 : io_occ_step.o] Erreur 1

Compilation error C2766 "std::hash<QString>" already defined

Compiling mayo develop branch(as of 09th july 2020) gives the error :

.../mayo/src/3rdparty/fougtools/qttools/core/qstring_hfunc.h(38): error C2766: explicit specialization ; 'std::hash<QString>' already defined
.../include/QtCore/qhashfunctions.h(204): note: see previous definition of 'hash<QString>'

Compiler: Visual C++ 2017 x64
Qt: 5.14.2

Create an AppImage for Mayo

Would it be possible to do this so compiling wouldn't be necessary ?
this is also the way FreeCAD does it.

Support of 3D clip planes

The new UI will allow users to add/remove clip planes in the 3D view.
Capping is configurable : solid/hatch, color, material, ...

Color a single component

Hi,
I'm trying to add a new feature to the program. I would like to color a single selected item with the color I prefer.
Above all, I add this line:

 m_propertyReferredColor.setUserReadOnly(false);

In this way, I could choose the color.

Now I want to ask you this great favor.

  1. It is possible to change also the component's color in response to the changes in the properties I did?
  2. It is possible to make this change permanent? Because If I selected another component this change (the color I choose) disappears.

MinGW 8.1.0 not supported

Hi,

I just failed to compile mayo with the current MinGW 64 release 8.1.0.

Mayo uses the magic enum library. This library does not support the current MinGW release 8.1.0. The MinGW version 8.1.0 is also the version that ships with Qt. Because of this problem, it is not possible to build mayo with the current MinGW release.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.